[syslinux] Kernel panic on change from 2.4.x to 2.6.x

Markus Biermaier mbier at office-m.at
Sun Jun 4 02:31:56 PDT 2006


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_OPTS=
CORE_OPTS=
mount -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_OPTS=
CORE_OPTS=
DEBUG=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




More information about the Syslinux mailing list