0

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

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.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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