glfs/general/sysutils/udev-extras.xml
Bruce Dubbs e0f3c26616 larify keymap instructions in udev from systemd section.
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@11845 af4574ff-66df-0310-9fd7-8a98e5e911e0
2013-09-15 14:35:46 +00:00

241 lines
8.6 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY systemd-download-http "http://www.freedesktop.org/wiki/Software/systemd/">
<!ENTITY systemd-download-ftp " ">
<!-- <!ENTITY udev-md5sum " "> -->
<!ENTITY systemd-size "~1.3 MB">
<!ENTITY systemd-buildsize "~16 MB">
<!ENTITY systemd-time "~0.1 SBU">
]>
<sect1 id="udev-extras" xreflabel="udev-extras (from systemd)">
<?dbhtml filename="udev-extras.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Udev Extras (from systemd)</title>
<indexterm zone="udev-extras">
<primary sortas="a-udev-extras">udev extras (from systemd)</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Udev Extras</title>
<para>In 2012, the <application>Udev</application> code distribution was
merged with <application>systemd</application>.
<application>Systemd</application> is a set of programs that replace the
<application>SysVInit</application> package used by LFS and is much more
complex. It is not compatible with the LFS bootscripts and has many
problems and few advantages for most LFS users.</para>
<para>The procedures below extract libraries and programs from the systemd
sources that could not be built in LFS due to library dependency
issues.</para>
<para>Unlike any other package in the BLFS book, there is no set version
of <application>systemd</application> specified to download. Several version
updates to LFS and BLFS means there are probably many different
versions of <application>Udev</application> on the platforms that BLFS is
being built upon. Therefore, you should download and use the version of
<application>systemd</application> your computer currently uses. The BLFS
team has no experience updating (or reverting to an older version) the
<application>Udev</application> programs <quote>on the fly.</quote> To
discover the version of <application>Udev</application> your computer
currently uses, issue <command>/sbin/udevadm --version</command>.</para>
&lfs74_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&systemd-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&systemd-download-ftp;"/></para>
</listitem>
<!-- <listitem>
<para>Download MD5 sum: &systemd-md5sum;</para>
</listitem> -->
<listitem>
<para>Download size: &systemd-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &systemd-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &systemd-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Udev Extras Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<ulink url="http://anduin.linuxfromscratch.org/sources/other/"/>
(match the udev-lfs-???.tar.bz2 tarball version to the systemd version used in LFS).
<xref linkend="glib2"/> (for the gudev library),
<xref linkend="gperf"/> (for keymap), and
<xref linkend="gobject-introspection"/> (for gir-data, needed for Gnome)
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<xref linkend="acl"/>
</para>
<bridgehead renderas="sect4">Optional Runtime Dependencies</bridgehead>
<para role="optional">
<xref linkend="pciutils"/> and
<xref linkend="usbutils"/>
</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/udev-extras"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of Udev Extras</title>
<para>First, put the custom LFS files in place:</para>
<screen><userinput>UDEV=&lt;version&gt;
tar -xf ../udev-lfs-$UDEV.tar.bz2</userinput></screen>
<note><para>For udev-lfs-197-2.tar.bz2, there is a minor error
in the Makefile. For that version, run:</para>
<screen><userinput>sed -i -e '/samsung-9/d' udev-lfs-197-2/makefile-incl.keymap</userinput></screen></note>
<sect3>
<title>keymap</title>
<note><para>
Starting with systemd-206, the keymap capabilities are built into the
udev procedures initial installation in LFS. These procedures only
apply to udev versions before 206.
</para></note>
<para>
Support for special keys for many laptops is provided by the
<command>keymap</command> program and supporting files. If the
<command>keymap</command> capability is desired, use:
</para>
<screen><userinput>make -f udev-lfs-$UDEV/Makefile.lfs keymap</userinput></screen>
<para>To install <command>keymap</command> and its associated files,
issue the following command as the
<systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make -f udev-lfs-$UDEV/Makefile.lfs install-keymap</userinput></screen>
</sect3>
<sect3>
<title>gudev</title>
<para>To build the <application>libgudev-1.0</application> library and
interface files, run:</para>
<screen><userinput>make -f udev-lfs-$UDEV/Makefile.lfs gudev</userinput></screen>
<para>Install the <filename class='libraryfile'>gudev</filename> library,
run, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make -f udev-lfs-$UDEV/Makefile.lfs install-gudev</userinput></screen>
</sect3>
<sect3>
<title>GObject Files</title>
<para>To build the <application>gobject-introspection</application>
interface (gir) files for the <filename
class='libraryfile'>libgudev-1.0</filename> library, run:</para>
<screen><userinput>make -f udev-lfs-$UDEV/Makefile.lfs gir-data</userinput></screen>
<para>Install the gir data, as the <systemitem
class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make -f udev-lfs-$UDEV/Makefile.lfs install-gir-data</userinput></screen>
<caution><para>There is a shortcut to build and install all of the
<application>udev</application> components at once using the
<emphasis>all</emphasis> and <emphasis>install-all</emphasis>
<filename>Makefile.lfs</filename> targets. The installation of this target
will overwrite the base LFS udev files and has not been thoroughly tested
at the time of this writing. If using this procedure, the udev daemon
should be stopped before overwriting the existing <filename>udevd</filename>
and udev libraries.</para></caution>
</sect3>
</sect2>
<sect2 role="content">
<title>Contents</title>
<para>A list of the installed files, along with their short descriptions
can be found at
<ulink url="&lfs-root;/chapter06/udev.html#contents-udev"/>.</para>
<para>The following is some additional content information.</para>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Library</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>findkeyboards, keyboard-force-release.sh, and keymap</seg>
<seg>libgudev-1.0.so</seg>
<seg>/lib/udev/keymaps/force-release,
/usr/include/gudev-1.0/gudev,
/usr/lib/girepository-1.0,
/usr/share/gir-1.0, and
/usr/share/gtk-doc/html/gudev</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="keymap-systemd">
<term><command>keymap</command></term>
<listitem>
<para>configures computer model specific key mappings.</para>
<indexterm zone="udev-extras keymap-systemd">
<primary sortas="b-keymap">keymap (from systemd)</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libgudev-1.0-systemd">
<term><filename class='libraryfile'>libgudev-1.0.so</filename></term>
<listitem>
<para>is a GObject-based wrapper library for libudev.</para>
<indexterm zone="udev-extras libgudev-1.0-systemd">
<primary sortas="c-libgudev-1.0-systemd">libgudev-1.0.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>