1 (edytowany przez jzef 2016-12-12 19:54:44)

Temat: Funkcja bootloadera: Run from Host

Jest router z bootloaderem CFE w którym jest funkcja uruchamiania z serwera TFTP. Jak się okazało wymagany jest do tego celu plik kernela. Zrobiłem kopię partycji kernel pod OpenWrt, wrzuciłem plik kernel.bin na serwer TFTP i faktycznie router odpala jak zrobię polecenie:

r kernel.bin

Ale zdaje się iż po odpaleniu jądra z sieci dalej odpala się root z flasha.
W logread znalazłem takie coś:

Kernel command line:  root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200

Teraz mam pytanie - czy to oznacza iż w kernelu jest zakodowana ta ścieżka domyślna i jeśli chciałbym użyć root'a z innego nośnika np. USB lub NFS przez sieć to musiałbym skompilować kernel z odpowiednią ścieżką?

Znalazłem taki artykuł: Running Debian Etch on a netgear WGT634U access point
ale właśnie nie rozumiem momentu uruchamiania Debiana na routerze WGT634U

2

Odp: Funkcja bootloadera: Run from Host

Tak, w kernelu można podać cmdline i jest to robione w openwrt.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3 (edytowany przez jzef 2016-12-12 20:12:27)

Odp: Funkcja bootloadera: Run from Host

Cezary napisał/a:

Tak, w kernelu można podać cmdline i jest to robione w openwrt.

Tak, właśnie myślałem - bo w tej chwili ta funkcja bootloadera jest bez sensu bo nie da się określić argumentu kernela. W zapodanym artykule jest też CFE ale ma chyba funkcję określenia takiej ścieżki i wtedy nie trzeba kompilować kernela z inną ścieżką.

P.S. cmdline można odczytać w OpenWrt:

root@OpenWrt:~# cat /proc/cmdline
 root=/dev/mtdblock2 rootfstype=squashfs,jffs2 noinitrd console=ttyS0,115200