Portál AbcLinuxu, 12. května 2025 22:03
Zdravim vsechny,
skompiloval jsem vanila jadro 2.6.25 a pouze sem u nej zaskrtnul volbu ext2 primo do jadra a povolil init ram dist. Potom sem si udelal initrd a prihodil isolinux. Udelal iso a zkusil nabootovat.
Jadro nastartuje potom pripoji ram dist a v momente kdy by melo spustit linuxrc ho nespusti a misto toho napise ze nenaslo "/etc/init.d/rcS" coz je logicky protoze ho v ramdisku nemam. No a potom se spusti konzole.
Nesetkal jste se nekdo s timhle. Muj nazor je ze mam spatne udelany ram disk. V podstate v nem je jen linuxrc, busybox a nejake nejnutnejsi dev. Zadne moduly, zadne knihovny.
Uz sem s tim zabyl spoustu casu a porad bez vysledku, ani strycek google neporadil.
Jadru se predava parametr initrd=cesta_k_ram_disku
init
říká jádru, jaký program má spustit po připojení /
.
Init jsem skousel - bez uspechu Bude to tim ze tam nemam zadny knihovny. Budu muset jeste skompilovat GNU C Lib.
Pokud mas staticky slinkovanej busybox, tak knihovny nepotrebujes, mas spravne nastavenej parametr root=/dev/ram0 ? Jinak i do ramdisku staci nakopirovat binarky a knihovny ze systemu kdyz se cloveku nechce patlat s busyboxem a spol...
Vypis isolinux.cfg
DEFAULT linux
LABEL linux
KERNEL bzImage
APPEND initrd=initrd.gz root=/dev/ram0 rw
busybox sem staticky kompiloval a vsechny utility ktery sem skousel fungovali, ale ty knihovny nevim jaky mam skopirovat.
Prijde mi to ale divny. Jadro snad nepotrebuje knihovny k tomu aby spravne nabootovalo.
Vypis linuxrc
#!/bin/ash
export PATH=.:/:/usr/sbin:/usr/bin:/sbin:/bin
echo 'Hello ....'
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.