man: update kernel-install(8) documentation

Many general updates, but most importantly, document the
/etc/kernel/tries logic briefly.
This commit is contained in:
Lennart Poettering 2018-06-22 18:14:22 +02:00
parent bf7b6d28c3
commit 4b2d80bb0a

View file

@ -63,49 +63,61 @@
<varlistentry> <varlistentry>
<term><command>add <replaceable>KERNEL-VERSION</replaceable> <replaceable>KERNEL-IMAGE</replaceable></command></term> <term><command>add <replaceable>KERNEL-VERSION</replaceable> <replaceable>KERNEL-IMAGE</replaceable></command></term>
<listitem> <listitem>
<para><command>kernel-install</command> creates the directory <para>This command expects a kernel version string and a path to a kernel image file as
arguments. <command>kernel-install</command> creates the directory
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
and calls executables from and calls the executables from <filename>/usr/lib/kernel/install.d/*.install</filename> and
<filename>/usr/lib/kernel/install.d/*.install</filename> and <filename>/etc/kernel/install.d/*.install</filename> with the following arguments:
<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>
<programlisting>add <replaceable>KERNEL-VERSION</replaceable> \
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> <replaceable>KERNEL-IMAGE</replaceable></programlisting>
</para> </para>
<para>The kernel-install plugin <filename>50-depmod.install</filename> runs depmod for the <replaceable>KERNEL-VERSION</replaceable>.</para> <para>Two default plugins execute the following operations in this case:</para>
<para>The kernel-install plugin <itemizedlist>
<filename>90-loaderentry.install</filename> copies
<replaceable>KERNEL-IMAGE</replaceable> to <listitem><para><filename>50-depmod.install</filename> runs
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/linux</filename>. <citerefentry><refentrytitle>depmod</refentrytitle><manvolnum>8</manvolnum></citerefentry> for the
It also creates a boot loader entry according to the boot <replaceable>KERNEL-VERSION</replaceable>.</para></listitem>
loader specification in
<filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>. <listitem><para><filename>90-loaderentry.install</filename> copies <replaceable>KERNEL-IMAGE</replaceable>
The title of the entry is the to
<replaceable>PRETTY_NAME</replaceable> parameter specified <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/linux</filename>.
in <filename>/etc/os-release</filename> or It also creates a boot loader entry according to the <ulink
<filename>/usr/lib/os-release</filename> (if the former is url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader Specification</ulink> in
missing), or "Linux <filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.
<replaceable>KERNEL-VERSION</replaceable>", if unset. If The title of the entry is the <replaceable>PRETTY_NAME</replaceable> parameter specified in
the file <filename>initrd</filename> is found next to the <filename>/etc/os-release</filename> or <filename>/usr/lib/os-release</filename> (if the former is
<filename>linux</filename> file, the initrd will be added to missing), or "Linux <replaceable>KERNEL-VERSION</replaceable>", if unset. If the file
the configuration.</para> <filename>initrd</filename> is found next to the kernel image file, the initrd will be added to the
configuration.</para></listitem>
</itemizedlist>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
<term><command>remove <replaceable>KERNEL-VERSION</replaceable></command></term> <term><command>remove <replaceable>KERNEL-VERSION</replaceable></command></term>
<listitem> <listitem>
<para>Calls executables from <filename>/usr/lib/kernel/install.d/*.install</filename> <para>This command expects a kernel version string as single argument. This calls executables from
and <filename>/etc/kernel/install.d/*.install</filename> with the arguments <filename>/usr/lib/kernel/install.d/*.install</filename> and
<filename>/etc/kernel/install.d/*.install</filename> with the following arguments:
<programlisting>remove <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting> <programlisting>remove <replaceable>KERNEL-VERSION</replaceable> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename></programlisting>
</para> </para>
<para><command>kernel-install</command> removes the entire directory <para>Afterwards, <command>kernel-install</command> removes the directory
<filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename> afterwards.</para> <filename>/boot/<replaceable>MACHINE-ID</replaceable>/<replaceable>KERNEL-VERSION</replaceable>/</filename>
and its contents.</para>
<para>Two default plugins execute the following operations in this case:</para>
<itemizedlist>
<listitem><para><filename>50-depmod.install</filename> removes the files generated by <command>depmod</command> for this kernel again.</para></listitem>
<listitem><para><filename>90-loaderentry.install</filename> removes the file
<filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>.conf</filename>.</para></listitem>
</itemizedlist>
<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> </listitem>
</varlistentry> </varlistentry>
@ -136,8 +148,22 @@
<filename>/proc/cmdline</filename> <filename>/proc/cmdline</filename>
</term> </term>
<listitem> <listitem>
<para>The content of the file <filename>/etc/kernel/cmdline</filename> specifies the kernel command line to use. <para>Read by <filename>90-loaderentry.install</filename>. The content of the file
If that file does not exist, <filename>/proc/cmdline</filename> is used.</para> <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/kernel/tries</filename>
</term>
<listitem>
<para>Read by <filename>90-loaderentry.install</filename>. 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
<filename>/boot/loader/entries/<replaceable>MACHINE-ID</replaceable>-<replaceable>KERNEL-VERSION</replaceable>+<replaceable>TRIES</replaceable>.conf</filename>. This
is useful for boot loaders such as
<citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry> which
implement boot attempt counting with a counter embedded in the entry file name.</para>
</listitem> </listitem>
</varlistentry> </varlistentry>
<varlistentry> <varlistentry>
@ -165,6 +191,8 @@
<para> <para>
<citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>, <citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>depmod</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd-boot</refentrytitle><manvolnum>7</manvolnum></citerefentry>,
<ulink url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader Specification</ulink> <ulink url="https://systemd.io/BOOT_LOADER_SPECIFICATION">Boot Loader Specification</ulink>
</para> </para>
</refsect1> </refsect1>