добавление и удаление изображений ядра и initramfs в / boot и из него (Add and remove kernel and initramfs images to and from /boot)
Имя (Name)
kernel-install - Add and remove kernel and initramfs images to
and from /boot
Синопсис (Synopsis)
kernel-install
COMMAND [OPTIONS...] KERNEL-VERSION KERNEL-IMAGE
[INITRD-FILE...]
Описание (Description)
kernel-install
is used to install and remove kernel and initramfs
images to and from the boot loader partition, referred to as
$BOOT here. It will usually be one of /boot/, /efi/, or
/boot/efi/, see below.
kernel-install
will execute the files located in the directory
/usr/lib/kernel/install.d/ and the local administration directory
/etc/kernel/install.d/. All files are collectively sorted and
executed in lexical order, regardless of the directory in which
they live. However, files with identical filenames replace each
other. Files in /etc/kernel/install.d/ take precedence over files
with the same name in /usr/lib/kernel/install.d/. This can be
used to override a system-supplied executables with a local file
if needed; a symbolic link in /etc/kernel/install.d/ with the
same name as an executable in /usr/lib/kernel/install.d/,
pointing to /dev/null, disables the executable entirely.
Executables must have the extension ".install"; other extensions
are ignored.
An executable should return 0
on success. It may also return 77
to cause the whole operation to terminate (executables later in
lexical order will be skipped).
Команды (Commands)
The following commands are understood:
add
KERNEL-VERSION KERNEL-IMAGE [
INITRD-FILE ...]
This command expects a kernel version string and a path to a
kernel image file as arguments. kernel-install
calls the
executables from /usr/lib/kernel/install.d/*.install and
/etc/kernel/install.d/*.install with the following arguments:
add KERNEL-VERSION $BOOT/MACHINE-ID/KERNEL-VERSION/ KERNEL-IMAGE [INITRD-FILE ...]
Three default plugins execute the following operations in
this case:
• 00-entry-directory.install creates the directory
$BOOT/MACHINE-ID/KERNEL-VERSION/ if $BOOT/MACHINE-ID/
already exists.
• 50-depmod.install runs depmod(8) for the KERNEL-VERSION.
• 90-loaderentry.install copies KERNEL-IMAGE to
$BOOT/MACHINE-ID/KERNEL-VERSION/linux. If an INITRD-FILE
is provided, it also copies INITRD-FILE to
$BOOT/MACHINE-ID/KERNEL_VERSION/INITRD-FILE. It also
creates a boot loader entry according to the Boot Loader
Specification
[1] in
$BOOT/loader/entries/MACHINE-ID-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 the entry directory $BOOT/MACHINE-ID/KERNEL-VERSION/
does not exist, this plugin does nothing.
remove
KERNEL-VERSION
This command expects a kernel version string as single
argument. This calls executables from
/usr/lib/kernel/install.d/*.install and
/etc/kernel/install.d/*.install with the following arguments:
remove KERNEL-VERSION $BOOT/MACHINE-ID/KERNEL-VERSION/
Afterwards, kernel-install
removes the directory
$BOOT/MACHINE-ID/KERNEL-VERSION/ and its contents.
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/MACHINE-ID-KERNEL-VERSION.conf.
THE $BOOT PARTITION
The partition where the kernels and Boot Loader Specification
[1]
snippets are located is called $BOOT. kernel-install
determines
the location of this partition by checking /efi/, /boot/, and
/boot/efi/ in turn. The first location where
$BOOT/loader/entries/ or $BOOT/$MACHINE_ID/ exists is used.
Параметры (Options)
The following options are understood:
-v
, --verbose
Output additional information about operations being
performed.
-h
, --help
Print a short help text and exit.
Переменные окружения (Environment variables)
If --verbose
is used, $KERNEL_INSTALL_VERBOSE=1 will be set for
the plugins. They may output additional logs in this case.
Статус выхода (Exit)
If every executable returns 0 or 77, 0 is returned, and a
non-zero failure code otherwise.
Файлы (Files)
/usr/lib/kernel/install.d/*.install
/etc/kernel/install.d/*.install
Drop-in files which are executed by kernel-install.
/etc/kernel/cmdline /proc/cmdline
Read by 90-loaderentry.install. The content of the file
/etc/kernel/cmdline specifies the kernel command line to use.
If that file does not exist, /proc/cmdline is used.
/etc/kernel/tries
Read by 90-loaderentry.install. If this file exists a numeric
value is read from it and the naming of the generated entry
file is slightly altered to include it as
$BOOT/loader/entries/MACHINE-ID-KERNEL-VERSION+TRIES.conf.
This is useful for boot loaders such as systemd-boot(7) which
implement boot attempt counting with a counter embedded in
the entry file name.
/etc/machine-id
The content of this file specifies the machine identification
MACHINE-ID. If it cannot read /etc/machine-id, kernel-install
will use "Linux" as the machine ID instead.
/etc/os-release /usr/lib/os-release
The content of the file specifies the operating system title
PRETTY_NAME.
Смотри также (See also)
machine-id(5), os-release(5), depmod(8), systemd-boot(7), Boot
Loader Specification
[1]
Примечание (Note)
1. Boot Loader Specification
https://systemd.io/BOOT_LOADER_SPECIFICATION