2014-11-21 22:44:48 +03:00
<?xml version='1.0'?> <!-- * - Mode: nxml; nxml - child - indent: 2; indent - tabs - mode: nil - * -->
2013-02-22 20:18:47 +04:00
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
2015-06-18 20:47:44 +03:00
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
2013-02-22 20:18:47 +04:00
<!--
2015-03-14 05:26:47 +03:00
This file is part of systemd.
2013-02-22 20:18:47 +04:00
2015-03-14 05:26:47 +03:00
Copyright 2013 Harald Hoyer
2013-02-22 20:18:47 +04:00
2015-03-14 05:26:47 +03:00
systemd is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation; either version 2.1 of the License, or
(at your option) any later version.
2013-02-22 20:18:47 +04:00
2015-03-14 05:26:47 +03:00
systemd is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
2013-02-22 20:18:47 +04:00
2015-03-14 05:26:47 +03:00
You should have received a copy of the GNU Lesser General Public License
along with systemd; If not, see <http: / / w w w . g n u . o r g / l i c e n s e s /> .
2013-02-22 20:18:47 +04:00
-->
<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 >
2013-05-03 08:55:20 +04:00
<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>
2013-02-22 20:18:47 +04:00
</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>
2013-05-03 08:55:20 +04:00
<para > <command > kernel-install</command> will execute the files
located in the directory <filename > /usr/lib/kernel/install.d/</filename>
2013-02-22 20:18:47 +04:00
and the local administration directory <filename > /etc/kernel/install.d/</filename> .
2013-05-03 08:55:20 +04:00
All files are collectively sorted and executed in lexical order, regardless of the directory in
2013-06-27 23:51:44 +04:00
which they live. However, files with identical filenames replace each other.
2013-02-22 20:18:47 +04:00
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> ,
2016-09-24 16:03:54 +03:00
pointing to <filename > /dev/null</filename> , disables the executable entirely. Executables must have the
2013-07-02 07:44:04 +04:00
extension <literal > .install</literal> ; other extensions are ignored.</para>
2013-02-22 20:18:47 +04:00
2016-09-24 16:03:54 +03:00
<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>
2013-02-22 20:18:47 +04:00
</refsect1>
<refsect1 >
<title > Commands</title>
<para > The following commands are understood:</para>
<variablelist >
<varlistentry >
2013-05-03 08:55:20 +04:00
<term > <command > add <replaceable > KERNEL-VERSION</replaceable> <replaceable > KERNEL-IMAGE</replaceable> </command> </term>
2013-02-22 20:18:47 +04:00
<listitem >
2013-04-30 20:01:47 +04:00
<para > <command > kernel-install</command> creates the directory
<filename > /boot/<replaceable > MACHINE-ID</replaceable> /<replaceable > KERNEL-VERSION</replaceable> /</filename>
and calls every executable
2013-05-03 08:55:20 +04:00
<filename > /usr/lib/kernel/install.d/*.install</filename> and
<filename > /etc/kernel/install.d/*.install</filename> with
the arguments
2014-02-14 18:56:19 +04:00
<programlisting > add <replaceable > KERNEL-VERSION</replaceable> <filename > /boot/<replaceable > MACHINE-ID</replaceable> /<replaceable > KERNEL-VERSION</replaceable> /</filename> </programlisting>
2013-05-03 08:55:20 +04:00
</para>
2013-04-30 20:01:47 +04:00
<para > The kernel-install plugin <filename > 50-depmod.install</filename> runs depmod for the <replaceable > KERNEL-VERSION</replaceable> .</para>
2014-06-13 21:45:52 +04:00
<para > The kernel-install plugin
<filename > 90-loaderentry.install</filename> copies
2013-05-03 08:55:20 +04:00
<replaceable > KERNEL-IMAGE</replaceable> to
<filename > /boot/<replaceable > MACHINE-ID</replaceable> /<replaceable > KERNEL-VERSION</replaceable> /linux</filename> .
2014-06-13 21:45:52 +04:00
It also creates a boot loader entry according to the boot
loader specification in
2013-05-03 08:55:20 +04:00
<filename > /boot/loader/entries/<replaceable > MACHINE-ID</replaceable> -<replaceable > KERNEL-VERSION</replaceable> .conf</filename> .
2014-06-13 21:45:52 +04:00
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
2013-05-03 08:55:20 +04:00
<filename > linux</filename> file, the initrd will be added to
the configuration.</para>
2013-02-22 20:18:47 +04:00
</listitem>
</varlistentry>
<varlistentry >
2013-04-30 20:01:47 +04:00
<term > <command > remove <replaceable > KERNEL-VERSION</replaceable> </command> </term>
2013-05-03 08:55:20 +04:00
<listitem >
2013-07-02 07:44:04 +04:00
<para > Calls every executable <filename > /usr/lib/kernel/install.d/*.install</filename>
2013-05-03 08:55:20 +04:00
and <filename > /etc/kernel/install.d/*.install</filename> with the arguments
2014-02-14 18:56:19 +04:00
<programlisting > remove <replaceable > KERNEL-VERSION</replaceable> <filename > /boot/<replaceable > MACHINE-ID</replaceable> /<replaceable > KERNEL-VERSION</replaceable> /</filename> </programlisting>
2013-05-03 08:55:20 +04:00
</para>
<para > <command > kernel-install</command> removes the entire directory
2013-04-30 20:01:47 +04:00
<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>
2013-02-22 20:18:47 +04:00
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 >
<title > Exit status</title>
<para > If every executable returns with 0, 0 is returned, 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 >
2013-07-02 07:44:04 +04:00
<para > Drop-in files which are executed by kernel-install.</para>
2013-02-22 20:18:47 +04:00
</listitem>
</varlistentry>
2013-02-25 22:29:16 +04:00
<varlistentry >
<term >
<filename > /etc/kernel/cmdline</filename>
<filename > /proc/cmdline</filename>
</term>
<listitem >
2013-03-14 02:09:49 +04:00
<para > The content of the file <filename > /etc/kernel/cmdline</filename> specifies the kernel command line to use.
2013-02-25 22:29:16 +04:00
If that file does not exist, <filename > /proc/cmdline</filename> is used.</para>
</listitem>
</varlistentry>
<varlistentry >
<term >
<filename > /etc/machine-id</filename>
</term>
<listitem >
2013-05-03 08:55:20 +04:00
<para > The content of the file specifies the machine identification <replaceable > MACHINE-ID</replaceable> .</para>
2013-02-25 22:29:16 +04:00
</listitem>
</varlistentry>
<varlistentry >
<term >
<filename > /etc/os-release</filename>
2014-06-13 21:45:52 +04:00
<filename > /usr/lib/os-release</filename>
2013-02-25 22:29:16 +04:00
</term>
<listitem >
2013-04-30 20:01:47 +04:00
<para > The content of the file specifies the operating system title <replaceable > PRETTY_NAME</replaceable> .</para>
2013-02-25 22:29:16 +04:00
</listitem>
</varlistentry>
2013-02-22 20:18:47 +04:00
</variablelist>
</refsect1>
<refsect1 >
<title > See Also</title>
<para >
2013-02-25 22:29:16 +04:00
<citerefentry > <refentrytitle > machine-id</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> ,
<citerefentry > <refentrytitle > os-release</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> ,
2013-02-22 20:18:47 +04:00
<ulink url= "http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec" > Boot loader specification</ulink>
</para>
</refsect1>
</refentry>