MAAS supports booting over TFTP or HTTP – whatever your firmware supports. On every platform except S390X, once the boot loader has transferred, the kernel and initrd are always transferred over HTTP, regardless of boot method.
MAAS attempts to use HTTP during the boot process as much as possible. In the case of legacy PXE booting, the boot loader is transferred over TFTP, while all remaining resources are transferred over HTTP. The UEFI specification allows for booting to happen over TFTP and, in later editions, HTTP. The bootloader (grub) and boot loader configuration will be transferred using whatever protocol your firmware supports. All remaining files will be transferred over HTTP. MAAS currently doesn’t support HTTPS.
Here’s a detailed rundown of different combinations:
-
PXE Booting(BIOS) - Legacy x86_64/i386 systems only support booting over TFTP. Newer versions of pxelinux ship with lpxelinux.0 which enable HTTP support in pxelinux. During PXE booting the machine gets lpxelinux.0 over TFTP; pxelinux.cfg, the kernel, initrd, and SquashFS are all transferred over HTTP.
-
PXE Boot VM(BIOS)/iPXE - kvm implemented legacy PXE booting by using iPXE. No bootloader needs to be sent if the system is using iPXE. Instead, DHCP tells iPXE where to get its config file. MAAS does not provide the iPXE bootloader, but it will generate iPXE config if requested. Note that ipxe.cfg is transferred over HTTP; TFTP isn’t used at all with iPXE.
-
UEFI Netboot TFTP - Many older UEFI systems only support TFTP booting. Others, like OVMF (firmware kvm uses for UEFI), it tries TFTP first, then HTTP. MAAS sends grub over TFTP, which requests its config over TFTP.
-
UEFI Netboot HTTP - MAAS supports full HTTP boot via UEFI (if the firmware supports it).
-
UEFI Netboot HTTPS - MAAS does not currently support HTTPS booting.