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 @@ - - + +