Hello all,
I am attempting to PXE boot Redhat 5.4 and load the OS into RAM. Here is how far I have gotten so far:
I have successfully configured my DHCP, TFTP, and PXE servers. The PC that is booting up Redhat 5.4 is able to get a DHCP IP address from the server, grab the kernel and initrd from the TFTP server, and boot up from there. I have this setup working if I store the root file system on a NFS share on the server and use the kernel's NFSROOT parameter. Long story short, I now need to get this same setup working without using NFS if possible. I have spent several hours google searching how to create a RAM disk (initrd) that also contains the root file system. I must be searching the wrong keywords. Anyway, based on what I have read so far, I need to do the following:
1. I need to pass different kernel parameters. It needs to look something like:
kernel initrd=/initrd_with_root_file_system.gz rw root=/dev/ram0
2. It seems like newer versions of initrd are created using the cpio tool. So would this simply be a matter of booting to my hard drive that has Redhat 5.4 loaded on it and running:
% find . -depth -print | cpio -ov > initrd.img
to create the RAM disk with a root file system attached to it? I have a feeling it has to be more complicated than that but I just cannot find any sites that specifically explain what would be involved with creating an initrd file that can also be used as the root file system.
3. Would I need to modify the init script (many sites call it "linuxrc") at all in order to accomplish what I want to do? For example, I found this site:
http://www.jacobstoner.com/index.php...oot-on-ramdisk
My understanding of this page is that you have to create a linuxrc script that basically does the work of decompressing the file system into /dev/ram0 and mounting it to /root. Is something like this actually needed?
4. The kernel must have certain parameters set such as enabling RAM disk support.
I have most of this setup working. I just need to figure out how to basically store the contents of the OS on the TFTP server and then tell the kernel to load that OS into memory. Based on what I have read, this should be possible (otherwise, how do Live CD's work?).
Thanks for any help!