%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 Apply a patch so that compat pkg-config files get installed without installing compat 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 --without-python These switches disable optional features because LFS does not provide their dependencies. --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 Makefile" \ -e "s:test-bus-cleanup\$(EXEEXT) ::g" \ -e "s:test-bus-gvariant\$(EXEEXT) ::g" \ -i Makefile Test the results, issue: make check Install the package: make install Install man pages and documentation files that are not installed by default: for section in 1 3 5 7 8 do install -v -m644 man/*.${section} /usr/share/man/man${section} done 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 systemctl, systemd, systemd-ask-password, systemd-cgls, systemd-notify, systemd-tty-ask-password-agent pam_systemd /lib/systemd, /etc/systemd, /etc/tmpfiles.d, /usr/share/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