Skip to main content

Frequently Asked Questions (FAQ)

What is this?

netboot.xyz is tool that allows you to boot your favorite Operating System's installer or various utilities over the network with minimal overhead and all from a single menu system. It's similar to various tools netbooting tools of the past like boot.kernel.org with a lot more flexibility. The boot loader is very light weight being under 1MB in size which translates into a very quick time to create a USB key.

How does this work?

netboot.xyz uses an open source tool called iPXE. The bootloader calls to a webserver that hosts that the iPXE source files. The iPXE source files contain menus and logic that understand how the various Linux installers operate. When you select an Operating System, netboot.xyz retrieves the images from the project directory when possible or known and trusted performant mirrors. The location the file is pulled from is always displayed during retrieval. From the very beginning, we have made it a priority to make sure that the source code for the project is open and available for review so that our users can view and understand what is happening.

What is PXE Booting?

PXE stands for Pre-Boot eXecution Environment. PXE booting has been used for years to allow for clients to boot from a server over the network. It gives you an oportunity to automate a system inside the BIOS before it boots off its hard drive which opens up the door for running stateless machines without having to use storage in the system. PXE booting is used in many applications but it's most common use is automating the installation of bare metal or a virtual machine.

Will my favorite distribution work with netboot.xyz?

Usually you need three things to boot up an OS over the network, the vmlinuz, the initramfs, and the rootfs. Distributions that support an installer kernel hosted on a mirror are typically the easier ones to implement as they are very lightweight. Distributions that only release ISOs are typically a bit more involved to implement as we have to use memdisk to load it up into memory.

From syslinux - memdisk: The majority of Linux based CD images will also fail to work with MEMDISK ISO emulation. Linux distributions require kernel and initrd files to be specified, as soon as these files are loaded the protected mode kernel driver(s) take control and the virtual CD will no longer be accessible. If any other files are required from the CD/DVD they will be missing, resulting in boot error(s). Linux distributions that only require kernel and initrd files function fully via ISO emulation, as no other data needs accessing from the virtual CD/DVD drive once they have been loaded. The boot loader has read all necessary files to memory by using INT 13h, before booting the kernel.

To get around these limitations, especially since memdisk is not supported with UEFI, we have built a CI/CD system that consumes the ISOs from upstream projects and prepares the needed files to boot the operating system remotely as a release. In some cases this may involve a small modification to the init scripts in order to tune the network boot flexibility or handle multiple parts for larger operating systems. Those releases are added to the endpoints.yml in the main netboot.xyz repo and are then available for download.

You can read more about our build system here.

My distribution uses ISOs for delivery, how can I see if they work?

You can do a quick check by loading up netboot.xyz in a virtual environment baremetal. Make sure you have plenty of RAM as you are loading the ISO into RAM. Then select the iPXE command line and enter the following;

kernel https://boot.netboot.xyz/memdisk iso raw
initrd http://url/to/iso
boot

That should load the ISO and if you make it all the way into the installer, great, your OS may work. If it fails during initramfs load trying to load the CD device, then it has the issue of not being able to find the ISO in memory.

Can I create my own configurations?

Yes! You can fork netboot.xyz-custom and create your own menu. You can then set your Github user from the Utility menu and your menu will show up in the main menu. If you don't want to set your user every time, you can custom compile the netboot.xyz iPXE code and include your github_user during the compile. This allows you to create your own menu without the maintenance of everything else.

Does netboot.xyz support Secure Boot?

iPXE and hence netboot.xyz does not support Secure Boot because its binaries are not signed by Microsoft. You must disable Secure Boot mode in your computers firmware configuration menu before you can boot netboot.xyz.

How do we keep versions current?

We have a CI/CD system that monitors upstream projects for new releases. When a new release is detected for releases without hosted installer kernels, it will download the ISO, extract it, and then repackage it with the needed iPXE files to make it bootable. It will then push the release to the netboot.xyz endpoints.yml file and then push the changes to the netboot.xyz repo. The endpoints.yml file is then used by the netboot.xyz iPXE code to display the menu options. Versions change a lot, so automation is key in making the maintenance of the project sustainable.

What Operating Systems are currently available on netboot.xyz?

Operating Systems

