PXE boot
flowchart TD
subgraph controller[Initial controller]
Ansible
dhcp[DHCP server]
tftp[TFTP server]
http[HTTP server]
end
machine[Bare metal machine]
Ansible -. 1 .-> machine
machine <-. 2, 3 .-> dhcp
machine <-. 4, 5 .-> tftp
machine <-. 6, 7 .-> http
- Ansible: Hey MAC address
xx:xx:xx:xx:xx:xx
, wake up! - Machine: Hello everyone, I just woke up in network mode, could someone please show me how to boot?
- DHCP server: I hear you, here's your IP address, proceed to the next server to obtain your bootloader.
- Machine: Hello, could you please send me my bootloader?
- TFTP server: Here you go. Grab your boot configuration, kernel, and initial ramdisk as well.
- Machine: Hi, I just booted into my bootloader, and my boot parameters instructed me to get the installation instructions, packages, etc. from this site.
- HTTP server: It's all yours.
- Machine: Great, now I can install the OS and reboot!
Here's how it looks like in action: