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