@startuml actor admin participant "UEFI Node" as bootnode participant "QIP DHCP" as dhcp participant "pxeserv01.psi.ch" as pxeserver participant "boot00.psi.ch" as sysdb participant "repo01.psi.ch" as reposerver admin -> bootnode : boots up hnote over bootnode EFI endhnote bootnode -> dhcp : DHCP request dhcp -> bootnode : IP + PXE boot location bootnode -> pxeserver : load PXE kernel tftp:/tftpboot/shimx64.efi bootnode -> pxeserver : load PXE kernel tftp:/tftpboot/grubx64.efi hnote over bootnode GRUB endhnote bootnode -> pxeserver : load PXE config tftp:/tftpboot/grub.cfg-01-$MAC note right By manually setting a MAC or IP config the boot menu can be customised or shortcut. end note bootnode -> pxeserver : load PXE config tftp:/tftpboot/grub.cfg-$HEX-IP bootnode -> pxeserver : load PXE config tftp:/tftpboot/grub.cfg bootnode -> sysdb : load GRUB menu http:/grub/v1/config?mac=$MAC note right Default selection by sydb boot property "local" or "netboot", later automatically starts the installer configured in sysdb attribute "ipxe_installer". Manually selectable are other version of RHEL 7 and "Windows and Tools Menus". endnote admin -> bootnode : selects "Windows and Tools Menus" note left Now the automatic installation kicks in, but here we show the manual detour over iPXE. end note bootnode -> pxeserver : load iPXE kernel tftp:/tftpboot/ipxe.efi note right https://git.psi.ch/linux-infra/ipxe-build The following steps are by embed/pxe.ipxe end note hnote over bootnode iPXE endhnote bootnode -> dhcp : DHCP request dhcp -> bootnode : IP bootnode -> sysdb : load iPXE menu http:/ipxe/v1/config?mac=$MAC note right Default selection by sydb boot property "local" or "netboot", later automatically starts the installer configured in sysdb attribute "ipxe_installer". Manually selectable are all Red Hat 7 versions and Red Hat 8 alpha test version to install, Windows, a selection of tools and "HP SPP". endnote bootnode -> reposerver : load initrd http:/iso/rhel-server-7.9-x86_64-dvd/images/pxeboot/initrd.img note left Automatic installation in GRUB directly jumps here without iPXE end note bootnode -> reposerver : load kernel http:/iso/rhel-server-7.9-x86_64-dvd/images/pxeboot/vmlinuz hnote over bootnode Linux kernel endhnote bootnode -> reposerver : installation media http:/iso/rhel-server-7.9-x86_64-dvd/ bootnode -> sysdb : kickstart file http:/kickstart/v1/config?fqdn=$HOSTNAME&instrepo=rhel-server-7.9-x86_64-dvd @enduml