Temat: Netgear R7800 - wykorzystanie całego obszaru flash
Aktualizacja: aktualnie Cezary buduje tylko obrazy ze zmienioną mapą flash. Obrazy z oryginalnym rozkładem partycji (przydatne do zrobienia backupu lub powrotu do OFW) możesz pobrać z www.lede-project.org
Modyfikacja
Netgear R7800 ma 128MB kostkę flash ale oryginalne obrazy wykorzystują tylko 30MB partycję „ubi” (mtd6) do zapisu danych użytkownika. Pozostaje niewykorzystana 68MB partycja „netgear” (mtd7) położona tuż za „ubi” a więc umożliwiająca uzyskanie ciągłego obszaru o rozmiarze ok. 98MB.
root@LEDE:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00c80000 00020000 "qcadata"
mtd1: 00500000 00020000 "APPSBL"
mtd2: 00080000 00020000 "APPSBLENV"
mtd3: 00140000 00020000 "art"
mtd4: 00140000 00020000 "artbak"
mtd5: 00200000 00020000 "kernel"
mtd6: 01e00000 00020000 "ubi"
mtd7: 04480000 00020000 "netgear"
mtd8: 00700000 00020000 "reserve"
mtd9: 02000000 00020000 "firmware"Można to osiągnąć modyfikując mapę flash w pliku definicji routera. Cezary zbudował zmodyfikowane obrazy dla R7800 uwzględniające te zmiany i możesz przystąpić do zmiany OFW na LEDE.
Pamiętaj! Przed modyfikacją routera, szczególnie zmieniającą rozkład i zawartość fabrycznych partycji zrób pełną kopię zawartości flash!!!
Możesz to zrobić wgrywając obraz factory ze standardowym podziałem flash bezpośrednio z interfejsu OFW (Advanced → Administration → Firmware Update) lub uruchamiając router w trybie awaryjnym bootloadera (trzymając wciśnięty reset włącz zasilanie i cały czas wciskając reset czekaj na migającą białą diodę zasilania). Po restarcie logujesz się po SSH i robisz kopię wszystkich partycji:
root@LEDE:~# dd if=/dev/mtd0 of=/mnt/sda1/mtd0.backup
...
root@LEDE:~# dd if=/dev/mtd9 of=/mnt/sda1/mtd9.backupWięcej informacji i gotowe skrypty na stronie OpenWRT: http://wiki.openwrt.org/doc/howto/generic.backup
Drugi krok to wgranie zmodyfikowanego obrazu. Pobieramy plik factory z tego miejsca (sysupgrade nie zmieni mapy flash) i wgrywamy przez TFTP. Po restarcie router ma do dyspozycji całą dostępną przestrzeń flash:
root@LEDE:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00c80000 00020000 "qcadata"
mtd1: 00500000 00020000 "APPSBL"
mtd2: 00080000 00020000 "APPSBLENV"
mtd3: 00140000 00020000 "art"
mtd4: 00140000 00020000 "artbak"
mtd5: 00200000 00020000 "kernel"
mtd6: 06280000 00020000 "ubi"
mtd7: 00700000 00020000 "reserve"
mtd8: 06480000 00020000 "firmware"Powrót do OFW
Powrót do stanu wyjściowego rozpoczynasz od uruchomienia routera w trybie awaryjnym bootloadera i wgrania przez TFTP standardowego obrazu LEDE-factory. Jeżeli aktualizacja oprogramowania zakończyła się pomyślnie, to po zalogowaniu się po SSH zobaczysz poniższe wartości:
root@LEDE:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00c80000 00020000 "qcadata"
mtd1: 00500000 00020000 "APPSBL"
mtd2: 00080000 00020000 "APPSBLENV"
mtd3: 00140000 00020000 "art"
mtd4: 00140000 00020000 "artbak"
mtd5: 00200000 00020000 "kernel"
mtd6: 01e00000 00020000 "ubi"
mtd7: 04480000 00020000 "netgear"
mtd8: 00700000 00020000 "reserve"
mtd9: 02000000 00020000 "firmware"Następnie musisz zainstalować moduł umożliwiający zapis na wszystkich partycjach i przywrócić zawartość partycji „netgear” z kopii zapasowej:
root@LEDE:~# opkg update
root@LEDE:~# opkg install kmod-mtd-rw
root@LEDE:~# insmod mtd-rw.ko i_want_a_brick=1
root@LEDE:~# mtd write /mnt/sda1/mtd7.backup netgear
Unlocking netgear ...
Writing from /mnt/sda1/mtd7.backup to netgear …
root@LEDE:~#Ostatni krok to ponowne uruchomienie routera w trybie awaryjnym bootloadera i wgranie przez TFTP oryginalnego oprogramowania Netgeara. Jeżeli router wystartował, możesz cieszyć się oryginalnym oprogramowaniem Netgera.