Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'd like to be able to boot a remote client over the network from an ISO that is also on the network. For this I'm using Red Hat Enterprise Linux 6 server configured to act as a PXE server.

I'm having some issues which are probably quite basic but for me, as my knowledge of linux is not very deep, are turning out to be quite difficult.

I've got the following configuration running on a RHEL6 server:

  • dhcpd, points clients at /var/lib/tftpboot/pxelinux.0 file
  • tftpd file server
  • initrd-2.6.32-71.el6.x86_64.img copied from server's /boot dir to /var/lib/tftpboot/initrd.img
  • vmlinuz-2.6.32-71.el6.x86_64 copied from server's /boot directory to /var/lib/tftpboot/vmlinuz
  • nginx web server to host ISO
  • pxelinux.cfg/default file containing:

    LABEL linux
    KERNEL vmlinuz
    IPAPPEND 1
    APPEND vga=791 splash=silent initrd=initrd.img ramdisk_size=400000 copy2ram
    noauto nocd nohd root=/dev/ram0 ro from=http://192.168.1.1/slax.iso nosound
    

When I test this using a disk-less client (a virtual machine) it loads vmlinuz and initrd.img ok, I see a RHEL6 loading screen, then after a few seconds it cuts back to the terminal saying "No root device found".

From that message I'm guessing that it can't find '/dev/ram0' (see pxelinux.cfg/default file above)? How can it not have found the RAM? How can I resolve this?

I'd use cobbler if I could but it has a dependency on fence-agents which cannot be resolved. I can't find any other package that ties all the PXE server functionality together in one neat noob-proof package.

Any help would be much appreciated.

Thanks, Ben

share|improve this question

1 Answer 1

Some of the boot parameters you are using on your APPEND line (e.g. copy2ram, from) are not universal linux boot parameters. Instead, they are implemented by a specific distribution in its initial ramdisk. I am pretty sure they are not implemented by RHEL6. If you found those options in the Slax documentation, just replace the RHEL6 kernel and initial ramdisk you put in /var/lib/tftpboot with the Slax kernel and ramdisk and you should be good.

In general, you should not try to use a kernel and initial ramdisk from one linux distribution with a root filesystem from another linux distribution unless you have a good reason. You can get confused by which documentation applies or run into technical incompatibilities.

share|improve this answer

Your Answer

 
discard

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.