Hi guys,
I've been trying to set up a server for disk-less booting of remote machines on a network. The server host OS is RHEL6 and I have configured dhcp, tftp and nfs services which are proven to be working since I am able to install RHEL6 through pxe boot. Now I want it to serve for disk-less booting. Below are steps which I have done and then the problems I got-
-
Configure dhcp, tftp, nfs and set up for pxe booting. Tested to be working by installing RHEL through network.
-
Install dracut-network package, copy the kernel from /boot of the host server to temp and generate an initramfs with network support.
#dracut initramfs_diskless.img vmlinuz-2.6.32-279.el6.x86_64
This gave the error-
find: `/lib/modules/vmlinuz-2.6.32-279.el6.x86_64/': No such file or directory
find: `/lib/modules/vmlinuz-2.6.32-279.el6.x86_64/': No such file or directory
find: `/lib/modules/vmlinuz-2.6.32-279.el6.x86_64/': No such file or directory
find: `/lib/modules/vmlinuz-2.6.32-279.el6.x86_64/': No such file or directory
find: `/lib/modules/vmlinuz-2.6.32-279.el6.x86_64/': No such file or directory
find: `/lib/modules/vmlinuz-2.6.32-279.el6.x86_64/': No such file or directory
so I removed the vmliuz from the filename and dracut showed no errors.
-
Copy the entire root filesystem of a RHEL6 desktop installation to a location on the server, except the contents of /proc and /sys and export the location over nfs.
-
Add the following lines to default file inside pxelinux.cfg
label diskless
menu label Boot into diskless RHEL6
kernel vmlinuz-2.6.32-279.el6.x86_64
append initrd=initramfs_diskless.img root=nfs4:<NFS_IP>:<EXPORTED_ROOTFS_LOCATION> rw rdshell rdinitdebug
- Try to pxe boot a machine on the network.
Output at client side-
kernel and initramfs loads up,
ADDRCONF(NETDEV_CHANGE):eth0: link becomes ready
dracut:Mounted root filesystem <NFS_IP> <NFS_SHARE>
SELinux: Disabled at runtime
dracut: switching root
+ [ -f /etc/capsdrop ]
+ exec switch_root /sysroot /sbin/init
<Here it just stops for about 2 mins >
INFO: task init:1 blocked for more than 120 secs
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
Then it shows a bunch of memory addresses with system calls and hangs.
Please help !!!!!!!!!!