5.1. Zavedení instalátoru na 64-bit ARM

5.1.1. Nastavení konzoly

Na architektuře arm64 nemají obrazy debian-installeru pro Stretch povolen grafický instalátor, tudíž se používá sériová konzole. Firmware by měl konzoli rozpoznat automaticky, avšak pokud automatika selže, po zavedení Linuxu z GRUBu uvidíte hlášku Booting Linux a dál už nic.

Jestliže to je i váš případ, musíte parametry konzoly nastavit ručně. V nabídce GRUBu stiskněte klávesu e pro editaci příkazové řádky a upravte část

--- quiet

do podoby

console=zařízení,rychlost

například:

console=ttyAMA0,115200n8

Následně stiskněte kombinaci Control+x, čímž bude zavádění pokračovat s novým nastavením.

5.1.2. Instalace na Juno

Juno používá UEFI, takže je instalace celkem přímočará. Nejpraktičtější je instalace z USB klíčenky, ovšem aby zavádění z USB fungovalo, potřebujete aktuální firmware. Sestavení z http://releases.linaro.org/members/arm/platforms/latest/ po březnu 2015 je ověřeno, že funguje. Více o aktualizaci firmwaru se dozvíte v dokumentaci k Juno.

Nachystejte si standardní USB klíčenku s obrazem arm64 CD a vložte ji do jednoho ze zadních USB portů. Následně připojte sériový kabel do horního 9 pinového sériového portu. Vyžadujete-li síťové připojení, zapojte ethernetový kabel do zdířky na přední straně.

Spusťte sériovou konzoli s rychlostí 115200, 8 bitů bez parity a Juno zapněte. Juno by mělo nastartovat z USB klíčenky do nabídky GRUBu. Nastavení konzoly na Junu zlobí, takže prosté pokračování klávesou Enter nezobrazí žádný výstup. Nejprve musíte podle (5.1.1 – „Nastavení konzoly“) nastavit konzoli na

console=ttyAMA0,115200n8

a teprve pak lze pokračovat v běžné instalaci.

5.1.3. Instalace na Applied Micro Mustang

Tento počítač se běžně dodává s U-Bootem, ale je dostupný i UEFI firmware. Budete se tedy muset rozhodnout, zda nejprve nainstalujete UEFI firmware a pak použijete standardní způsob instalace, nebo zda použijete U-Boot a jeho metody. Pro ovládání instalačního systému budete muset použít sériovou konzoli, protože grafická instalace není na architektuře amd64 povolena.

Doporučený postup instalace je pomocí openembedded systému dodávaného s počítačem nakopírovat debian-installer, jádro a initrd na pevný disk a pak z těchto souborů zavést instalační systém. Alternativně můžete jádro, dtb a initrd získat a zavést ze sítě protokolem TFTP (viz část 5.1.4.1 – „Zavedení z TFTP přes U-Boot“). Po dokončení instalace je třeba ruční zásah, aby bylo možno nově nainstalovaný systém zavést.

Spusťte sériovou konzoli s rychlostí 115200, 8 bitů bez parity a počítač zapněte. Restartujte počítač a až se zobrazí hláška Hit any key to stop autoboot, stiskněte libovolnou klávesu. Objeví se výzva Mustang#, kde můžete použít příkazy U-Bootu pro nahrání a zavedení jádra, dtb a initrd.

5.1.4. Zavedení z TFTP

Zavedení se sítě vyžaduje síťové připojení, funkční TFTP server a nejspíš i DHCP, RARP nebo BOOTP server pro automatické nastavení sítě.

Nastavení zavádění ze sítě je popsáno v 4.4 – „Příprava souborů pro zavedení ze sítě pomocí TFTP“.

5.1.4.1. Zavedení z TFTP přes U-Boot

Zavedení ze sítě přes firmware U-Boot se skládá ze tří kroků: nastavení sítě, zavedení obrazů jádra, initrd a dtb do paměti a konečně spuštění nahraného jádra.

Síť můžete nastavit buď automaticky pomocí DHCP:

setenv autoload no
dhcp

nebo ručně nastavením několika proměnných:

setenv ipaddr ip_adresa_klienta
setenv netmask maska
setenv serverip ip_adresa_TFTF_serveru
setenv dnsip ip_adresa_DNS_serveru
setenv gatewayip ip_adresa_výchozí_brány

Budete-li chtít toto nastavení uložit trvale, použijte příkaz

saveenv

Nyní musíte nahrát obrazy jádra, initrd a dtb do paměti, což se provádí příkazem tftpboot. jako parametr příkazu musíte zadat adresu v paměti, na kterou se má obraz nahrát. Bohužel, mapa paměti se liší systém od systému a proto zde nemůžeme vypsat pevné adresy platné pro všechny.

Na některých systémech si U-Boot předdefinovává proměnné prostředí s vhodnými adresami. Jsou to proměnné kernel_addr_r, ramdisk_addr_r a fdt_addr_r. Zda jsou ve vašem případě nastaveny, a připraveny k použití, si můžete ověřit příkazem

printenv kernel_addr_r ramdisk_addr_r fdt_addr_r

Nejsou-li definovány, budete si muset konkrétní hodnoty zjistit v dokumentaci k vašemu systému a nastavit je ručně. Například na systémech založených na SOC Allwinner SunXi (třeba Allwinner A10, architektura sun4i nebo Allwinner A20, architektura sun7i) můžete použít následující hodnoty:

setenv kernel_addr_r 0x46000000
setenv fdt_addr_r 0x47000000
setenv ramdisk_addr_r 0x48000000

Po nastavení adres můžete stáhnout obrazy z dříve definovaného TFTP serveru a nahrát je do paměti příkazy:

tftpboot ${kernel_addr_r} název_souboru_s_obrazem_jádra
tftpboot ${fdt_addr_r} název_souboru_s_dtb
tftpboot ${ramdisk_addr_r} název_souboru_s_obrazem_initrd

Nyní zbývá nastavit parametry jádra a spustit ho. U-Boot předá jádru parametry přes proměnnou prostředí bootargs, takže do ní nastavte veškeré potřebné parametry jádra a instalačního systému, jako je třeba konzole (5.3.1 – „Zavěděcí konzole“) nebo přednastavení (5.3.2 – „Parametry instalačního programu“ a B – „Automatizování instalací pomocí přednastavení). Například:

setenv bootargs console=ttyS0,115200 rootwait panic=10

Samotné spuštění jádra závisí na použitém formátu. Pro uImage/uInitrd vypadá příkaz následovně:

bootm ${kernel_addr_r} ${ramdisk_addr_r} ${fdt_addr_r}

a pro nativní linuxový formát takto:

bootz ${kernel_addr_r} ${ramdisk_addr_r}:${filesize} ${fdt_addr_r}

[Poznámka] Poznámka

Při zavádění standardních linuxových obrazů je důležité nahrát obraz úvodního ramdisku až po jádru a dtb, jelikož U-Boot automaticky uloží do proměnné filesize velikost posledně nahraného souboru. Aby příkaz bootz fungoval správně, potřebuje znát velikost ramdisku, kterou mu předáte právě z proměnné filesize. Jestliže zavádíte jádro sestavené pro konkrétní platformu (tj. bez stromu zařízení), jednoduše vynechte parametr ${fdt_addr_r}.

5.1.5. Zavedení z USB klíčenky přes UEFI

Předpokládejme, že jste si připravili vše nezbytné z 3.6.1 – „Výběr zaváděcícho zařízení“ a 4.3 – „Příprava souborů pro zavedení z USB zařízení“. Nyní jednoduše zapojte klíčenku do volného USB portu a restartujte počítač. Systém by měl nastartovat a měl by zobrazit úvodní obrazovku s grafickou nabídkou[2]. Zde si můžete vybrat z různých možností instalačního systému, nebo prostě zmáčknout Enter.



[2] Jestliže to hardware podporuje a pokud jste nepoužili pružný způsob vytvoření klíčenky a tuto možnost nezakázali.