# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2024-03-01 17:11+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "SYSTEMD-STUB" msgstr "" #. type: TH #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid "systemd 255" msgstr "" #. type: TH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "systemd-stub" msgstr "" #. ----------------------------------------------------------------- #. * MAIN CONTENT STARTS HERE * #. ----------------------------------------------------------------- #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "NAME" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "systemd-stub, sd-stub, linuxx64.efi.stub, linuxia32.efi.stub, linuxaa64.efi." "stub - A simple UEFI kernel boot stub" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "SYNOPSIS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "/usr/lib/systemd/boot/efi/linuxx64\\&.efi\\&.stub" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "/usr/lib/systemd/boot/efi/linuxia32\\&.efi\\&.stub" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "/usr/lib/systemd/boot/efi/linuxaa64\\&.efi\\&.stub" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I/\\&.\\&.\\&./I\\&.efi\\&.extra\\&.d/*\\&.addon\\&.efi" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I/\\&.\\&.\\&./I\\&.efi\\&.extra\\&.d/*\\&.cred" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I/\\&.\\&.\\&./I\\&.efi\\&.extra\\&.d/*\\&.raw" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I/loader/addons/*\\&.addon\\&.efi" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I/loader/credentials/*\\&.cred" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "DESCRIPTION" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "B (stored in per-architecture files linuxx64\\&.efi\\&.stub, " "linuxia32\\&.efi\\&.stub, linuxaa64\\&.efi\\&.stub on disk) is a simple UEFI " "boot stub\\&. An UEFI boot stub is attached to a Linux kernel binary image, " "and is a piece of code that runs in the UEFI firmware environment before " "transitioning into the Linux kernel environment\\&. The UEFI boot stub " "ensures a Linux kernel is executable as regular UEFI binary, and is able to " "do various preparations before switching the system into the Linux world\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "The UEFI boot stub looks for various resources for the kernel invocation " "inside the UEFI PE binary itself\\&. This allows combining various resources " "inside a single PE binary image (usually called \"Unified Kernel Image\", or " "\"UKI\" for short), which may then be signed via UEFI SecureBoot as a whole, " "covering all individual resources at once\\&. Specifically it may include:" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "A \"\\&.linux\" section with the ELF Linux kernel image\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "An \"\\&.osrel\" section with OS release information, i\\&.e\\&. the " "contents of the B(5) file of the OS the kernel belongs to\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "A \"\\&.cmdline\" section with the kernel command line to pass to the " "invoked kernel\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "An \"\\&.initrd\" section with the initrd\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "A \"\\&.splash\" section with an image (in the Windows \\&.BMP format) to " "show on screen before invoking the kernel\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "A \"\\&.dtb\" section with a compiled binary DeviceTree\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "A \"\\&.uname\" section with the kernel version information, i\\&.e\\&. the " "output of B for the kernel included in the \"\\&.linux\" " "section\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "An \"\\&.sbat\" section with \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2 " "revocation metadata\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "A \"\\&.pcrsig\" section with a set of cryptographic signatures for the " "expected TPM2 PCR values after the kernel has been booted, in JSON " "format\\&. This is useful for implementing TPM2 policies that bind disk " "encryption and similar to kernels that are signed by a specific key\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "A \"\\&.pcrpkey\" section with a public key in the PEM format matching the " "signature data in the the \"\\&.pcrsig\" section\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "If UEFI SecureBoot is enabled and the \"\\&.cmdline\" section is present in " "the executed image, any attempts to override the kernel command line by " "passing one as invocation parameters to the EFI binary are ignored\\&. Thus, " "in order to allow overriding the kernel command line, either disable UEFI " "SecureBoot, or don\\*(Aqt include a kernel command line PE section in the " "kernel image file\\&. If a command line is accepted via EFI invocation " "parameters to the EFI binary it is measured into TPM PCR 12 (if a TPM is " "present)\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "If a DeviceTree is embedded in the \"\\&.dtb\" section, it replaces an " "existing DeviceTree in the corresponding EFI configuration table\\&. systemd-" "stub will ask the firmware via the \"EFI_DT_FIXUP_PROTOCOL\" for hardware " "specific fixups to the DeviceTree\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "The contents of eight of these nine sections are measured into TPM PCR " "11\\&. It is otherwise not used and thus the result can be pre-calculated " "without too much effort\\&. The \"\\&.pcrsig\" section is not included in " "this PCR measurement, since it is supposed to contain signatures for the " "output of the measurement operation, and thus cannot also be input to it\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "When \"\\&.pcrsig\" and/or \"\\&.pcrpkey\" sections are present in a unified " "kernel image their contents are passed to the booted kernel in an synthetic " "initrd cpio archive that places them in the /\\&.extra/tpm2-pcr-signature\\&." "json and /\\&.extra/tpm2-pcr-public-key\\&.pem files\\&. Typically, a " "B(5) line then ensures they are copied into /run/systemd/tpm2-" "pcr-signature\\&.json and /run/systemd/tpm2-pcr-public-key\\&.pem where they " "remain accessible even after the system transitions out of the initrd " "environment into the host file system\\&. Tools such B(8), B(1) and B(1) will " "automatically use files present under these paths to unlock protected " "resources (encrypted storage or credentials) or bind encryption to booted " "kernels\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "For further details about the UKI concept, see the \\m[blue]B\\m[]\\&\\s-2\\u[2]\\d\\s+2\\&." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "COMPANION FILES" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "The B UEFI boot stub automatically collects three types of " "auxiliary companion files optionally placed in drop-in directories on the " "same partition as the EFI binary, dynamically generates B initrd " "archives from them, and passes them to the kernel\\&. Specifically:" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "For a kernel binary called I\\&.efi, it will look for files with the " "\\&.cred suffix in a directory named I\\&.efi\\&.extra\\&.d/ next to " "it\\&. If the kernel binary uses a counter for the purpose of " "\\m[blue]B\\m[]\\&\\s-2\\u[3]\\d\\s+2, this " "counter will be ignored\\&. For example, I+3-0\\&.efi will look in " "directory I\\&.efi\\&.extra\\&.d/\\&. A B archive is generated " "from all files found that way, placing them in the /\\&.extra/credentials/ " "directory of the initrd file hierarchy\\&. The main initrd may then access " "them in this directory\\&. This is supposed to be used to store auxiliary, " "encrypted, authenticated credentials for use with " "I in the UEFI System Partition\\&. See B(5) and B(1) for details on encrypted credentials\\&. " "The generated B archive is measured into TPM PCR 12 (if a TPM is " "present)\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "Similarly, files I\\&.efi\\&.extra\\&.d/*\\&.raw are packed up in a " "B archive and placed in the /\\&.extra/sysext/ directory in the initrd " "file hierarchy\\&. This is supposed to be used to pass additional system " "extension images to the initrd\\&. See B(8) for details on " "system extension images\\&. The generated B archive containing these " "system extension images is measured into TPM PCR 13 (if a TPM is present)\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "Similarly, files I\\&.efi\\&.extra\\&.d/*\\&.addon\\&.efi are loaded " "and verified as PE binaries, and a \"\\&.cmdline\" section is parsed from " "them\\&. Addons are supposed to be used to pass additional kernel command " "line parameters or Devicetree blobs, regardless of the kernel image being " "booted, for example to allow platform vendors to ship platform-specific " "configuration\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "In case Secure Boot is enabled, these files will be validated using keys in " "UEFI DB, Shim\\*(Aqs DB or Shim\\*(Aqs MOK, and will be rejected " "otherwise\\&. Additionally, if the both the addon and the UKI contain a a " "\"\\&.uname\" section, the addon will be rejected if they do not match " "exactly\\&. It is recommended to always add a \"\\&.sbat\" section to all " "signed addons, so that they may be revoked with a SBAT policy update, " "without requiring blocklisting via DBX/MOKX\\&. The B(1) tool will " "add a SBAT policy by default if none is passed when building addons\\&. For " "more information on SBAT see \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "Addon files are sorted, loaded, and measured into TPM PCR 12 (if a TPM is " "present) and appended to the kernel command line\\&. UKI command line " "options are listed first, then options from addons in /loader/addons/*\\&." "addon\\&.efi, and finally UKI-specific addons\\&. Device tree blobs are " "loaded and measured following the same algorithm\\&. Addons are always " "loaded in the same order based on the filename, so that, given the same set " "of addons, the same set of measurements can be expected in PCR12\\&. " "However, note that the filename is not protected by the PE signature, and as " "such an attacker with write access to the ESP could potentially rename these " "files to change the order in which they are loaded, in a way that could " "alter the functionality of the kernel, as some options might be order-" "dependent\\&. If you sign such addons, you should pay attention to the PCR12 " "values and make use of an attestation service so that improper use of your " "signed addons can be detected and dealt with using one of the aforementioned " "revocation mechanisms\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "Files /loader/credentials/*\\&.cred are packed up in a B archive and " "placed in the /\\&.extra/global_credentials/ directory of the initrd file " "hierarchy\\&. This is supposed to be used to pass additional credentials to " "the initrd, regardless of the kernel being booted\\&. The generated B " "archive is measured into TPM PCR 12 (if a TPM is present)\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "Additionally, files /loader/addons/*\\&.addon\\&.efi are loaded and verified " "as PE binaries, and \"\\&.cmdline\" and/or \"\\&.dtb\" sections are parsed " "from them\\&. This is supposed to be used to pass additional command line " "parameters or Devicetree blobs to the kernel, regardless of the kernel being " "booted\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "These mechanisms may be used to parameterize and extend trusted (i\\&.e\\&. " "signed), immutable initrd images in a reasonably safe way: all data they " "contain is measured into TPM PCRs\\&. On access they should be further " "validated: in case of the credentials case by encrypting/authenticating them " "via TPM, as exposed by B (see B(1) " "for details); in case of the system extension images by using signed Verity " "images\\&." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "TPM PCR NOTES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "Note that when a unified kernel using B is invoked the " "firmware will measure it as a whole to TPM PCR 4, covering all embedded " "resources, such as the stub code itself, the core kernel, the embedded " "initrd and kernel command line (see above for a full list)\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "Also note that the Linux kernel will measure all initrds it receives into " "TPM PCR 9\\&. This means every type of initrd will be measured two or three " "times: the initrd embedded in the kernel image will be measured to PCR 4, " "PCR 9 and PCR 11; the initrd synthesized from credentials will be measured " "to both PCR 9 and PCR 12; the initrd synthesized from system extensions will " "be measured to both PCR 4 and PCR 9\\&. Let\\*(Aqs summarize the OS " "resources and the PCRs they are measured to:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "B" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "OS Resource" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "Measurement PCR" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid ".T&" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "l l" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "l l." msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "B code (the entry point of the unified PE binary)" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "4" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "Core kernel code (embedded in unified PE binary)" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "4 + 11" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "OS release information (embedded in the unified PE binary)" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "Main initrd (embedded in unified PE binary)" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "4 + 9 + 11" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "Default kernel command line (embedded in unified PE binary)" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "Overridden kernel command line" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "12" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "Boot splash (embedded in the unified PE binary)" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "TPM2 PCR signature JSON (embedded in unified PE binary, synthesized into initrd)" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "4 + 9" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "TPM2 PCR PEM public key (embedded in unified PE binary, synthesized into initrd)" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "Credentials (synthesized initrd from companion files)" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "9 + 12" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "System Extensions (synthesized initrd from companion files)" msgstr "" #. type: tbl table #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "9 + 13" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "EFI VARIABLES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "The following EFI variables are defined, set and read by B, " "under the vendor UUID \"4a67b082-0a4c-41cf-b6c7-440b29bb8c4f\", for " "communication between the boot stub and the OS:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "Contains the partition UUID of the EFI System Partition the EFI image was " "run from\\&. B(8) uses this information to " "automatically find the disk booted from, in order to discover various other " "partitions on the same disk automatically\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "Added in version 250\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I, I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "Brief firmware information\\&. Use B(1) to view this data\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "The path of EFI executable, relative to the EFI System Partition\\*(Aqs root " "directory\\&. Use B(1) to view this data\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "Brief stub information\\&. Use B(1) to view this data\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "The PCR register index the kernel image, initrd image, boot splash, " "devicetree database, and the embedded command line are measured into, " "formatted as decimal ASCII string (e\\&.g\\&. \"11\")\\&. This variable is " "set if a measurement was successfully completed, and remains unset " "otherwise\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "Added in version 252\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "The PCR register index the kernel command line and credentials are measured " "into, formatted as decimal ASCII string (e\\&.g\\&. \"12\")\\&. This " "variable is set if a measurement was successfully completed, and remains " "unset otherwise\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "The PCR register index the systemd extensions for the initrd, which are " "picked up from the file system the kernel image is located on\\&. Formatted " "as decimal ASCII string (e\\&.g\\&. \"13\")\\&. This variable is set if a " "measurement was successfully completed, and remains unset otherwise\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "Note that some of the variables above may also be set by the boot loader\\&. " "The stub will only set them if they aren\\*(Aqt set already\\&. Some of " "these variables are defined by the \\m[blue]B\\m[]\\&\\s-2\\u[4]\\d\\s+2\\&." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "INITRD RESOURCES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "The following resources are passed as initrd cpio archives to the booted " "kernel, and thus make up the initial file system hierarchy in the initrd " "execution environment:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "/" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "The main initrd from the \"\\&.initrd\" PE section of the unified kernel " "image\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "/\\&.extra/credentials/*\\&.cred" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "Credential files (suffix \"\\&.cred\") that are placed next to the unified " "kernel image (as described above) are copied into the /\\&.extra/" "credentials/ directory in the initrd execution environment\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "/\\&.extra/global_credentials/*\\&.cred" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "Similarly, credential files in the /loader/credentials/ directory in the " "file system the unified kernel image is placed in are copied into the /\\&." "extra/global_credentials/ directory in the initrd execution environment\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "/\\&.extra/sysext/*\\&.raw" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "System extension image files (suffix \"\\&.raw\") that are placed next to " "the unified kernel image (as described above) are copied into the /\\&.extra/" "sysext/ directory in the initrd execution environment\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "/\\&.extra/tpm2-pcr-signature\\&.json" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "The TPM2 PCR signature JSON object included in the \"\\&.pcrsig\" PE section " "of the unified kernel image is copied into the /\\&.extra/tpm2-pcr-" "signature\\&.json file in the initrd execution environment\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "/\\&.extra/tpm2-pcr-pkey\\&.pem" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "The PEM public key included in the \"\\&.pcrpkey\" PE section of the unified " "kernel image is copied into the /\\&.extra/tpm2-pcr-public-key\\&.pem file " "in the initrd execution environment\\&." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "Note that all these files are located in the \"tmpfs\" file system the " "kernel sets up for the initrd file hierarchy and are thus lost when the " "system transitions from the initrd execution environment into the host file " "system\\&. If these resources shall be kept around over this transition they " "need to be copied to a place that survives the transition first, for example " "via a suitable B(5) line\\&. By default, this is done for the " "TPM2 PCR signature and public key files\\&." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "SMBIOS TYPE 11 STRINGS" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "B can be configured using SMBIOS Type 11 strings\\&. " "Applicable strings consist of a name, followed by \"=\", followed by the " "value\\&. B will search the table for a string with a " "specific name, and if found, use its value\\&. The following strings are " "read:" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "I" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "If set, the value of this string is added to the list of kernel command line " "arguments that are measured in PCR12 and passed to the kernel\\&." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "Added in version 254\\&." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "ASSEMBLING KERNEL IMAGES" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "In order to assemble a bootable Unified Kernel Image from various components " "as described above, use B(1)\\&." msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "SEE ALSO" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "" "B(7), B(5), B(1), B(8), \\m[blue]B\\m[]\\&\\s-2\\u[5]\\d\\s+2, \\m[blue]B\\m[]\\&\\s-2\\u[4]\\d\\s+2, B(1), B(1), " "\\m[blue]B\\m[]\\&\\s-2\\u[6]\\d\\s+2" msgstr "" #. type: SH #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid "NOTES" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid " 1." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "SBAT" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "\\%https://github.com/rhboot/shim/blob/main/SBAT.md" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid " 2." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "UKI specification" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "\\%https://uapi-group.org/specifications/specs/unified_kernel_image/" msgstr "" #. type: IP #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron #, no-wrap msgid " 3." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "Automatic Boot Assessment" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "\\%https://systemd.io/AUTOMATIC_BOOT_ASSESSMENT" msgstr "" #. type: IP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid " 4." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "Boot Loader Interface" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "\\%https://systemd.io/BOOT_LOADER_INTERFACE" msgstr "" #. type: IP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid " 5." msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "Boot Loader Specification" msgstr "" #. type: Plain text #: archlinux debian-bookworm debian-unstable fedora-40 fedora-rawhide #: mageia-cauldron msgid "" "\\%https://uapi-group.org/specifications/specs/boot_loader_specification" msgstr "" #. type: IP #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron #, no-wrap msgid " 6." msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "TPM2 PCR Measurements Made by systemd" msgstr "" #. type: Plain text #: archlinux debian-unstable fedora-40 fedora-rawhide mageia-cauldron msgid "\\%https://systemd.io/TPM2_PCR_MEASUREMENTS" msgstr "" #. type: TH #: debian-bookworm #, no-wrap msgid "systemd 254" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The ELF Linux kernel images will be looked for in the \"\\&.linux\" PE " "section of the executed image\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "OS release information, i\\&.e\\&. the B(5) file of the OS the " "kernel belongs to, in the \"\\&.osrel\" PE section\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Kernel version information, i\\&.e\\&. the output of B for the " "kernel included in the UKI, in the \"\\&.uname\" PE section\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "The initrd will be loaded from the \"\\&.initrd\" PE section\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "A compiled binary DeviceTree will be looked for in the \"\\&.dtb\" PE " "section\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The kernel command line to pass to the invoked kernel will be looked for in " "the \"\\&.cmdline\" PE section\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "A boot splash (in Windows \\&.BMP format) to show on screen before invoking " "the kernel will be looked for in the \"\\&.splash\" PE section\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "A set of cryptographic signatures for expected TPM2 PCR values when this " "kernel is booted, in JSON format, in the \"\\&.pcrsig\" section\\&. This is " "useful for implementing TPM2 policies that bind disk encryption and similar " "to kernels that are signed by a specific key\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "A public key in PEM format matching this TPM2 PCR signature data in the " "\"\\&.pcrpkey\" section\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The contents of seven of these eight PE sections are measured into TPM PCR " "11, that is otherwise not used\\&. Thus, it can be pre-calculated without " "too much effort\\&. The \"\\&.pcrsig\" section is not included in this PCR " "measurement, since it\\*(Aqs supposed to contain signatures for the expected " "results for these measurements, i\\&.e\\&. of the outputs of the measurement " "operation, and thus cannot also be input to it\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "When \"\\&.pcrsig\" and/or \"\\&.pcrpkey\" are present in a unified kernel " "image their contents are passed to the booted kernel in an synthetic initrd " "cpio archive that places them in the /\\&.extra/tpm2-pcr-signature\\&.json " "and /\\&.extra/tpm2-pcr-public-key\\&.pem files\\&. Typically, a B(5) line then ensures they are copied into /run/systemd/tpm2-pcr-" "signature\\&.json and /run/systemd/tpm2-pcr-public-key\\&.pem where they " "remain accessible even after the system transitions out of the initrd " "environment into the host file system\\&. Tools such B(8), B(1) and B(1) will " "automatically use files present under these paths to unlock protected " "resources (encrypted storage or credentials) or bind encryption to booted " "kernels\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "The B UEFI boot stub automatically collects two types of " "auxiliary companion files optionally placed in drop-in directories on the " "same partition as the EFI binary, dynamically generates B initrd " "archives from them, and passes them to the kernel\\&. Specifically:" msgstr "" #. type: Plain text #: debian-bookworm msgid "" "For a kernel binary called I\\&.efi, it will look for files with the " "\\&.cred suffix in a directory named I\\&.efi\\&.extra\\&.d/ next to " "it\\&. A B archive is generated from all files found that way, placing " "them in the /\\&.extra/credentials/ directory of the initrd file " "hierarchy\\&. The main initrd may then access them in this directory\\&. " "This is supposed to be used to store auxiliary, encrypted, authenticated " "credentials for use with I in the UEFI System " "Partition\\&. See B(5) and B(1) for details " "on encrypted credentials\\&. The generated B archive is measured into " "TPM PCR 12 (if a TPM is present)\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Similarly, files I\\&.efi\\&.extra\\&.d/*\\&.addon\\&.efi are loaded " "and verified as PE binaries, and a \"\\&.cmdline\" section is parsed from " "them\\&. In case Secure Boot is enabled, these files will be validated using " "keys in UEFI DB, Shim\\*(Aqs DB or Shim\\*(Aqs MOK, and will be rejected " "otherwise\\&. Additionally, if the both the addon and the UKI contain a a " "\"\\&.uname\" section, the addon will be rejected if they do not exactly " "match\\&. It is recommended to always add a \"\\&.sbat\" section to all " "signed addons, so that they may be revoked with a SBAT policy update, " "without requiring blocklisting via DBX/MOKX\\&. The B(1) tool will " "add a SBAT policy by default if none is passed when building addons\\&. For " "more information on SBAT see \\m[blue]B\\m[]\\&\\s-2\\u[1]\\d\\s+2\\&. Addons are supposed to be used " "to pass additional kernel command line parameters, regardless of the kernel " "image being booted, for example to allow platform vendors to ship platform-" "specific configuration\\&. The loaded command line addon files are sorted, " "loaded, measured into TPM PCR 12 (if a TPM is present) and appended to the " "kernel command line\\&. UKI command line options are listed first, then " "options from addons in /loader/addons/*\\&.addon\\&.efi are appended next, " "and finally UKI-specific addons are appended last\\&. Addons are always " "loaded in the same order based on the filename, so that, given the same set " "of addons, the same set of measurements can be expected in PCR12, however " "note that the filename is not protected by the PE signature, and as such an " "attacker with write access to the ESP could potentially rename these files " "to change the order in which they are loaded, in a way that could alter the " "functionality of the kernel, as some options might be order dependent\\&. If " "you sign such addons, you should pay attention to the PCR12 values and make " "use of an attestation service so that improper use of your signed addons can " "be detected and dealt with using one of the aforementioned revocation " "mechanisms\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Additionally, files /loader/addons/*\\&.addon\\&.efi are loaded and verified " "as PE binaries, and a \"\\&.cmdline\" section is parsed from them\\&. This " "is supposed to be used to pass additional command line parameters to the " "kernel, regardless of the kernel being booted\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Note that some of the variables above may also be set by the boot loader\\&. " "The stub will only set them if they aren\\*(Aqt set already\\&. Some of " "these variables are defined by the \\m[blue]B\\m[]\\&\\s-2\\u[2]\\d\\s+2\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "Similar, credential files in the /loader/credentials/ directory in the file " "system the unified kernel image is placed in are copied into the /\\&.extra/" "global_credentials/ directory in the initrd execution environment\\&." msgstr "" #. type: Plain text #: debian-bookworm msgid "" "B(7), B(5), B(1), B(8), \\m[blue]B\\m[]\\&\\s-2\\u[3]\\d\\s+2, \\m[blue]B\\m[]\\&\\s-2\\u[2]\\d\\s+2, B(1), B(1)" msgstr "" #. type: Plain text #: debian-bookworm msgid "Shim's documentation" msgstr ""