[syslinux] Accomplishing single-shot / test booting

Craig Younkins cyounkins at gmail.com
Mon Jan 11 14:25:41 PST 2021

Hello there,

Thanks for syslinux! On NixOS, some ZFS-on-linux environments, and Solaris,
there's the idea of boot environments. So if you upgrade the kernel and
there's a problem, you can simply select from the boot menu the previous
kernel. However, the part about selecting from the boot menu doesn't work
well for headless servers or embedded devices. I recently had this issue
with a raspberry pi.

One solution to this is a single-shot or 'test' default boot mode. You'd
install your new kernel, set the new boot environment as the single-shot
default, and reboot. If everything is good you'd permanently set it as the
default after the reboot. If there was a problem and no explicit action was
taken, the previous environment would be booted on next reboot by default.
The test kernel may not have even fully booted.

To accomplish this, Syslinux would need to understand such a single-shot
designation and remove the designation or otherwise change the default
behavior before attempting transition to the single-shot boot mode.

Has this been done before? Suggestions on accomplishing this with existing
syslinux commands and modules? Any more interest in this?

Craig Younkins

More information about the Syslinux mailing list