diff --git a/internal/pxe/ipxe.go b/internal/pxe/ipxe.go index 062a867..25079aa 100644 --- a/internal/pxe/ipxe.go +++ b/internal/pxe/ipxe.go @@ -49,6 +49,13 @@ func BuildScript(p IPXEParams) string { "systemd.log_level=info", "systemd.log_target=kmsg", "systemd.journald.forward_to_console=1", + // systemd-getty-generator sees console=ttyS0 and creates + // serial-getty@ttyS0.service, which waits up to 90s for + // /dev/ttyS0 to appear. Hosts without a serial port time + // out and delay boot. Mask the getty — kernel logs still + // tee to ttyS0 if the port exists, we just don't spawn + // a login prompt there. + "systemd.mask=serial-getty@ttyS0.service", ) var b strings.Builder