Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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)


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.

share|improve this question

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?
share|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

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

share|improve this answer
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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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