1 (edytowany przez jzef 2026-07-08 09:02:52)

Temat: Backup OpenWrt 15.05.1

Od dawna uważałem iż jak zrobię kopię partycji mtd z linuxem - u mnie mtd4 to mam pełną kopię aby szybko przywrócić:

root@MOTION:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00020000 00020000 "CFE"
mtd1: 0011ab70 00020000 "kernel"
mtd2: 00ea5390 00020000 "rootfs"
mtd3: 00c80000 00020000 "rootfs_data"
mtd4: 00fc0000 00020000 "linux"
mtd5: 00020000 00020000 "nvram"

Kopię mam zrobioną tak:

dd if=/dev/mtd4 of=/tmp/linux_mtd4.bin

Ostatnio wziąłem się za motion bo wykrywał za dużo fałszywch ruchów, konfiguruję, testuję i sobie znowu zrobiłem kopię partycji mtd4
Chciałem sprawdzić jak miałem poustawiane poprzednio motion, więc otwieram plik linux_mtd4.bin w 7-zip, wchodzę do /etc a tam nie ma folderu motion i pliku motion.conf ??? Sprawdzam to samo w zrobionej dziś kopii mtd4 i tak samo nie ma folderu motion - co tu jest grane ?

Jak zrobię kopię ustawień z poziomu LuCI to też nie ma folderu ani pliku motion.conf ??

2

Odp: Backup OpenWrt 15.05.1

Partycja linux u Ciebie to Kernel + rootfs. Wiec brakuje ci rootfs-_data, na której trzymane są zmienione przez ciebie pliki.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez jzef 2026-07-08 09:28:26)

Odp: Backup OpenWrt 15.05.1

Czyli mam źle zrobioną kopię - nie pełną ???

Nie chce mi się szukać na forum starych tematów i moich postów ale byłem przekonany iż pytałem chyba kiedyś o to jak zrobić pełny backup i chyba ktoś na forum mi radził iż wystarczy zrobić kopię mtd4 z linux'em
Z tego co pamiętam jak przywracałem kika razy partycję mtd4 z kopi to wszystko działa OK ale znaczy że co - bo na innych partycjach mtd są dane ???

To ja cały czas od zawsze źle robię kopię OpenWrt na wypadek szybkiego przywrócenia i sama kopia partycji linux to nie jest pełna kopia ????

W mojej instrukcji którą sobie kiedyś zapisałem mam coś takiego:

Backup samych ustawień zrobisz przez LuCI do pliku backup-OpenWrt-'DATA'.tar.gz Są w nim pliki konfiguracyjne z katalogu /etc takie jak network, firewall itp. Ale ten backup nie robi kopii doinstalowanych pakietów, dlatego po skonfigurowaniu całego systemu najlepszą opcją jest wykonanie kopii partycji 'linux', która posłuży później do przywracania ustawień.  Aby zgrać tę partycję do pliku wchodzimy przez SSH na OpenWrt...

4

Odp: Backup OpenWrt 15.05.1

W ogóle to o jakim routerze piszesz? Bo czasami Linux czy firmware obejmuje komplet partycji usera. U ciebie akurat nie, tylko to co wygrywasz bez danych zmienionych.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5 (edytowany przez jzef 2026-07-08 11:37:18)

Odp: Backup OpenWrt 15.05.1

Cezary napisał/a:

W ogóle to o jakim routerze piszesz? Bo czasami Linux czy firmware obejmuje komplet partycji usera. U ciebie akurat nie, tylko to co wygrywasz bez danych zmienionych.

Huawei EchoLife HG553 z OpenWrt 15.05.1

To, że nie ma w backup-MOTION-2026-07-08.tar.gz to oczywiste bo motion nie ma domyślnie na liście w sysupgrade.conf

ale dlaczego nie ma w mtd4 - na milion % przez tyle lat byłem przekonany iż mtd4 zawiera wszystko.

6 (edytowany przez jzef 2026-07-08 12:43:12)

Odp: Backup OpenWrt 15.05.1

OK, pamięć mnie nie zawodzi i mam rację i mtd4 zawiera wszystko co trzeba tylko 7-Zip nie widzi wszystkiego w pliku .bin.

Cezary napisał/a:

Partycja linux u Ciebie to Kernel + rootfs. Wiec brakuje ci rootfs-_data...

Niestety nie masz racji bo `rootfs_data` jest w `rootfs` a ten jest w `linux`:

Oto co napisał mi Gemini:

Technicznie: Partycja mtd4 (linux) na Huawei HG553 obejmuje w tym modelu zarówno kernel (mtd1), jak i rootfs (mtd2). Wewnątrz rootfs znajduje się partycja rootfs_data (mtd3). Zatem robiąc dd z mtd4, zrzucasz fizycznie niemal całą zawartość flasha (oprócz bootloadera CFE i ustawień NVRAM). Wszystkie dane tam są.

7-Zip widzi tylko partycję squashfs a nie widzi partycji overlay JFFS2 i dlatego. Za pomocą narzędzi `binwalk` pod Linux można sprawdzić gdzie jest jaka partycja:

binwalk linux_mtd4.bin

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
1158256       0x11AC70        Squashfs filesystem, little endian, version 4.0, compression:xz, size: 2236464 bytes, 1007 inodes, blocksize: 262144 bytes, created: 2016-03-01 09:09:14
3407872       0x340000        JFFS2 filesystem, big endian

