mirror of
https://github.com/systemd/systemd
synced 2024-10-15 12:34:37 +00:00
818bf54632
This part of the copyright blurb stems from the GPL use recommendations: https://www.gnu.org/licenses/gpl-howto.en.html The concept appears to originate in times where version control was per file, instead of per tree, and was a way to glue the files together. Ultimately, we nowadays don't live in that world anymore, and this information is entirely useless anyway, as people are very welcome to copy these files into any projects they like, and they shouldn't have to change bits that are part of our copyright header for that. hence, let's just get rid of this old cruft, and shorten our codebase a bit.
184 lines
7.8 KiB
XML
184 lines
7.8 KiB
XML
<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
|
|
|
<!--
|
|
SPDX-License-Identifier: LGPL-2.1+
|
|
|
|
Copyright 2013 Harald Hoyer
|
|
-->
|
|
|
|
<refentry id="kernel-install">
|
|
|
|
<refentryinfo>
|
|
<title>kernel-install</title>
|
|
<productname>systemd</productname>
|
|
|
|
<authorgroup>
|
|
<author>
|
|
<contrib>Developer</contrib>
|
|
<firstname>Harald</firstname>
|
|
<surname>Hoyer</surname>
|
|
<email>harald@redhat.com</email>
|
|
</author>
|
|
</authorgroup>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>kernel-install</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>kernel-install</refname>
|
|
<refpurpose>Add and remove kernel and initramfs images to and from /boot</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<cmdsynopsis>
|
|
<command>kernel-install</command>
|
|
<arg choice="plain">COMMAND</arg>
|
|
<arg choice="plain"><replaceable>KERNEL-VERSION</replaceable></arg>
|
|
<arg choice="opt"><replaceable>KERNEL-IMAGE</replaceable></arg>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<para>
|
|
<command>kernel-install</command> is used to install and remove kernel and
|
|
initramfs images to and from <filename>/boot</filename>.
|
|
</para>
|
|
|
|
<para><command>kernel-install</command> will execute the files
|
|
located in the directory <filename>/usr/lib/kernel/install.d/</filename>
|
|
and the local administration directory <filename>/etc/kernel/install.d/</filename>.
|
|
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 <filename>/etc/kernel/install.d/</filename> take precedence over files with the same name
|
|
in <filename>/usr/lib/kernel/install.d/</filename>. This can be used to override a system-supplied
|
|
executables with a local file if needed; a symbolic link in <filename>/etc/kernel/install.d/</filename>
|
|
with the same name as an executable in <filename>/usr/lib/kernel/install.d/</filename>,
|
|
pointing to <filename>/dev/null</filename>, disables the executable entirely. Executables must have the
|
|
extension <literal>.install</literal>; other extensions are ignored.</para>
|
|
|
|
<para>An executable should return <constant>0</constant> on success. It may also
|
|
return <constant>77</constant> to cause the whole operation to terminate
|
|
(executables later in lexical order will be skipped).</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Commands</title>
|
|
<para>The following commands are understood:</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><command>add <replaceable>KERNEL-VERSION</replaceable> <replaceable>KERNEL-IMAGE</replaceable></command></term>
|
|
<listitem>
|
|
<para><command>kernel-install</command> creates the directory
|
|
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
|
|
and calls executables from
|
|
<filename>/usr/lib/kernel/install.d/*.install</filename> and
|
|
<filename>/etc/kernel/install.d/*.install</filename> with
|
|
the arguments
|
|
<programlisting>add <replaceable>KERNEL-VERSION</replaceable> \
|
|
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> <replaceable>KERNEL-IMAGE</replaceable></programlisting>
|
|
</para>
|
|
|
|
<para>The kernel-install plugin <filename>50-depmod.install</filename> runs depmod for the <replaceable>KERNEL-VERSION</replaceable>.</para>
|
|
|
|
<para>The kernel-install plugin
|
|
<filename>90-loaderentry.install</filename> copies
|
|
<replaceable>KERNEL-IMAGE</replaceable> to
|
|
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/linux</filename>.
|
|
It also creates a boot loader entry according to the boot
|
|
loader specification in
|
|
<filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.
|
|
The title of the entry is the
|
|
<replaceable>PRETTY_NAME</replaceable> parameter specified
|
|
in <filename>/etc/os-release</filename> or
|
|
<filename>/usr/lib/os-release</filename> (if the former is
|
|
missing), or "Linux
|
|
<replaceable>KERNEL-VERSION</replaceable>", if unset. If
|
|
the file <filename>initrd</filename> is found next to the
|
|
<filename>linux</filename> file, the initrd will be added to
|
|
the configuration.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><command>remove <replaceable>KERNEL-VERSION</replaceable></command></term>
|
|
<listitem>
|
|
<para>Calls executables from <filename>/usr/lib/kernel/install.d/*.install</filename>
|
|
and <filename>/etc/kernel/install.d/*.install</filename> with the arguments
|
|
<programlisting>remove <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting>
|
|
</para>
|
|
|
|
<para><command>kernel-install</command> removes the entire directory
|
|
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> afterwards.</para>
|
|
|
|
<para>The kernel-install plugin <filename>90-loaderentry.install</filename> removes the file
|
|
<filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Exit status</title>
|
|
<para>If every executable returns 0 or 77, 0 is returned, and a non-zero failure code otherwise.</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Files</title>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>
|
|
<filename>/usr/lib/kernel/install.d/*.install</filename>
|
|
<filename>/etc/kernel/install.d/*.install</filename>
|
|
</term>
|
|
<listitem>
|
|
<para>Drop-in files which are executed by kernel-install.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<filename>/etc/kernel/cmdline</filename>
|
|
<filename>/proc/cmdline</filename>
|
|
</term>
|
|
<listitem>
|
|
<para>The content of the file <filename>/etc/kernel/cmdline</filename> specifies the kernel command line to use.
|
|
If that file does not exist, <filename>/proc/cmdline</filename> is used.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<filename>/etc/machine-id</filename>
|
|
</term>
|
|
<listitem>
|
|
<para>The content of the file specifies the machine identification <replaceable>MACHINE-ID</replaceable>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<filename>/etc/os-release</filename>
|
|
<filename>/usr/lib/os-release</filename>
|
|
</term>
|
|
<listitem>
|
|
<para>The content of the file specifies the operating system title <replaceable>PRETTY_NAME</replaceable>.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See Also</title>
|
|
<para>
|
|
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
|
|
<ulink url="https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec">Boot loader specification</ulink>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|