add a note on -shim to direct kernel boot docs

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
Link: https://lore.kernel.org/qemu-devel/20260612161707.158029-1-kraxel@redhat.com
Signed-off-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
This commit is contained in:
Gerd Hoffmann
2026-06-12 18:17:07 +02:00
committed by Pierrick Bouvier
parent b0df6e2f2c
commit 717cd7bc76

View File

@@ -17,6 +17,23 @@ Use ``-kernel`` to provide the Linux kernel image and ``-append`` to
give the kernel command line arguments. The ``-initrd`` option can be
used to provide an INITRD image.
The ``-shim`` option specifies the ``shim.efi`` binary. This is needed
when you are booting UEFI firmware and using the ``-kernel`` option to
tell UEFI to boot a specific kernel image, and the UEFI firmware you
are booting has UEFI secure boot enabled.
When this option is specified, the guest UEFI firmware will first
load, verify and run the shim binary, which is typically signed by
Microsoft so the firmware accepts it. The shim binary in turn will
load and verify the Linux kernel. The kernel is typically signed by
the distro and the certificates needed to verify them are compiled
into the shim binary, so shim and kernel must come from the same Linux
distribution.
Usually you can find shim.efi as ``EFI/BOOT/BOOT{X64,AA64}.EFI`` on
distro install media. You might find a second shim copy in the
``EFI/$distro/`` directory.
If you do not need graphical output, you can disable it and redirect the
virtual serial port and the QEMU monitor to the console with the
``-nographic`` option. The typical command line is: