OnWorks Linux i Windows Online WorkStation

logo

Darmowy hosting online dla stacji roboczych

<Poprzedni | Spis treści | Następne>

Uruchamianie sieciowe w systemach korzystających z oprogramowania układowego U-Boot składa się z trzech kroków: a) skonfigurowania sieci, b) załadowania obrazów (jądra/początkowego ramdysku/dtb) do pamięci oraz c) rzeczywistego wykonania wcześniej załadowanego kodu.

Najpierw musisz skonfigurować sieć, albo automatycznie przez DHCP, uruchamiając


ustaw automatyczne ładowanie bez dhcp


lub ręcznie, ustawiając kilka zmiennych środowiskowych


ustaw ipaddr ustaw maskę sieci

ustaw ip serwera ustaw dnsip

ustaw ip bramy


Jeśli wolisz, możesz ustawić te ustawienia na stałe, uruchamiając


zapisz v


Następnie musisz załadować obrazy (jądro/początkowy ramdysk/dtb) do pamięci. Odbywa się to za pomocą polecenia tftpboot, któremu należy podać adres, pod którym obraz ma zostać zapisany w pamięci. Niestety mapa pamięci może się różnić w zależności od systemu, więc nie ma ogólnej zasady, które adresy mogą być do tego użyte.


W niektórych systemach U-Boot predefiniuje zestaw zmiennych środowiskowych z odpowiednimi adresami ładowania: kernel_addr_r, ramdisk_addr_r i fdt_addr_r. Możesz sprawdzić, czy są zdefiniowane, uruchamiając


printenv kernel_addr_r ramdisk_addr_r fdt_addr_r


Jeśli nie są zdefiniowane, należy sprawdzić dokumentację systemu pod kątem odpowiednich wartości i ustawić je ręcznie. Dla systemów opartych na Allwinner SunXi SOC (np. Allwinner A10, nazwa architektury „sun4i” lub Allwinner A20, nazwa architektury „sun7i”), można np. użyć następujących wartości:


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


Po zdefiniowaniu adresów ładowania można załadować obrazy do pamięci z wcześniej zdefiniowanego serwera tftp za pomocą


tftpboot ${kernel_addr_r} tftpboot ${fdt_addr_r}

tftpboot ${ramdisk_addr_r}


Trzecia część to ustawienie wiersza poleceń jądra i rzeczywiste wykonanie załadowanego kodu. U-Boot przekazuje zawartość zmiennej środowiskowej „bootargs” jako linię poleceń do jądra, więc wszelkie parametry jądra i instalatora – takie jak urządzenie konsoli (patrz Sekcja 5.3.1) lub opcje wstępnego umieszczania (patrz Sekcja 5.3.2 .XNUMX i Dodatek B) - można ustawić poleceniem takim jak


setenv bootargs console=ttyS0,115200 rootwait panic=10


Dokładne polecenie wykonania wcześniej załadowanego kodu zależy od użytego formatu obrazu. W przypadku uImage/uInitrd polecenie to


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


i tak jest z natywnymi obrazami Linuksa


bootz ${kernel_addr_r} ${ramdisk_addr_r}:${rozmiar pliku} ${fdt_addr_r}


Uwaga: Podczas uruchamiania standardowych obrazów systemu Linux ważne jest, aby załadować początkowy obraz ramdysku po jądrze i dtb, ponieważ U-Boot ustawia zmienną rozmiaru pliku na rozmiar ostatnio załadowanego pliku, a polecenie bootz wymaga rozmiaru obrazu ramdysku działać poprawnie. W przypadku uruchamiania jądra specyficznego dla platformy, tj. jądra bez drzewa urządzeń, po prostu pomiń parametr ${fdt_addr_r}.


5.2. Dostępność

Najlepsze przetwarzanie w chmurze dla systemu operacyjnego w OnWorks: