Hozzászólások
Az init futás közben a komplett /sbin-t nem látja. Nem tudja végrehajtani a runlevelekhez rendelt parancsokat. Amikor elindul, akkor a képernyőn át fut minden egészen addig, amig elfogynak a feladatok. Ezt lehet léptetni valahogy? A logokban nincs semmi (var alatt minden log ba belenéztem egy live-cd-es boot után) Az fstabban elvileg a root irható is, de olyan mintha csak olvashatónak mountolná fel. Mi lehet? Biztos nagyon alap dolog, eddig ilyennel nem találkoztam.
- A hozzászóláshoz be kell jelentkezni
[quote:e94fbf1115="biroi"]Az init futás közben a komplett /sbin-t nem látja. Nem tudja végrehajtani a runlevelekhez rendelt parancsokat. Amikor elindul, akkor a képernyőn át fut minden egészen addig, amig elfogynak a feladatok. Ezt lehet léptetni valahogy? A logokban nincs semmi (var alatt minden log ba belenéztem egy live-cd-es boot után) Az fstabban elvileg a root irható is, de olyan mintha csak olvashatónak mountolná fel. Mi lehet? Biztos nagyon alap dolog, eddig ilyennel nem találkoztam.
Ugye nem tetted kulon particiora a /sbin-t?
- A hozzászóláshoz be kell jelentkezni
Nem
- A hozzászóláshoz be kell jelentkezni
Szerintem először próbálj meg single módban bootolni, aztán nézz szét, hogy onnan kézikusan
működnek-e a dolgok. Kicsit úgy tűnik, mintha initrd-t használnál, és ami sbin-t bootoláskor az init lát, az nem a tényleges sbin-ed.
Ha nem ez, akkor jön az 'init=/bin/sh' kernel paraméter, esetleg az inittab-ban a sysinit bejegyzés átírása: si::sysinit:/bin/sh
- A hozzászóláshoz be kell jelentkezni
Igen ez így van. Initrd megy, root=/dev/ram0 real_root=/dev/hda1 kernel paraméterekkel. Mi kellene ezek helyett?
- A hozzászóláshoz be kell jelentkezni
Még valami a kernel sorban init=/linuxrc is van.
- A hozzászóláshoz be kell jelentkezni
Hááát, az initrd nem éppen hazai pálya nekem, mindenesetre a kernel doksija (/usr/src/linux/Documentation/initrd.txt) azt mondja, hogy a boot folyamat úgy néz ki, hogy
- a bootloader berántja a kernelt meg az initrd image-et,
- az image-et bemountolja root-nak
- meginditja azt a bizonyos linuxrc-t
- az varázsol amit tud (pl. hardware-t detektál, modulokat tölt be, hálót húz fel, stb.)
(*)
- aztán bemountolja a tényleges root-ot valahová, pivot_root-tal átmountolja root-nak
- egy chroot-tal ledob mindent, ami fogná a régi (ramdisk-en lévő) fs-t
(*)
- indítja az init-et az új root-on
Az alapján, amit írtál, úgy tűnik, hogy a (*)ok közötti két lépéssel van valami gáz, és az init még a ramdiskes root-on indul. Erre első körben azt tudnám mondani, hogy:
a.; hiányzik valami az initrd image-ből: pivot_root, mount, chroot (nem valószínű)
b.; a detektálással van gyíkja, nem találja a device-t, amit új root-ként mountolnia kellene
c.; a device látszik, csak az initrd-s init mechanizmus nem tudja, mit is mountoljon
d.; sérült a root fs, és nem sikerül mountolni
Szerintem próbálj meg erre az initrd-s kernelre bootolni, csak init=/linuxrc helyett init=/bin/sh-val, aztán kövesd kézzel, hogy mit csinálna az a linuxrc. Ja, és segítene, ha megírnád, hogy milyen disztribúció milyen verziójáról telepítetted, működött-e ez ezelőtt, és ha igen, mi történt vele azóta.
- A hozzászóláshoz be kell jelentkezni
Gentoo, tegnapi telepítés. A kernel genkernelles. Nincs külön boot partíció. A root-ról olvassa be a grub a kernelt: (hd0,0)/boot/gentoo-kernel. A root ext3, ezt beforgattam a kernelbe is. Megpróbálom nyomon követni, hogy mi történik. Az init futását lépéseke bontani pl. pause vagy valami hasonlóan?
- A hozzászóláshoz be kell jelentkezni
[quote:4173a30af8="biroi"]Gentoo, tegnapi telepítés. A kernel genkernelles. Nincs külön boot partíció. A root-ról olvassa be a grub a kernelt: (hd0,0)/boot/gentoo-kernel. A root ext3, ezt beforgattam a kernelbe is. Megpróbálom nyomon követni, hogy mi történik. Az init futását lépéseke bontani pl. pause vagy valami hasonlóan?
Sajna sem a Gentoo-val, sem a grub-bal nem vagyok ismerős, de hátha van valaki a fórumon, aki igen.
A lépésenkénti nézegetés alatt azt értettem, hogy az 'init=/bin/sh'-val a kernel után a linuxrc mellőzésével egy shell-t indítani, aztán ha az a linuxrc egy script, akkor megnézni, és kézzel, sorról sorra egyesével utánacsinálni mindent, és nézni, hogy hol megy félre.
Viszont mivel kezd egyre kevesebb gyakorlati tapasztalatom lenni a témában, szívesen venném, ha valaki beszállna a nyomozásba, pl. ha valakinél ez a verziójú Gentoo van fenn, és meg tudná nézni, hogy hol csúszhat el az initrd-s rész, ill. hogy lehet belőle logot kicsikarni, az jól jönne.
- A hozzászóláshoz be kell jelentkezni