khuedoan-homelab/docs/concepts/pxe-boot.md
Khue Doan 1405fadf1a refactor(docs): apply the Diátaxis framework
Squashed commit of the following:

commit 257867f196376df55fa0f57edbdf33967b1da04e
Author: Khue Doan <mail@khuedoan.com>
Date:   Sun Sep 18 16:45:42 2022 +0700

    refactor(docs): apply the Diátaxis framework
2022-09-19 02:40:07 +07:00

1.2 KiB

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
  1. Ansible: Hey MAC address xx:xx:xx:xx:xx:xx, wake up!
  2. Machine: Hello everyone, I just woke up in network mode, could someone please show me how to boot?
  3. DHCP server: I hear you, here's your IP address, proceed to the next server to obtain your bootloader.
  4. Machine: Hello, could you please send me my bootloader?
  5. TFTP server: Here you go. Grab your boot configuration, kernel, and initial ramdisk as well.
  6. Machine: Hi, I just booted into my bootloader, and my boot parameters instructed me to get the installation instructions, packages, etc. from this site.
  7. HTTP server: It's all yours.
  8. Machine: Great, now I can install the OS and reboot!

Here's how it looks like in action: