I got DHCP/TFTP working great with no problems today. I can PXE Boot memtest off of the server with no problem, so I know there's nothing wrong there.

For some reason, the image I'm trying to boot into just doesn't want to cooperate. I'm completely at a loss for what I can do with this and Googling hasn't helped either. I can't see very much of the scrollback, but the last two (important-looking) lines are this:

No filesystem could mount root, tried: reiserfs ext3 ext4 vfat msdos iso9660 xfs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)

pxelinux.cfg/default:

label linux
kernel vmlinuz.2628hr7
append initrd=/initrd.gz init=/init noapic acpi=off raid=noautodetect ramdisk_size=200000 devfs=nomount root=/dev/ram0 rw

The kernel is the exact same kernel that actually runs on the exact same hardware configuration as the machine I'm trying to PXE Boot. Could it be a problem with the PXE Image? Any help would be greatly appreciated.

link|improve this question

feedback

4 Answers

It's not a kernel problem, but it cannot mount the filesystem. Have you changed the partition table? Does the kernel know where root is (ie maybe 'today' it's /dev/sdb instead of /dev/sda.. I've seen it happening). Also consider:

  • permission
  • why mount rw?
link|improve this answer
That's the thing, I don't want it to mount any existing filesystem. I want it to mount the contents of the image initrd.gz as the root filesystem in RAM. I don't want to touch the underlying filesystem, if one exists, but in this case one doesn't. – Jeremy Privett Dec 11 '09 at 8:51
I think it's trying to mount /dev/ram0 as the root filesystem -- which must be formatted and populated by something in the initrd ramdisk. Either the /init script can't do it, doesn't do it, or is not allowed to (executable? is the interpreter -i.e. /bin/bash) actually available? also, I wonder if the ramdisk size isn't too small for a whole root fs. – lorenzog Dec 11 '09 at 9:35
Aha. I see what the problem is. /init didn't actually get built into my image. That should fix the problem. I'm rebuilding the image, now. – Jeremy Privett Dec 11 '09 at 18:55
you're welcome :) – lorenzog Dec 12 '09 at 9:22
feedback

Get rid of the root=/dev/ram0 - you don't need it if you're booting directly into an initrd

link|improve this answer
feedback
up vote 0 down vote accepted

The problem was that the /init script somehow didn't get build into initrd.gz. Getting that added properly fixed the issue.

link|improve this answer
feedback

How do you include that script during your image creation ?

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.