%general-entities; ]> Systemd-&systemd-version; Systemd <para>The systemd package is a system and service manager for Linux operating systems.</para> </sect2> <sect2 role="installation"> <title>Installation of Systemd Systemd 211 merged several libraries into libsystemd, but some packages that use systemd still expect those separate libraries. Apply a patch to allow backwards compatibility with these packages by installing Pkg-config files for the old libraries: patch -Np1 -i ../&systemd-compat-patch; Prepare systemd for compilation: ./configure --prefix=/usr \ --sysconfdir=/etc --localstatedir=/var \ --libexecdir=/usr/lib --docdir=/usr/share/doc/systemd-&systemd-version; \ --with-rootprefix="" --with-rootlibdir=/lib \ --enable-split-usr --disable-gudev --with-kbd-loadkeys=/bin/loadkeys \ --with-kbd-setfont=/bin/setfont --with-dbuspolicydir=/etc/dbus-1/system.d \ --with-dbusinterfacedir=/usr/share/dbus-1/interfaces \ --with-dbussessionservicedir=/usr/share/dbus-1/services \ --with-dbussystemservicedir=/usr/share/dbus-1/system-services The meaning of the configure options: --with-root* These switches ensure that core programs and shared libraries are installed in the subdirectories of the root partition. --enable-split-usr This switch ensures that systemd will work on systems where /bin, /lib and /sbin directories are not symlinks to their /usr counterparts. --disable-gudev This switch prevents systemd from building libgudev as it requires Glib, which is not installed in CLFS. --with-dbus* These switches ensure that D-Bus configuration files get installed to the correct locations. Compile the package: make Prevent a broken test case from running: sed -e "s:test/udev-test.pl::g" \ -e "s:test-bus-cleanup\$(EXEEXT) ::g" \ -e "s:test-bus-gvariant\$(EXEEXT) ::g" \ -i Makefile To test the results, issue: make check Install the package: make install Install documentation files that are not installed by default: install -v -m644 man/*.html /usr/share/doc/systemd-&systemd-version; Move NSS myhostname library to /lib : mv -v /usr/lib/libnss_myhostname.so.2 /lib Remove an unnecessary directory: rm -rfv /usr/lib/rpm Create symlinks for backwards-compatibility with Sysvinit: for tool in runlevel reboot shutdown poweroff halt telinit; do ln -sfv ../bin/systemctl /sbin/$tool done ln -sfv ../lib/systemd/systemd /sbin/init Modify a configuration file which references a group that doesn't exist: sed -i "s@root lock@root root@g" /usr/lib/tmpfiles.d/legacy.conf Configuring Systemd systemd configuring /etc/os-release Create /etc/machine-id which is needed by Journald: systemd-machine-id-setup Create a file to identify the operating system. systemd will use this file on boot to put information on the screen. cat > /etc/os-release << "EOF" # Begin /etc/os-release NAME=Cross-LFS ID=clfs PRETTY_NAME=Cross Linux From Scratch ANSI_COLOR=0;33 VERSION=&version; VERSION_ID=&versionid; # End /etc/os-release EOF Contents of Systemd Installed programs Installed libraries Installed directories bootctl, busctl, halt (link to systemctl), hostnamectl, init (link to systemd), journalctl, kernel-install, localectl, loginctl, machinectl, poweroff (link to systemctl), reboot (link to systemctl), runlevel (link to systemctl), shutdown (link to systemctl), systemctl, system-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-run, systemd-stdio-bridge (link to systemd-bus-proxyd), systemd-tmpfiles, systemd-tty-ask-password-agent, telinit (link to systemctl), timedatectl, udevadm libnss_myhostname.so, 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/share/doc-systemd-&systemd-version;, /usr/share/systemd, /var/lib/systemd Short Descriptions systemctl Control the systemd system and service manager systemctl systemd System and service manager for Linux systemd systemd-ask-password Queries the user for a system passphrase, via the TTY or an UI agent. systemd-ask-password systemd-cgls Recursively shows control group contents systemd-cgls systemd-notify Notify init system about start-up completion and other daemon status changes systemd-notify systemd-tty-ask-password-agent Process system password requests systemd-tty-ask-password-agent pam_systemd Register user sessions in the systemd control group hierarchy pam_systemd /lib/systemd Location of system units and configurations /lib/systemd /etc/systemd Location of user units and configurations /etc/systemd /etc/tmpfiles.d Configuration for creation, deletion and cleaning of temporary and volatile files /etc/tmpfiles.d /usr/share/systemd Location of session unit files /usr/share/systemd