NameURLInstaller KernelLive OS
AlmaLinuxhttps://almalinux.org/YesNo
Alpine Linuxhttps://alpinelinux.orgYesNo
Arch Linuxhttps://www.archlinux.orgYesNo
Backboxhttps://www.backbox.orgNoYes
BlackArch Linuxhttps://blackarch.orgYesYes
Bluestar Linuxhttps://sourceforge.net/projects/bluestarlinuxNoYes
Bodhi Linuxhttps://www.bodhilinux.comNoYes
CentOShttps://centos.orgYesNo
Fedora CoreOShttps://getfedora.org/en/coreos?stream=stableYesNo
Debianhttps://debian.orgYesYes
Deepinhttps://www.deepin.orgNoYes
Devuanhttps://devuan.orgYesNo
Elementary OShttps://elementary.ioNoYes
EndeavourOShttps://endeavouros.comNoYes
Fatdog64https://distro.ibiblio.org/fatdog/web/NoYes
Fedorahttps://fedoraproject.orgYesYes
Feren OShttps://ferenos.weebly.com/YesNo
Flatcar Linuxhttps://www.flatcar.org/releases/YesNo
FreeBSDhttps://freebsd.orgYes, disk imageNo
FreeDOShttps://www.freedos.orgISO - MemdiskNo
Garuda Linuxhttps://garudalinux.org/NoYes
Gentoohttps://gentoo.orgYesYes
Harvesterhttps://harvesterhci.ioYesNo
hrmpfhttps://github.com/leahneukirchen/hrmpf/NoYes
IPFirehttps://www.ipfire.orgYesNo
K3OShttps://k3os.io/YesYes
Kali Linuxhttps://www.kali.orgYesYes
KDE Neonhttps://neon.kde.orgNoYes
Kodachihttps://www.digi77.com/linux-kodachi/NoYes
Linux Litehttps://www.linuxliteos.comNoYes
LXLEhttps://lxle.net/NoYes
Mageiahttps://www.mageia.orgYesNo
Manjarohttps://manjaro.orgNoYes
Minthttps://linuxmint.comNoYes
Microsoft Windowshttps://www.microsoft.comUser supplied mediaNo
MirOShttp://www.mirbsd.orgYesNo
Nitruxhttps://nxos.org/NoYes
NixOShttps://nixos.orgYesNo
OpenBSDhttps://openbsd.orgYesNo
openEulerhttps://www.openeuler.org/YesNo
OpenSUSEhttps://opensuse.orgYesNo
Oracle Linuxhttps://www.oracle.com/linux/YesInstaller
Parrot Securityhttps://www.parrotsec.orgNoYes
Pepperminthttps://peppermintos.comNoYes
Pop OShttps://system76.com/popNoYes
Proxmox VEhttps://www.proxmox.com/YesNo
Q4OShttps://q4os.orgNoYes
Raizohttps://sourceforge.net/projects/live-raizo/NoYes
RancherOShttps://rancher.com/rancher-osYesNo
Red Hat Enterprise Linuxhttps://www.redhat.comUser supplied mediaNo
Regolithhttps://regolith-linux.orgNoYes
Rocky Linuxhttps://rockylinux.org/YesNo
Scientific Linuxhttps://scientificlinux.orgYesNo
Septorhttps://septor.sourceforge.ioNoYes
Slackwarehttps://www.slackware.comYesNo
SmartOShttps://www.smartos.org/YesNo
SparkyLinuxhttps://sparkylinux.org/NoYes
Tailshttps://tails.boum.org/NoYes
Taloshttps://www.talos.dev/YesNo
Tiny Core Linuxhttp://www.tinycorelinux.net/YesYes
Ubuntuhttps://www.ubuntu.comYesYes
VMwarehttps://www.vmware.comUser supplied mediaNo
Voyagerhttps://voyagerlive.orgNoYes
VyOShttps://vyos.ioYesNo
Zen Installerhttps://sourceforge.net/projects/revenge-installerYesNo
Zorin OShttps://zorinos.comNoYes

Utilities

NameURLType
4MLinuxhttps://4mlinux.com/Kernel/Initrd
ALT Linux Rescuehttps://en.altlinux.org/RescueISO - Memdisk
BakAndImgCDhttps://bakandimgcd.4mlinux.com/Kernel/Initrd
Boot Repair CDhttps://sourceforge.net/projects/boot-repair-cd/LiveCD
Breakinhttps://www.advancedclustering.com/products/software/breakin/Kernel/Initrd
CAINEhttps://www.caine-live.net/LiveCD
Clonezillahttps://clonezilla.org/LiveCD
DBANhttps://dban.org/Kernel
GPartedhttps://gparted.orgLiveCD
Grmlhttps://grml.orgLiveCD
Kaspersky Rescue Diskhttps://support.kaspersky.com/viruses/krd18LiveCD
Memtesthttps://www.memtest.org/Kernel
MemTest86 Freehttps://www.memtest86.comUSB Img
Redo Rescuehttp://redorescue.com/LiveCD
Rescatuxhttps://www.supergrubdisk.org/rescatux/LiveCD
Rescuezillahttps://rescuezilla.com/LiveCD
ShredOShttps://github.com/PartialVolume/shredos.x86_64Kernel
Super Grub2 Diskhttps://www.supergrubdisk.org/ISO - Memdisk
System Rescuehttps://www.system-rescue.org/LiveCD
The Smallest Server Suitehttps://thesss.4mlinux.com/Kernel/Initrd
Ultimate Boot CDhttps://www.ultimatebootcd.com/ISO - Memdisk

What are some good resources for learning more about network booting?