Can't Mount CF-Card on boot of 2.6.15 Kernel on EPIA - VFS: Cannot open root device

From: Markus Biermaier
Date: Mon Jun 12 2006 - 10:04:47 EST



Hi,

I use an EPIA MII6000E motherboard with CF-Card as hard-drive.
Since this device can't boot from CF-Card I boot from network via PXELINUX.
Works fine for kernel 2.4.25.

Now I want to change to kernel 2.6.15.4.

I boot an initrd, execute "linuxrc" and at this point I can mount the CF-Card as "hde1", inspect the file-system, ...

As soon as I finish "linuxrc" the root-fs should be mounted but the kernel panics with:

VFS: Cannot open root device "hde1" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncinc: VFS: Unable to mount root fs on unknown-block(0,0)

"/tftpboot/pxelinux.cfg/Cxxxxxx":
------------------------- [ BEGIN Cxxxxxx ] -------------------------
DEFAULT standard
LABEL standard
KERNEL vmlinuz
APPEND initrd=initrd ramdisk_size=32768 root=/dev/hde1 acpi=off udev
------------------------- [ END Cxxxxxx ] -------------------------

I tried:
------------------------- [ BEGIN linuxrc ] -------------------------
...
mount /dev/hde1
umount /proc
umount /sys
cd /mnt
/mnt/sbin/pivot_root . initrd
mount /sys /sys -t sysfs
/sbin/udevstart
/sbin/pcmcia-socket-startup
mount /proc
echo -n "42" > /sys/bus/pcmcia/devices/1.0/allow_func_id_match
echo 0x3301 > /proc/sys/kernel/real-root-dev
sleep 5
exec <dev/console >dev/console 2>&1
exec chroot . /bin/sh <<EOF
umount initrd
/sbin/blockdev --flushbufs /dev/ram0
sleep 3
exec /sbin/init 5
EOF
------------------------- [ END linuxrc ] -------------------------

I found that the root-fs is mounted twice. First as initial-RAM-Disk. Works ok.
Second as "real" root. With "printk" I found that in file "init/ do_mounts.c"
...
int err = do_mount_root(name, p, flags, root_mount_data);
...
The value of "name" is "/dev/root" before this statement.
After this "err" is -6 ("No such device or address").

BTW: When I have the line
echo 0x3301 > /proc/sys/kernel/real-root-dev
in "linuxrc" the panic message
"VFS: Unable to mount root fs on unknown-block(0,0)"
becomes
"VFS: Unable to mount root fs on unknown-block(51,1)"

Any ideas?

Markus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/