diff --git a/man/bootctl.xml b/man/bootctl.xml index edb6bd07e7..cbe735437f 100644 --- a/man/bootctl.xml +++ b/man/bootctl.xml @@ -608,7 +608,7 @@ System: TPM2 Support: yes Boot into FW: supported ← does the firmware support booting into itself -Current Boot Loader: ← details about sd-boot or another boot loader +Current Boot Loader: ← details about systemd-boot or another boot loader Product: systemd-boot version implementing the Boot Loader Interface Features: ✓ Boot counting diff --git a/man/systemd-boot.xml b/man/systemd-boot.xml index 94eaae2d6b..c465d4f4f3 100644 --- a/man/systemd-boot.xml +++ b/man/systemd-boot.xml @@ -383,10 +383,10 @@ Optionally, a random seed for early boot entropy pool provisioning is stored in /loader/random-seed in the ESP. - During initialization, sd-boot automatically loads all driver files placed in - the /EFI/systemd/drivers/ directory of the ESP. The files placed there must have an - extension of the EFI architecture ID followed by .efi (e.g. for x86-64 this means a - suffix of x64.efi). This may be used to automatically load file system drivers and + During initialization, systemd-boot automatically loads all driver files placed + in the /EFI/systemd/drivers/ directory of the ESP. The files placed there must have + an extension of the EFI architecture ID followed by .efi (e.g. for x86-64 this means + a suffix of x64.efi). This may be used to automatically load file system drivers and similar, to extend the native firmware support. Enrollment of Secure Boot variables can be performed manually or automatically if files are available @@ -711,18 +711,26 @@ uki-url http://example.com/somedir/fooos.efi Using <command>systemd-boot</command> in virtual machines - When using qemu with OVMF (UEFI Firmware for virtual machines) the switch - works not only for linux kernels, but for any EFI binary, including sd-boot and unified linux - kernels. Example command line for loading systemd-boot on x64: + When using qemu with + OVMF + (UEFI Firmware for virtual machines) the switch works not only for linux + kernels, but for any EFI binary, including systemd-boot and unified linux kernels + (UKIs). Example command line for loading systemd-boot on x64: - qemu-system-x86_64 [ ... ] - -kernel /usr/lib/systemd/boot/efi/systemd-bootx64.efi + qemu-system-x86_64 + -drive if=pflash,format=qcow2,readonly=on,file=/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2 + -kernel /usr/lib/systemd/boot/efi/systemd-bootx64.efi + -drive file=... + [ ... ] + - systemd-boot will detect that it was started directly instead of being loaded from ESP and will - search for the ESP in that case, taking into account boot order information from the hypervisor (if - available). + (The path to the firmware file might need to be adjusted depending on the distribution.) + systemd-boot will detect that it was started directly instead of being loaded from + ESP and will search for the ESP in that case, taking into account boot order information from the + hypervisor (if available). Note that for this to yield a useful result, another + argument needs to be used to attach an actual disk image with an ESP. diff --git a/man/ukify.xml b/man/ukify.xml index 9262ae34b2..0f953cd94d 100644 --- a/man/ukify.xml +++ b/man/ukify.xml @@ -45,11 +45,19 @@ Description ukify is a tool whose primary purpose is to combine components (usually a - kernel, an initrd, and a UEFI boot stub) to create a - Unified Kernel Image (UKI) - — a PE binary that can be executed by the firmware to start the embedded linux kernel. - See systemd-stub7 - for details about the stub. + kernel, an initrd, and the + systemd-stub7 UEFI + stub) to create a Unified + Kernel Image (UKI) — a single PE binary that boots the system. When the UKI is executed, the stub + extracts and boots the embedded linux kernel. The UKI can be started directly by the firmware or through + a boot loader. When used with qemu, a UKI can also + be executed through "direct kernel boot", see example below. + + ukify can also be used generate other types of UKI-like images, in particular + extensions. See the description of the build verb below. ukify can + also generate certificates and keys for SecureBoot and PCR signing, see the description of the + genkey verb below. ukify can also print detailed information about + unified kernel images, see the description of inspect verb below. @@ -719,6 +727,27 @@ This creates an unsigned UKI ./vmlinuz.unsigned.efi. + + Direct kernel boot in a virtual machine + + When using qemu with + OVMF + (UEFI Firmware for virtual machines) the switch can be used directly with a + UKI. Example: + + + qemu-kvm + -drive if=pflash,format=qcow2,readonly=on,file=/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2 + -kernel ./vmlinuz.unsigned.efi + [ ... ] + + + + (The path to the firmware file might need to be adjusted depending on the distribution.) Usually, + another argument would to be used to attach an actual disk image, but this + is not required. + + All the bells and whistles