]> git.ipfire.org Git - thirdparty/systemd.git/commit
vmspawn: Support direct kernel boot without UEFI firmware
authorDaan De Meyer <daan@amutable.com>
Fri, 27 Mar 2026 13:26:16 +0000 (14:26 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 8 Apr 2026 21:24:56 +0000 (23:24 +0200)
commitbb93fdaaf3b3e47360d8f136e7137cdb352dd9ed
treee9f0e4331dd039beac70479d33c381136608cd79
parentc0b3b855b722f2a5d1ac72ad249e77026a6ac8bc
vmspawn: Support direct kernel boot without UEFI firmware

When --linux= specifies a non-PE kernel image, automatically disable
UEFI firmware loading (as if --firmware= was passed). If --firmware=
is explicitly set to a path in this case, fail with an error. Booting
a UKI with --firmware= is also rejected since UKIs require UEFI.

--firmware= (empty string) can also be used explicitly to disable
firmware loading for PE kernels.

Other changes:
- Extract OVMF pflash drive setup into cmdline_add_ovmf()
- Extract kernel image type detection into determine_kernel()
- Add smbios_supported() helper to centralize the SMBIOS availability
  check (always available on x86, elsewhere requires firmware)
- Gate SMM, OVMF drives, SMBIOS11 and credential SMBIOS paths
  on firmware/SMBIOS being available
- Beef up the credential logic to fall back to fw_cfg and kernel
  command line in case SMBIOS is not available
man/systemd-vmspawn.xml
src/vmspawn/vmspawn-settings.c
src/vmspawn/vmspawn-settings.h
src/vmspawn/vmspawn-util.h
src/vmspawn/vmspawn.c