Markus Biermaier
2006-Jun-04 09:31 UTC
[syslinux] Kernel panic on change from 2.4.x to 2.6.x
Hi, in short: - EPIA MII6000E motherboard with CF-Card - Booting from network works with Linux Kernel 2.4.25 - Change to 2.6.15.4 doesn't work -- kernel panics: 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) in Detail: - "syslinux"-Environment was created with syslinux-2.11. My old file in "/tftpboot/pxelinux.cfg" looked like this: ------------------------- [ BEGIN Cxxxxxx ] ------------------------- DEFAULT standard LABEL standard KERNEL vmlinuz APPEND initrd=initrd root=/dev/hde1 ------------------------- [ END Cxxxxxx ] ------------------------- I boot with an "initrd". My old "linuxrc": ------------------------- [ BEGIN linuxrc ] ------------------------- PCIC=yenta_socket PCIC_OPTSCORE_OPTSmount -t proc /proc /proc echo "==== initrd: starting PCMCIA services ====" CreateCF-Node modprobe $PCIC modprobe ds if [ "$DEBUG" != "" ] ; then V=-v ; fi cardmgr $V -q -o -c /etc -m /lib -s /tmp/stab -p /tmp/pid umount /proc umount /dev/ram if [ "$DEBUG" != "" ] ; then /bin/sh < /dev/console fi ------------------------- [ END linuxrc ] ------------------------- After this the Kernel 2.4.25 boots perfectly. - I build a Kernel 2.6.15.4 - replaced "/tftpboot/vmlinuz" with this new Kernel. - had to change "/tftpboot/pxelinux.cfg/Cxxxxxx" (reason: ramdisk- size) to: ------------------------- [ BEGIN Cxxxxxx ] ------------------------- DEFAULT standard LABEL standard KERNEL vmlinuz APPEND initrd=initrd ramdisk_size=32768 root=/dev/hde1 acpi=off ------------------------- [ END Cxxxxxx ] ------------------------- - changed "linuxrc" (reason: pcmcia-stuff): ------------------------- [ BEGIN linuxrc ] ------------------------- PCIC="ide_cs yenta_socket pcmcia_core pcmcia rsrc_nonstatic" PCIC_OPTSCORE_OPTSDEBUG=1 mount -t proc /proc /proc mount /sys echo "/sbin/udev" > /proc/sys/kernel/hotplug /sbin/udevstart echo "==== initrd: starting PCMCIA services ====" CreateCF-Node for Module in $PCIC do modprobe $Module done pcmcia-socket-startup echo -n "42" > /sys/bus/pcmcia/devices/1.0/allow_func_id_match sleep 5 umount /proc umount /dev/ram if [ "$DEBUG" != "" ] ; then /bin/sh < /dev/console fi ------------------------- [ END linuxrc ] ------------------------- At this point I can interactive do a "mnt /dev/hde1" and can inspect the file-system of the CF. Looks ok. On exit of the interactive shell the kernel should mount root and boot but: 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) Any ideas? Markus