Focus napisał/a:Możliwe, że jestem w błędzie i się mylę ale skoro twierdzisz, że OpenWrt można wgrać przez TFTP na oryginalnym sofcie bez instalowania, który znika po reboocie to może opisz jak to się robi?
O takim sposobie chyba jeszcze nikt nie słyszał, więc może się przydać.
To nie jest nic nowego ani niezwykłego w większości urządzeń instalacja OpenWRT zaczyna się od uruchomienia
czegoś w rodzaju Live image (podobieństwo do instalowania Linuxa na PC).
W przypadku MF286D należy:
1. Wgrać obraz OpenWrt initramfs do katalogu serwera TFTP.
2. Podłączyć konsolę szeregową (115200,8n1) do złącza X8 na płycie routera (wymaga lutowania) .
3. Podłączyć PC z odpalonym TFTP do portu LAN routera .
4. Za pomocą stosownego oprogramowania (w zależności od systemu na PC) połączyć się z konsolą routera.
5. Włączyć router i natychmiast zatrzymać bootowanie wciskająć ESC w konsoli.
6. Po uzyskaniu promptu bootloadera u-boot należy wydać następujące komendy:
setenv serverip 192.168.1.3
setenv ipaddr 192.168.1.72
set fdt_high 0x85000000
tftp openwrt-ipq40xx-generic-zte_mf286d-initramfs-fit-zImage.itb
bootm $loadaddr
Powyższa procedura niestety nie jest uniwersalna nawet dla MF286D - w moim uboot nie ma komendy tftp.
Jest natomiast tftpboot - zamiast 2 ostatnich komend musiałem wpisać jedną:
tftpboot openwrt-ipq40xx-generic-zte_mf286d-initramfs-fit-zImage.itb
Zresztą sam obraz openwrt z initramfs też może mieć różne nazwy. Strona na sertwrze openwrt jest nieaktualna i link wskazuje na nieistniejące pliki. Trzeba wejść w katalogi o poszukać najnoszych obrazów.
Tak czy inaczej - do tej pory nic nie jest zainstalowane.
Powyższe komendy po prostu uruchomią OpenWRT z pobranego przez TFTP pliku.
Do tej pory pamięć flash routera nie została jeszcze naruszona i po restarcie odpali się oprogramowanie oryginalne.
Zgodnie z przewodnikiem OpenWRT dopiero teraz z poziomu tak uruchomionego systemu robimy:
1. Backup partycji z oprogramowaniem oryginalnym
2. No i w końcu kasujemy oryginalne partycje.
ubiattach -m 9
ubirmvol /dev/ubi0 -N ubi_rootfs
ubirmvol /dev/ubi0 -N ubi_rootfs_data
Ostatnia partycja nie zawsze występuje - u mnie jej nie było.
3. Następnie wgrywamy obraz instalacyjny do /tmp i uruchamiamy procedurę instalacyjną (no chyba że nie chcemy wgrywać to zostawiamy sobie router będący w tym momencie cegłą)
sysupgrade -n /tmp/openwrt-ipq40xx-generic-zte_mf286d-squashfs-sysupgrade.bin
Oczywiście należy użyć nazwy pliku takiej jaka jest wgrana. Trzeba zwrócić uwagę że obraz do bootowania to nie ten sam który się później instaluje - to są 2 różne typy plików.
Teraz po zrestartowaniu odpali się OpenWRT.