diff --git a/chapter01/changelog.xml b/chapter01/changelog.xml
index f37a1d7d1..34c7d6ac0 100644
--- a/chapter01/changelog.xml
+++ b/chapter01/changelog.xml
@@ -38,6 +38,9 @@
2014-08-21
+
+ [krejzi] - Updated to systemd-216.
+
[krejzi] - Updated to glibc-2.20 (snapshot).
diff --git a/chapter06/systemd.xml b/chapter06/systemd.xml
index 14e452ca3..6e5e95591 100644
--- a/chapter06/systemd.xml
+++ b/chapter06/systemd.xml
@@ -41,26 +41,26 @@
Installation of systemd
First, create a file to allow systemd to build when using Util-Linux
- built in Chapter 5:
+ built in Chapter 5 and disable LTO by default:
cat > config.cache << "EOF"
KILL=/bin/kill
HAVE_BLKID=1
BLKID_LIBS="-lblkid"
-BLKID_CFLAGS="-I/tools/include/blkid"
+BLKID_CFLAGS="-I/tools/include/blkid"
+cc_cv_CFLAGS__flto=no
EOF
+ LTO is disabled by default because it causes systemd
+ and other auxiliary programs to link to libgcc_s.so, slows the build down and makes the
+ compiled code larger.
+
Additionally, fix a build error when using Util-Linux built in
Chapter 5:
sed -i "s:blkid/::" $(grep -rl "blkid/blkid.h")
- The timesyncd.conf file contains a
- reference to a non-existent timesyncd.conf(5) man
- page. Remove that reference to avoid possible confusion:
-
-sed -i '/timesyncd.conf/d' src/timesync/timesyncd.conf.in
-
Apply a patch so that compat pkg-config files get
installed without installing compat libs which are useless on LFS:
@@ -76,6 +76,9 @@ EOF
--with-rootlibdir=/lib \
--enable-split-usr \
--disable-gudev \
+ --disable-firstboot \
+ --disable-ldconfig \
+ --disable-sysusers \
--without-python \
--docdir=/usr/share/doc/systemd-&systemd-version; \
--with-dbuspolicydir=/etc/dbus-1/system.d \
@@ -121,6 +124,38 @@ EOF
+
+ --disable-firstboot
+
+ This switch prevents installation of systemd
+ services responsible for setting up the system for
+ the first time. They are not useful for LFS because
+ everything is done manually.
+
+
+
+
+ --disable-ldconfig
+
+ This switch prevents installation of a systemd
+ unit that runs ldconfig at
+ boot, making the boot time longer. Remove it if the
+ described feature is desired, even though it's not
+ useful for source distributions such as LFS.
+
+
+
+
+ --disable-sysusers
+
+ This switch prevents installation of systemd
+ services responsible for setting up the
+ /etc/group and
+ /etc/passwd files. Both files
+ were created early in this chapter.
+
+
+
--with-dbus*
@@ -156,10 +191,9 @@ EOF
make LD_LIBRARY_PATH=/tools/lib install
- Move NSS myhostname library to /lib:
+ Move NSS libraries to /lib:
-mv -v /usr/lib/libnss_myhostname.so.2 /lib
+mv -v /usr/lib/libnss_{myhostname,mymachines,resolve}.so.2 /lib
Remove an unnecessary directory:
@@ -194,21 +228,24 @@ ln -sfv ../lib/systemd/systemd /sbin/init
bootctl, busctl, coredumpctl, halt, hostnamectl, init, journalctl,
- kernel-install, localectl, loginctl, machinectl, poweroff, reboot,
- runlevel, shutdown, systemctl, systemd-analyze, systemd-ask-password,
- systemd-cat, systemd-cgls, systemd-cgtop, systemd-coredumpctl,
- systemd-delta, systemd-detect-virt, systemd-inhibit,
- systemd-machine-id-setup, systemd-notify, systemd-nspawn, systemd-path,
- systemd-run, systemd-stdio-bridge, systemd-sysusers, systemd-tmpfiles,
- systemd-tty-ask-password-agent, telinit, timedatectl, and udevadm
- libnss_myhostname.so.2, libsystemd.so, libudev.so
+ kernel-install, localectl, loginctl, machinectl, networkctl, poweroff,
+ reboot, runlevel, shutdown, systemctl, systemd-analyze,
+ systemd-ask-password, systemd-cat, systemd-cgls, systemd-cgtop,
+ systemd-delta, systemd-detect-virt, systemd-escape,
+ systemd-inhibit, systemd-machine-id-setup, systemd-notify, systemd-nspawn,
+ systemd-path, systemd-run, systemd-stdio-bridge,
+ systemd-tmpfiles, systemd-tty-ask-password-agent, telinit, timedatectl,
+ and udevadm
+ libnss_myhostname.so.2, libnss_mymachines.so.2, libnss_resolve.so.2,
+ libsystemd.so, libudev.so
/etc/binfmt.d, /etc/init.d, /etc/kernel, /etc/modules-load.d,
/etc/sysctl.d, /etc/systemd, /etc/tmpfiles.d, /etc/udev,
/etc/xdg/systemd, /lib/systemd, /lib/udev, /usr/include/systemd,
/usr/lib/binfmt.d, /usr/lib/kernel, /usr/lib/modules-load.d,
- /usr/lib/sysctl.d, /usr/lib/systemd, /usr/lib/tmpfiles.d,
- /usr/share/doc/systemd-&systemd-version;, /usr/share/systemd,
- /var/lib/systemd, /var/log/journal
+ /usr/lib/sysctl.d, /usr/lib/systemd,
+ /usr/lib/tmpfiles.d, /usr/share/doc/systemd-&systemd-version;,
+ /usr/share/factory, /usr/share/systemd, /var/lib/systemd,
+ /var/log/journal
@@ -470,6 +507,27 @@ ln -sfv ../lib/systemd/systemd /sbin/init
+
+ systemd-escape
+
+ Used to escape strings for inclusion in systemd unit names.
+
+ systemd-escape
+
+
+
+
+
+
systemd-inhibit
@@ -535,7 +593,7 @@ ln -sfv ../lib/systemd/systemd /sbin/init
-
-
+
systemd-tmpfiles
diff --git a/packages.ent b/packages.ent
index 391253a7d..f6a0ab578 100644
--- a/packages.ent
+++ b/packages.ent
@@ -543,10 +543,10 @@
-
-
+
+
-
+
diff --git a/patches.ent b/patches.ent
index 2b0feaf9a..91ccdc3ba 100644
--- a/patches.ent
+++ b/patches.ent
@@ -60,8 +60,8 @@
-
-
+
+