Krize po updatu: No root device found
Oak
oak.brno na seznam.cz
Úterý Červenec 19 14:22:23 CEST 2005
Dobrý den,
včera jsem zkusil pár věcí, neúspěšně:
* na radu z tohoto threadu jsem se zkoušel podívat "dovnitř initrd",
neúspěšně - mé initrd není cpio (zdá se), nemá příponu "img" a žádný ze
způsobů rozbalení nezabral
* downgrade kernelu na původní verzi distribuce:
---
linux:/home/oak/Sys/Install # ls kern*
kernel-default-nongpl-2.6.8-24.10.i586.rpm
kernel-default-2.6.8-24.10.i586.rpm
linux:/home/oak/Sys/Install # rpm -Uvh --force kern*
Preparing... ###########################################
[100%]
1:kernel-default ###########################################
[ 50%]
Setting up /lib/modules/2.6.8-24.10-default
Root device: /dev/hda5 (mounted on / as reiserfs)
Module list: scsi_mod reiserfs
Kernel image: /boot/vmlinuz-2.6.8-24.10-default
Initrd image: /boot/initrd-2.6.8-24.10-default
Shared libs: lib/libc.so.6 lib/libselinux.so.1
Modules: kernel/drivers/scsi/scsi_mod.ko
kernel/drivers/scsi/sd_mod.ko kernel/fs/reiserfs/reiserfs.ko
Including: udev klibc
Bootsplash: SuSE (1024x768)
Using grub, re-install of bootloader not required.
2:kernel-default-nongpl ###########################################
[100%]
Setting up /lib/modules/2.6.8-24.10-default
linux:/home/oak/Sys/Install #
linux:/boot # cat /proc/version
Linux version 2.6.8-24.10-default (geeko na buildhost) (gcc version 3.3.4
(pre 3.3.5 20040809)) #1 Wed Dec 22 11:54:27 UTC 2004
---
* vytvořit initrd způsobem popsaným p. Kolářem - úplně selhalo, má verze
mkinitrd vůbec nezná volbu "--preload", upravil jsem to na následující.
* vytvořit initd podle "man initrd". První pokus:
---
linux:/boot # mkinitrd -m 'scsi_mod' /boot/initrd-2.6.8-24.16-default
2.6.8-24.16
/sbin/mkinitrd: line 2208: /boot/initrd-2.6.8-24.16-default/etc/fstab:
není souborem ani adresárem
No '/' mountpoint specified in /boot/initrd-2.6.8-24.16-default/etc/fstab
linux:/boot #
---
Druhý pokus
---
linux:/boot # mkinitrd -m 'scsi_mod,reiserfs' -d /dev/hda5
/boot/initrd-2.6.8-24.16-default 2.6.8-24.16
Root device: /dev/hda5 (mounted on /boot/initrd-2.6.8-24.16-default as )
Module list: scsi_mod,reiserfs
Kernel image: /boot/vmlinuz-2.6.8-24.16-default
Initrd image: /boot/initrd-2.6.8-24.16-default
/sbin/mkinitrd: line 969: cd: /boot/initrd-2.6.8-24.16-default: není
souborem ani adresárem
cp: cannot stat `dev/zero': není souborem ani adresárem
cp: cannot stat `dev/null': není souborem ani adresárem
cp: cannot stat `dev/ram0': není souborem ani adresárem
cp: cannot stat `dev/ram1': není souborem ani adresárem
cp: cannot stat `dev/ram2': není souborem ani adresárem
cp: cannot stat `dev/ram': není souborem ani adresárem
cp: cannot stat `dev/ramdisk': není souborem ani adresárem
cp: cannot stat `dev/console': není souborem ani adresárem
cp: cannot stat `dev/md0': není souborem ani adresárem
cp: cannot stat `dev/fb0': není souborem ani adresárem
cp: cannot stat `dev/tty1': není souborem ani adresárem
cp: cannot stat `dev/tty2': není souborem ani adresárem
Shared libs: lib/libc.so.6 /sbin/mkinitrd: line 1194: cd:
/boot/initrd-2.6.8-24.16-default: není souborem ani adresárem
cp: cannot stat `lib/libc.so.6': není souborem ani adresárem
lib/libselinux.so.1 /sbin/mkinitrd: line 1194: cd:
/boot/initrd-2.6.8-24.16-default: není souborem ani adresárem
cp: cannot stat `lib/libselinux.so.1': není souborem ani adresárem
No modules.pcimap file found
Cannot determine dependencies of module scsi_mod,reiserfs. Is
modules.dep up to date?
Modules:
none
Including: udev klibc
Bootsplash: no theme selected
rm: cannot remove `/boot/initrd-2.6.8-24.16-default//boot/initrd': není
adresárem
ln: accessing `/boot/initrd-2.6.8-24.16-default//boot/initrd': není
adresárem
You may now have to update your boot loader configuration.
linux:/boot #
---
Zřel jsem že čárka v module-listu je špatný oddělovač a zkusil jsem to
samé (v manu to nebylo) s mezerou; zmizela chybová hláška "Cannot
determine dependencies of module...", ale zůstal problém s vytvořením
initrd.
* zkusil jsem vytvořit initrd pomocí YaSTu - spustil jsem sysconfig či
jak se to jmenuje, změnil parametry modulů pro initrd a uložil, načež se
opravdu vygenerovalo nové initrd, avšak (ne)fungující jako to předešlé
* našel jsem další thread, kde to uživatel udělal tak, že linux přesunul
na jiný logický disk (kde byl root očekáván) a ono to pak víceméně
fungovalo (toto nemohu provést)
* jeden thread má zajímavé zakončení, avšak bez bližšího vysvětlení mi
to nedává příliš smyslu:
: Solved it. *Had no ata0 disk in kernel config file*. Sigh, with all
: these changing config options these days...
* výše uvedený postupy jsem zkoušel celý večer v různých varacích, podle
různé dokumentace a taky od pasu...
Ještě den či dva takového pokroku a vyřeším to kompletní reinstalací, i
když se to někomu může zdát nelinuxové řešení :-) řekl bych, že chyba je
opravdu někde v mkdinitrd, či v konfiguraci ovlivňující tvorbu initrd,
ale nevím jak to rozlousknout.
Zdraví,
Oak
...
>>Zkuste vyrobit nove initrd:
>>
>>mv /boot/initrd-$verze.img{,.bad}
>>mkinitrd --preload=modul1 --preload=modul2 /boot/initrd-$verze.img $verze
...
>>mkdir adresar && cd adresar && gunzip < /boot/initrd-$verze.img |
cpio -imd
>>
>>(pokud je to gzipovane cpio) a podivat se, co tam je. Pripadne zkusit
>>neco doplnit podle vypisu lsmod. Napr. ja mam relevantni radky z lsmod
>>takoveto:
...
>>
>>a mkdinitrd je
>>--preload=scsi_mod --preload=sd_mod --preload=libata --preload=ata_piix
...
>>S pozdravem
...
>> *** Petr Kolar ***
Další informace o konferenci Linux