Adventures in Network Booting
Over the years, I have amassed a modest collection of old ThinkPads, bargain bin Dell laptops, consumer-grade poorly-specced solid-Chinesium desktops from the mid 2010s, and other x86-powered machines that were priced just right that I couldn’t pass them up. At this point, you’re probably either thinking “this is a broken man with a horrible addiction,” or “HE JUST LIKE ME FR!!!”
Either way, tending to this empire of dirt has earned me a particular affinity for installing operating systems. When you do it enough, you come to appreciate a thumb drive with good read/write speeds. You stop attending social functions in favor of maintaining your stockpile of ISOs. You may even keep a list of all your machines and their corresponding boot menu hotkeys. Since the beginning I have been aching for a better way. Today, it finally arrived:
Netboot.xyz is a free (libre) project that allows the user to boot a plethora of systems with nothing but a network connection. There are a number of ways to accomplish this, and they’re all relatively well-documented for what appears to be a small project.
Firstly, you can simply use the iPXE command line to boot over the internet to boot.netboot.xyz. This is by far the simplest solution, but most systems don’t allow you to manually open the iPXE command line. Alternatively, you can host a TFTP server with the boot files and make your DHCP server point all PXE traffic to it. (There’s also a heckin’ Docker containerino to provide the TFTP component, if you’re into that.)
All of the options have their benefits and drawbacks, but this isn’t a tutorial. My intention is only to showcase this neat piece of software, as well as the underappreciated magic of network booting.
So what can it do?
It would probably be much easier to detail what it can’t do. Most predictably, it can retrieve a plethora of Linux and BSD distros, both as installers and live ISOs. More interestingly, it also provides access to a respectable suite of utility images, from GParted to DBAN (Darik’s Boot and Nuke), and many more.
It’s also worth noting that while it isn’t available out of the box, it even supports Windows PE with a bit of setup on the end user’s part.
Ever since the first time I opened a boot menu, I had always noticed the “Network boot” option. After all these years, this is the first time I’ve ever seen a real-world use case for it. It goes to show that free software developers are solving problems that the proprietary world hasn’t even noticed yet. With that being said, I hope that projects like netboot.xyz can gain traction and inspire more inventive uses of computing systems that have gone underutilized for far too long.
The solutions to all of life’s problems (even those as mundane as booting from a flash drive) are often just under our noses. Moreover, many problems themselves can often go unnoticed, being nothing more than a minor annoyance that doesn’t even provoke enough attention to register a thought. Not everything has to be hyper-efficient, regardless of what the post-industrial powers-that-be might tell you. Still, it doesn’t hurt to appreciate the small stuff.