initrd not created - Device block!9:0 not found in sysfs

I want to install OpenSuse 11.2 with a four disk RAID-system, laid out as follows with Yast during install:

  • /dev/sda1 formatted with ext2, mountpoint on /boot, 1 GB
  • a raid-1 array from /dev/sda2 through /dev/sdd2, 10 GB, labeled ‘root’, mountpoint /
  • a raid5 array from /dev/sda3 through /dev/sdd3, each 920 GB, net appr. 2.8 TB, labeled ‘home’, mountpoint /home

Both raid devices are mounted by label.

Partitioning and creating the arrays went without error messages, but during install of software I saw messages

Device block!9:0 not found in sysfs

flying by.

When it was time for Yast to create the initrd, the message

Kernel image: /boot/vmlinuz-2.6.31.5-0.1-desktop
Initrd image: /boot/initrd-2.6.31.5-0.1-desktop
Root device: ext4-root (/dev/block/9:0) (mounted on / as ext4)
Device block!9:0 not found in sysfs

was given, and it appeared no initrd was created:

drwxr-xr-x 4 root root 4096 jan 15 16:35 ./
drwxr-xr-x 22 root root 4096 jan 15 16:18 …/
-rw------- 1 root root 512 jan 15 16:35 backup_mbr
lrwxrwxrwx 1 root root 1 jan 15 16:18 boot → ./
-rw-r–r-- 1 root root 1236 okt 24 04:19 boot.readme
-rw-r–r-- 1 root root 103289 okt 27 12:30 config-2.6.31.5-0.1-desktop
drwxr-xr-x 2 root root 4096 jan 15 16:35 grub/
lrwxrwxrwx 1 root root 27 jan 15 16:20 initrd → initrd-2.6.31.5-0.1-desktop
drwx------ 2 root root 16384 jan 15 15:56 lost+found/
-rw-r–r-- 1 root root 421376 jan 15 16:35 message
-rw-r–r-- 1 root root 170143 okt 27 12:32 symvers-2.6.31.5-0.1-desktop.gz
-rw-r–r-- 1 root root 1907577 okt 27 11:31 System.map-2.6.31.5-0.1-desktop
lrwxrwxrwx 1 root root 28 jan 15 16:20 vmlinuz → vmlinuz-2.6.31.5-0.1-desktop
-rw-r–r-- 1 root root 4104416 okt 27 11:31 vmlinuz-2.6.31.5-0.1-desktop

No need to say booting this arrangement fails.

After booting the system from another disk with 11.2, and assembling and mounting the raid fs’es (with goes flawlessly), I tried to create the initrd by hand with

mount /dev/md0 /mnt/root
mount /dev/sda1 /mnt/root/boot
mount --bind /dev /mnt/root/dev
chroot /mnt/root
mount /proc
mount /sys
mkinitrd

as suggested by the mkinitrd man page. But this gives the same error, and no initrd is created in the chrooted /boot.

What am I doing wrong here?

Anyone? Or should I consider this a Yast-bug? In that case I’ll post a bug report af course.

From what I can tell, its a kernel bug. There is a bug open for this. http://bugzilla.novell.com/show_bug.cgi?id=567225

I realize I did not get back to you here, my apologies. This was indeed the bug I ran in to, and I made a comment and, on request, some output of mkinitrd there.

Thanks!