[ipxe-devel] Non-ISO Diskless Boot - Pointers?

Robin Smidsrød robin at smidsrod.no
Wed Dec 4 08:54:21 UTC 2013

On 03.12.2013 18:05, Richard Hornbaker wrote:
> I could use some pointers on a concept I'm chasing.  The idea is a diskless boot for CentOS, but using NFS or HTTP sources instead of ISO.

Couldn't you use the tried and true NFS root method that has been
available for years and years? Go to tldp.org and search for "NFS root"
and you'll find several HOWTOs. Not sure how well they work with current
distros, but I'm going to assume it hasn't changed that much.

> I've found examples of ISO diskless boot, and NFS/HTTP installers, but not NFS/HTTP diskless boot.

I've got Ubuntu Live (casper) booting over NFS in my example menu (see
http://ipxe.org/examples), but I'm guessing you don't want to boot a
live system, but something installed, right?

> * Easily modified boot files.  I need to hand this off to customers, and using NFS or HTTP sources make this very easy compared to ISO.  If folks need to change files, I'd like them to be able to just modify them in the boot server's filesystem.

Should be no problem. Change the file on the NFS server and you're done.
Reboot if required.

> * Upon boot, each node would operate like a torrent server, becoming an additional boot source and serving up its filesystem as source for other booting nodes.  Another reason for it to be filesystem-based and not ISO-based.

Well. That would probably require some form of orchestration and
clustering support tool. My guess you'd need to script a reasonable
amount of stuff to set up each node automatically. My favorite is
currently SaltStack.org.

> If push came to shove, I could tolerate the duplicate RAM consumption with an ISO boot if the ISO could be accessed and served up by the node once booted.  But this image is for hardware verification (incl. RAM tests), so a small footprint is preferred.

If you've already booted Linux you can't run tools like memtest86+.
Those would have to be part of what you do before you boot your kernel.
My guess is that you might find some use in PuppetLabs Razor product. It
has a microkernel that does inventory and a way to boot a node in
verification mode (for memory tests and such) before it is put into
production. Not sure exactly how it all works. Just copying what I've heard.

> I haven't had a lot of success booting from HTTP or NFS in a diskless scenario, only ISO.  Any pointers?  Maybe to folks who've done this before?

Boot a kernel + initrd (use either NFS or HTTP protocol, or even TFTP,
doesn't matter), specify kernel options to mount the nfs root system,
that should be it.

Also browse forum.ipxe.org. You might find some useful information in
the archives there.

-- Robin

More information about the ipxe-devel mailing list