Uživatelské nástroje

Nástroje pro tento web


Obnovení U-Bootu a Rescue image

Návod je hlavně určený pro zkušené uživatelé a pro router Turris Omnia.

Jeho cílem je obnova systému v případě, že se z nějakého důvodu poškodil U-Boot a Rescue image a nelze provést factory reset dle návodu Factory reset on Turris Omnia.

Příprava před obnovou

Tato část popisuje potřebné kroky, které je potřeba zařídit před začátkem obnovy systému.

Co bude potřeba:

Stáhněte tyto soubory

Nastavení a zprovoznění TFTP serveru na PC

Nastavení se může lišit dle vašeho operačního systému, z tohoto důvodu je potřeba najít návod na wiki/foru konkretní distribuce.

Na TFTP server je potřeba nahrát Rescue image ( omnia-initramfs-zimage )

Příprava USB disku

Disk naformátujte na EXT4 a do rootu nakopírujte tyto soubory.

uboot-turris-omnia-spl.kwb
omnia-initramfs-zimage
omnia-medkit-latest.tar.gz

Obnova systému

Co chceme docílit:

  • Pomocí utility kwboot přenés přes seriovou linku U-Boot (uboot-turris-omnia-uart-spl.kwb)
  • Přes TFTP nahrát na Omnii Rescue image (omnia-initramfs-zimage) a spustit ho
  • Zapsat na eMMC U-Boot a Rescue image (uboot-turris-omnia-spl.kwb a omnia-initramfs-zimage)
  • Provést strandartní nahrání medkitu z USB disku

Načtení U-Boot přes seriovou linku

Následující kroky je potřeba provádět v rychlém sledu za sebou. Je možné, že v průběhu operace nastane chyba během přenosu, vyprší timeout apod. V takovém případě je nutné celý proces opakovat.

Připojte USB-serial kabel k Omnii. (pozn. Předpokládáme, že seriová linka je namapován jako /dev/ttyUSB0.) Spusťe program sendbeacon a poté restartujte omnii tlačítkem reset (je umístěno na zadním panelu pod prostřední anténou).

./sendbeacon /dev/ttyUSB0 

Poté spustte utilitu kwboot, která se pokusí přenést U-Boot přes seriovou linku.

./kwboot -t -b /path/to/uboot-turris-omnia-uart-spl.kwb -B 115200 /dev/ttyUSB0

Program by měl vypisovat procenta přenosu viz následující výpis

Sending boot message. Please reboot the target...-
Sending boot image...
  0 % [......................................................................]
  1 % [......................................................................]
  3 % [......................................................................]
  5 % [......................................................................]
  6 % [......................................................................]

Po dokončení přenosu (100% ) počkejte dokud U-Boot nevypíše hlášku „Hit any key to stop autoboot:“ a stiskněte ENTER. Tím se dostanete do příkazové řádky U-Bootu.

Spuštění rescue image

Tato část předpokládá, že jsme v příkazovém řádku U-bootu a na PC máme zprovozněný TFTP server.

Ověřte že oba stroje na sebe vidí

=> ping <IP_SERVER>

Potom nastavte síť pomocí DHCP a za <IP> doplňte adresu TFTP serveru

=> setenv autoload no; dhcp; setenv serverip <IP>

Příkazy pro U-Boot, které se mohou hodit:
⇒ setenv ethaddr XX:XX:XX:XX:XX:XX # Nastavení MAC adresy
⇒ setenv ipaddr 192.168.1.1 # Nastavení IP Omnie
⇒ setenv netmask 255.255.255.0 # Nastavení masky
Více informací naleznetene na stránkách U-Bootu viz (1), (2)

Ze síťe načtěte Rescue image na adresu (0x01000000)

=> tftpboot 0x01000000 omnia-initramfs-zimage

Pomocí příkazu bootz jej nabootujte

=> bootz 0x01000000

Po úspěšném startu rescue image by se měla zobrazit příkazová řádka busyboxu

Trvalé zapsání změn a obnova systému na eMMC

V tomto okamžiku připojte k omnii USB disk s předpřipravenými soubory.

mount /dev/sda1 /mnt
cd /mnt

Přepište U-Boot

mtd erase /dev/mtd0
mtd write uboot-turris-omnia-spl.kwb /dev/mtd0

Nakonec přepište i rescue image

mtd erase /dev/mtd1
mtd write omnia-initramfs-zimage /dev/mtd1

Těmito kroky jsme obnovili U-Boot i Rescue image. Posledním krokem je factory reset, který provedeme držením tlačítka reset dokud se na předním panelu nerozsvítí 4 diody.
Po restartu rescue image nahraje medkit z USB flask disku na eMMC a uvede Omnii do továrního nastavení viz Factory reset on Turris Omnia - Re-flash router.