Embedded Linux - boot z initramfs
Pavel Troller
patrol na sinus.cz
Středa Březen 25 16:07:40 CET 2015
>> Samozřejmě ji tam mám zadanou :-(. Bez toho by se vůbec do toho jádra
>> nepřiložil. To, že tam je, vím - jádro má pořád svých 6.5M, zatímco bez
>> něj má 1.5M. Ale přesto, pokud je v jádře Block Layer, tak nefunguje :-(.
>
> Nebude tam nějaký bootovací skript, do kterého by bylo možné se podívat
> nebo ho upravit? Mě se obecně osvědčilo přidat na začátek bashového skriptu
> "set -x". Je ale možné, že tam bude nějaký ořezaný shell, který to nebude
> podporovat.
>
> L.
Zdravím,
ale ne, ten initramfs mám pod kontrolou - je můj, od A do Z :-). Coby /init
je tam shell (busybox), který, pokud se spustí, hodí prompt a je to. Jenže on
se NESPUSTÍ! V tom je ten celý problém. Když nedám do jádra Block Layer, tak
se spustí a vše je OK. Když tam Block Layer je, tak jako by tam nebyl žádný
initramfs, chce to bootovat rovnou z nějakého Block Device.
Ještě jsem neuvedl, že chci, aby to bylo hezky nové a moderní, tak to jádro
je 4.0.0-RC3. Možná, že je to prostě nějaký bug :-(. Nezbývá než začít vkládat
debug "printky" (volání printk()) do míst, kudy to má běžet (v adresáři init
stromu jádra, soubory do_mount.c atd., abych přesně pochopil, co se tam
děje. Samotné koukání do zdrojáku mi to zatím dostatečně neosvětlilo.
Naštěstí kompilační otočka včetně tftp downloadu a zkušebního bootu je tak
2 minuty, takže se to ještě dá...
Zdraví Pavel
Další informace o konferenci Hw-list