Index · Directives · Python · libudev · gudev systemd 220

## Name

kernel-install — Add and remove kernel and initramfs images to and from /boot

## Synopsis

`kernel-install` COMMAND `KERNEL-VERSION` [`KERNEL-IMAGE`]

## Description

kernel-install is used to install and remove kernel and initramfs images to and from `/boot`.

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.

## Commands

The following commands are understood:

add `KERNEL-VERSION` `KERNEL-IMAGE`

  kernel-install creates the directory `/boot/`MACHINE-ID`/`KERNEL-VERSION`/` and calls every executable `/usr/lib/kernel/install.d/*.install` and `/etc/kernel/install.d/*.install` with the arguments

      add KERNEL-VERSION /boot/MACHINE-ID/KERNEL-VERSION/

  The kernel-install plugin `50-depmod.install` runs depmod for the `KERNEL-VERSION`.

  The kernel-install plugin `90-loaderentry.install` copies `KERNEL-IMAGE` to `/boot/`MACHINE-ID`/`KERNEL-VERSION`/linux`. It also creates a boot loader entry according to the boot loader specification 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 file `initrd` is found next to the `linux` file, the initrd will be added to the configuration.

remove `KERNEL-VERSION`

  Calls every executable `/usr/lib/kernel/install.d/*.install` and `/etc/kernel/install.d/*.install` with the arguments

      remove KERNEL-VERSION /boot/MACHINE-ID/KERNEL-VERSION/

  kernel-install removes the entire directory `/boot/`MACHINE-ID`/`KERNEL-VERSION`/` afterwards.

  The kernel-install plugin `90-loaderentry.install` removes the file `/boot/loader/entries/`MACHINE-ID`-`KERNEL-VERSION`.conf`.

## Exit status

If every executable returns with 0, 0 is returned, 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`

  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/machine-id`

  The content of the file specifies the machine identification `MACHINE-ID`.

`/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), Boot loader specification