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.