2013-02-22 20:18:47 +04:00
<?xml version='1.0'?> <!-- * - nxml - * -->
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!--
This file is part of systemd.
Copyright 2013 Harald Hoyer
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.
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.
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 /> .
-->
<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-02-22 20:18:47 +04:00
which they live. However, files with identical file names 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 /dev/null, disables the executable entirely. Executables must have the
extension .install; other extensions are ignored.</para>
</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
<programlisting >
add <replaceable > KERNEL-VERSION</replaceable> <filename > /boot/<replaceable > MACHINE-ID</replaceable> /<replaceable > KERNEL-VERSION</replaceable> /</filename>
</programlisting>
</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>
<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> .
2013-04-30 20:01:47 +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> .
2013-04-30 20:01:47 +04:00
The title of the entry is the <replaceable > PRETTY_NAME</replaceable> parameter specified in <filename > /etc/os-release</filename> ,
or "Linux <replaceable > KERNEL-VERSION</replaceable> ", if unset.
2013-05-03 08:55:20 +04:00
If the file <filename > initrd</filename> is found next to the
<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 >
<para > calls every executable <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
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 >
<para > Drop-in files, which are executed by kernel-install.</para>
</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>
</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>