From 41f392490e97c46bf8b304e34bc578ea4087f3c2 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Fri, 7 Feb 2025 15:20:25 +0900 Subject: [PATCH] man/kernel-install: update documents for plugins Addresses the post-merge comments in #36218. --- man/kernel-install.xml | 145 ++++++++++++++++++++++++--------------- tools/command_ignorelist | 6 ++ 2 files changed, 97 insertions(+), 54 deletions(-) diff --git a/man/kernel-install.xml b/man/kernel-install.xml index 7c0ef0efc9f..9beff5c4de7 100644 --- a/man/kernel-install.xml +++ b/man/kernel-install.xml @@ -90,9 +90,7 @@ The following commands are understood: - - add [[[KERNEL-VERSION] KERNEL-IMAGE] [INITRD-FILE ...]] - + add [[[KERNEL-VERSION] KERNEL-IMAGE] [INITRD-FILE ...]] This command takes a kernel version string and a path to a kernel image file as arguments. If @@ -107,8 +105,7 @@ /etc/kernel/install.d/*.install (i.e. the plugins) are called with the following arguments: - add KERNEL-VERSION $BOOT/ENTRY-TOKEN/KERNEL-VERSION/ KERNEL-IMAGE \ - [INITRD-FILE ...] + add KERNEL-VERSION $BOOT/ENTRY-TOKEN/KERNEL-VERSION/ KERNEL-IMAGE [INITRD-FILE ...] The third argument directly refers to the path where to place kernel images, initrd images and other resources for @@ -119,41 +116,66 @@ The ENTRY-TOKEN string is typically the machine ID and is supposed to identify the local installation on the system. For details see below. - Two default plugins execute the following operations in this case: - - - kernel-install creates - $BOOT/ENTRY-TOKEN/KERNEL-VERSION, - if enabled (see $KERNEL_INSTALL_LAYOUT). - - 50-depmod.install runs - depmod8 for the - KERNEL-VERSION. - - 90-loaderentry.install copies - KERNEL-IMAGE to - $BOOT/ENTRY-TOKEN/KERNEL-VERSION/linux. - If INITRD-FILEs are provided, it also copies them to - $BOOT/ENTRY-TOKEN/KERNEL_VERSION/INITRD-FILE. - This can also be used to prepend microcode before the actual initrd. It also creates a boot loader entry according to the Boot Loader Specification (Type #1) in - $BOOT/loader/entries/ENTRY-TOKEN-KERNEL-VERSION.conf. - The title of the entry is the PRETTY_NAME parameter specified in - /etc/os-release or /usr/lib/os-release (if the former - is missing), or "Linux KERNEL-VERSION", if unset. - - If $KERNEL_INSTALL_LAYOUT is not "bls", this plugin does nothing. - - 90-uki-copy.install copies a file - uki.efi from $KERNEL_INSTALL_STAGING_AREA or if it does - not exist the KERNEL-IMAGE argument, only if it has a - .efi extension, to - $BOOT/EFI/Linux/ENTRY-TOKEN-KERNEL-VERSION.efi. - - If $KERNEL_INSTALL_LAYOUT is not "uki", this plugin does nothing. - + kernel-install creates + $BOOT/ENTRY-TOKEN/KERNEL-VERSION, + if enabled (see $KERNEL_INSTALL_LAYOUT). + + Three default plugins execute the following operations in this case: + + + + 50-depmod.install + + The plugin runs + depmod8 + for the KERNEL-VERSION. + + + + + 90-loaderentry.install + + The plugin copies KERNEL-IMAGE to + $BOOT/ENTRY-TOKEN/KERNEL-VERSION/linux. + If INITRD-FILEs are provided, it also copies them to + $BOOT/ENTRY-TOKEN/KERNEL_VERSION/INITRD-FILE. + This can also be used to prepend microcode before the actual initrd. It also creates a boot + loader entry according to the + Boot Loader Specification + (Type #1) in + $BOOT/loader/entries/ENTRY-TOKEN-KERNEL-VERSION.conf. + The title of the entry is the PRETTY_NAME parameter specified in + /etc/os-release or /usr/lib/os-release (if the + former is missing), or "Linux KERNEL-VERSION", if unset. + + If $KERNEL_INSTALL_LAYOUT is not "bls", this plugin does nothing. + + + + + 90-uki-copy.install + + If $KERNEL_INSTALL_STAGING_AREA/uki.efi exists, the plugin copies it + to + $BOOT/EFI/Linux/ENTRY-TOKEN-KERNEL-VERSION.efi. + Also, files in $KERNEL_INSTALL_STAGING_AREA/uki.efi.extra.d"/ are copied + to + $BOOT/EFI/Linux/ENTRY-TOKEN-KERNEL-VERSION.efi.extra.d/. + + If $KERNEL_INSTALL_STAGING_AREA/uki.efi does not exist, and the + KERNEL-IMAGE argument has a .efi extension, the + plugin copies the image to + $BOOT/EFI/Linux/ENTRY-TOKEN-KERNEL-VERSION.efi. + Also, files in KERNEL-IMAGE.extra.d/ and + $KERNEL_INSTALL_STAGING_AREA/uki.efi.extra.d"/ are copied to + $BOOT/EFI/Linux/ENTRY-TOKEN-KERNEL-VERSION.efi.extra.d/. + + If $KERNEL_INSTALL_LAYOUT is not "uki", this plugin does nothing. + + + - + @@ -185,22 +207,37 @@ $BOOT/ENTRY-TOKEN/KERNEL-VERSION/ and its contents, if it exists. - Two default plugins execute the following operations in this case: - - - 50-depmod.install removes the files generated by - depmod for this kernel again. - - 90-loaderentry.install removes the file - $BOOT/loader/entries/ENTRY-TOKEN-KERNEL-VERSION.conf. - + Three default plugins execute the following operations in this case: + + + + 50-depmod.install + + The plugin removes the files generated by depmod for this kernel again. + + + + + 90-loaderentry.install + + The plugin removes the file + $BOOT/loader/entries/ENTRY-TOKEN-KERNEL-VERSION.conf. + + + + + + 90-uki-copy.install + + The plugin removes the file + $BOOT/EFI/Linux/ENTRY-TOKEN-KERNEL-VERSION.efi and + $BOOT/EFI/Linux/ENTRY-TOKEN-KERNEL-VERSION.efi.extra.d/ + directory including its contents. + + + - 90-uki-copy.install removes the file - $BOOT/EFI/Linux/ENTRY-TOKEN-KERNEL-VERSION.efi. - - - - + diff --git a/tools/command_ignorelist b/tools/command_ignorelist index d868c55b15e..aca6b8c93bd 100644 --- a/tools/command_ignorelist +++ b/tools/command_ignorelist @@ -14,6 +14,12 @@ journald.conf.xml /refsect1[title="Options"]/variablelist/varlistentry[term="Com journald.conf.xml /refsect1[title="Options"]/variablelist/varlistentry[term="RateLimitIntervalSec="] journald.conf.xml /refsect1[title="Options"]/variablelist/varlistentry[term="SystemMaxUse="] journald.conf.xml /refsect1[title="Options"]/variablelist/varlistentry[term="ForwardToSyslog="] +kernel-install.xml /refsect1[title="Commands"]/variablelist/varlistentry[term="add [[[KERNEL-VERSION] KERNEL-IMAGE] [INITRD-FILE ...]]"]/listitem/variablelist/varlistentry[term="50-depmod.install"] +kernel-install.xml /refsect1[title="Commands"]/variablelist/varlistentry[term="add [[[KERNEL-VERSION] KERNEL-IMAGE] [INITRD-FILE ...]]"]/listitem/variablelist/varlistentry[term="90-loaderentry.install"] +kernel-install.xml /refsect1[title="Commands"]/variablelist/varlistentry[term="add [[[KERNEL-VERSION] KERNEL-IMAGE] [INITRD-FILE ...]]"]/listitem/variablelist/varlistentry[term="90-uki-copy.install"] +kernel-install.xml /refsect1[title="Commands"]/variablelist/varlistentry[term="remove KERNEL-VERSION"]/listitem/variablelist/varlistentry[term="50-depmod.install"] +kernel-install.xml /refsect1[title="Commands"]/variablelist/varlistentry[term="remove KERNEL-VERSION"]/listitem/variablelist/varlistentry[term="90-loaderentry.install"] +kernel-install.xml /refsect1[title="Commands"]/variablelist/varlistentry[term="remove KERNEL-VERSION"]/listitem/variablelist/varlistentry[term="90-uki-copy.install"] loginctl.xml /refsect1[title="Options"]/variablelist/varlistentry[term="-p"] loginctl.xml /refsect1[title="Options"]/variablelist/varlistentry[term="-a"] loginctl.xml /refsect1[title="Options"]/variablelist/varlistentry[term="--no-ask-password"] -- 2.47.3