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.


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

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

| improve this answer | |

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

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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