MAAS uses quite standard network booting. The booting machine starts out sending a DHCP request, to which MAAS’ DHCP server will respond with an IP and its address as the “next server”. After that the booting machine will download the bootloaders from MAAS, and request and boot loader configurations. The configuration will include links where to download the kernel and initrd, as well as which kernel parameters to use.
The bootloader will then load the kernel and initrd, and the kernel parameters include a link to an ubuntu image to use as the root filesystem. The kernel parameters also tells cloud-init to get its datasource from MAAS, which will include information on what image to deploy and how to configure it.
The images we use are at http://images.maas.io/ephemeral-v3/stable/. We use the same image for all machines, and use cloud-init to configure it per machine.