Uživatelské nástroje

Nástroje pro tento web


Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

cs:howto:uboot_a_rescue_image [2018/05/17 13:35] (aktuální)
jschlehofer vytvořeno
Řádek 1: Řádek 1:
 +====== Obnovení U-Bootu a Rescue image ======
 +
 +<WRAP center important 60%>
 +Návod je hlavně určený pro zkušené uživatelé a pro router Turris Omnia.
 +</​WRAP>​
 +
 +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 [[https://​www.turris.cz/​doc/​en/​howto/​omnia_factory_reset|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: =====
 +  * USB-serial kabel https://​www.turris.cz/​doc/​en/​troubleshooting/​serial_link
 +  * PC s linuxem ​ (pro spuštění TFTP serveru)
 +  * USB flash disk
 +
 +
 +==== Stáhněte tyto soubory ====
 +  * [[https://​repo.turris.cz/​omnia/​nor_fw/​uboot-turris-omnia-spl.kwb|uboot-turris-omnia-spl.kwb]] - U-Bootu pro eMMC
 +  * [[https://​repo.turris.cz/​omnia/​nor_fw/​uboot-turris-omnia-uart-spl.kwb |uboot-turris-omnia-uart-spl.kwb ]] - U-Boot určený pro přenos přes seriovou linku
 +  * [[https://​repo.turris.cz/​omnia/​nor_fw/​omnia-initramfs-zimage |omnia-initramfs-zimage]] – Rescue image
 +  * [[https://​repo.turris.cz/​omnia/​nor_fw/​x86-64/​kwboot|kwboot]] – utilita pro přenos U-Bootu po seriové lince
 +  * [[https://​repo.turris.cz/​omnia/​nor_fw/​x86-64/​sendbeacon – utilita na přerušení standartního bootu z eMMC
 +  * [[https://​repo.turris.cz/​omnia/​medkit/​omnia-medkit-latest.tar.gz|omnia-medkit-latest.tar.gz]] – Omnia medkit
 +
 +=== 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. ​
 +  * Fedora -https://​dflund.se/​~triad/​krad/​tftpserver.html
 +  * Debian/​Ubuntu - https://​askubuntu.com/​questions/​201505/​how-do-i-install-and-run-a-tftp-server
 +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.
 +
 +<​file>​
 +uboot-turris-omnia-spl.kwb
 +omnia-initramfs-zimage
 +omnia-medkit-latest.tar.gz
 +</​file>​
 +
 +===== 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).
 +
 +<​code>​
 +./​sendbeacon /​dev/​ttyUSB0 ​
 +</​code>​
 +
 +Poté spustte utilitu **kwboot**, která se pokusí přenést U-Boot přes seriovou linku.
 +<​code>​
 +./kwboot -t -b /​path/​to/​uboot-turris-omnia-uart-spl.kwb -B 115200 /​dev/​ttyUSB0
 +</​code>​
 +
 +Program by měl vypisovat procenta přenosu viz následující výpis
 +
 +<​file>​
 +Sending boot message. Please reboot the target...-
 +Sending boot image...
 +  0 % [......................................................................]
 +  1 % [......................................................................]
 +  3 % [......................................................................]
 +  5 % [......................................................................]
 +  6 % [......................................................................]
 +</​file>​
 +
 +
 +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í 
 +<​code>​
 +=> ping <​IP_SERVER>​
 +</​code>​
 +
 +Potom nastavte síť pomocí DHCP a za **<​IP>​** doplňte adresu TFTP serveru
 +<​code>​
 +=> setenv autoload no; dhcp; setenv serverip <IP>
 +</​code>​
 +
 +<​WRAP ​ info 80%>
 +** 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 [[https://​www.denx.de/​wiki/​view/​DULG/​Manual|(1)]],​ [[https://​www.denx.de/​wiki/​DULG/​UBootEnvVariables|(2)]]
 +</​WRAP>​
 +
 +
 +Ze síťe načtěte Rescue image na adresu (0x01000000)
 +<​code>​
 +=> tftpboot 0x01000000 omnia-initramfs-zimage
 +</​code>​
 +Pomocí příkazu **bootz** jej nabootujte ​
 +<​code>​
 +=> bootz 0x01000000
 +</​code>​
 +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.
 +<​code>​
 +mount /dev/sda1 /mnt
 +cd /mnt
 +</​code>​
 +
 +Přepište U-Boot
 +<​code>​
 +mtd erase /dev/mtd0
 +mtd write uboot-turris-omnia-spl.kwb /dev/mtd0
 +</​code>​
 +
 +Nakonec přepište i rescue image
 +<​code>​
 +mtd erase /dev/mtd1
 +mtd write omnia-initramfs-zimage /dev/mtd1
 +</​code>​
 +
 +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 [[ https://​www.turris.cz/​doc/​en/​howto/​omnia_factory_reset|Factory reset on Turris Omnia - Re-flash router]].