Jak otworzę plik `linux_mtd4.bin` w WinHex i wyszukam ciąg `motion` to znajduje mi kilkanaście wystąpień a pierwsze wystąpienie w offsecie 0x3B163C więc faktycznie na partycji JFFS2 która zaczyna się wcześniej w 0x340000 i to potwierdza iż motion jest w kopii.
W WinHex widać wyraźnie iż w offsecie 340000 zaczyna się partycja bo wcześniej są same zera:

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

0033FF80   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00                   
0033FF90   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00                   
0033FFA0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00                   
0033FFB0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00                   
0033FFC0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00                   
0033FFD0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00                   
0033FFE0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00                   
0033FFF0   00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00                   
00340000   19 85 20 03 00 00 00 0C  F0 60 DC 98 19 85 E0 02    …      đ`ܘ …ŕ 
00340010   00 00 09 5D 11 46 31 B7  00 00 02 DB 00 00 02 56      ] F1·   Ű   V
00340020   00 00 81 ED 00 00 00 00  00 19 66 B0 56 D5 59 5B     í      f°VŐY[
00340030   56 D5 59 5B 57 D1 AA D6  00 14 50 00 00 00 09 19   VŐY[WŃŞÖ  P     
00340040   00 00 10 00 08 00 00 00  7A 84 3D BC AA 6D E7 DB           z„=ĽŞmçŰ
00340050   00 0A 11 88 20 81 6C 87  16 82 49 46 B5 48 7A 60      ˆ l‡ ‚IFµHz`
00340060   D4 50 0F 9F CB 7B 7F 6F  76 0F BA 31 DC 05 8D B3   ÔP źË{ov ş1Ü Ťł
00340070   5F C4 79 F7 00 50 D4 76  5A B1 15 9C B1 4E 7C FC   _Äy÷ PÔvZ± ś±N|ü
00340080   A4 50 47 2D BC 3D 8A 15  C4 EC 21 9C D3 99 E5 A1   ¤PG-Ľ=Š Äě!śÓ™ĺˇ

Czyli wszystko po staremu - konfiguruję OpenWrt jak chcę i na koniec robię kopię mtd4 do pliku i mam spokój smile

7

Odp: Backup OpenWrt 15.05.1

Pod warunkiem że rootfs_data mieści się w rootfs, wtedy tak, zgadza się. A czy tak jest - musi skoro tak piszesz

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: Backup OpenWrt 15.05.1

Cezary napisał/a:

Pod warunkiem że rootfs_data mieści się w rootfs, wtedy tak, zgadza się. A czy tak jest - musi skoro tak piszesz

Partycja mtd3 (rootfs_data) jest w mtd2 (rootfs) oraz w mtd4 (linux)
https://i.ibb.co/chJ9Sj25/rootfs-data.png

9 (edytowany przez jzef 2026-07-20 17:42:11)

Odp: Backup OpenWrt 15.05.1

Udało mi się w końcu wypakować partycję `jffs2` i plik `motion.conf` aby zobaczyć jak miałem skonfigurowany poprzednio motion.

Oto pełna instrukcja w świeżej instalacji systemu `ubuntu-24.04.2-live-server-amd64.iso` na koncie `root`:

apt-get update
apt-get install binwalk
mkdir jffs2

- przez WinSCP kopiujemy plik linux_mtd4.bin
- wypakowanie partycji z pliku binarnego:
binwalk --run-as=root -e jffs2/linux_mtd4.bin
mv jffs2/_linux_mtd4.bin.extracted jffs2/ex

- konwersja wypakowanej partycji jffs2 z big endian na little endian:
jffs2dump -b jffs2/ex/340000.jffs2 -e jffs2/ex/340000_le.jffs2

apt-get install python3-pip git python3-lzo
pip3 install cstruct --break-system-packages
pip3 install jefferson --break-system-packages

- wypakowanie plików z partycji jffs2:
jefferson jffs2/ex/340000_le.jffs2 -d jffs2/ex/out_jffs2

i teraz możemy przeglądać/kopiować rozpakowane do lokalizacji `jffs2/ex/out_jffs2` pliki przez WinSCP smile

Eh, a ile miałem po drodze problemów i nad tym siedziałem z pół dnia - tyle zachodu aby podejrzeć kilku kilobajtowy plik sad

- a to problem z zalogowaniem na stworzone w czasie instalacji konto użytkownika - musiałem odpalić system przez `rw init=/bin/bash` i stworzyć tam hasło dla konta `root`
- a to problem z siecią i Internetem - w tekstowym pliku konfiguracyjnym `00-installer-config.yaml` bardzo ważne są wcięcia
- a to problem z instalacją składników pythona przez pip - znalazłem instrukcję wypakowania ale w wersji Ubuntu 20.04
https://fwanalysis.blogspot.com/2022/05 … buntu.html

ale jak się okazało:

Od Ubuntu 23.10 (i 24.04) wprowadzono PEP 668, który blokuje instalację pakietów Pythonowych systemowo przez pip (aby uniknąć konfliktów z pakietami Debiana). To jest zabezpieczenie, które blokuje instalację pakietów Pythona bezpośrednio w systemie, aby nie uszkodzić narzędzi systemowych.

Skoro działasz jako `root` na dedykowanym serwerze i wiesz, co robisz, najprościej jest wymusić instalację przez `--break-system-packages` do komendy pip. Zignoruje to zabezpieczenie

No ale w końcu działa smile


Czyli podsumowując tytułowy problem - backup tylko mtd4 w tym routerze to pełna kopia systemu ale inna sprawa z wypakowaniem i podglądem co jest w środku kopii partycji mtd4