%general-entities; ]> $LastChangedBy$ $Date$ Systemd-&systemd-version; systemd Introduction to systemd While systemd was installed when building LFS, there are many features provided by the package that were not included in the initial installation because Linux-PAM was not yet installed. The systemd package needs to be rebuilt to provide a working systemd-logind service, which provides many additional features for dependent packages. &lfs81_checked; Package Information Download (HTTP): Download (FTP): Download MD5 sum: &systemd-md5sum; Download size: &systemd-size; Estimated disk space required: &systemd-buildsize; Estimated build time: &systemd-time; systemd Dependencies Required Recommended Runtime Dependencies Optional , , , , , , , , , , , (for the zsh completions), cryptsetup, gnu-efi, kexec-tools, libmicrohttpd, lz4, qrencode, quota-tools and Sphinx Optional (to rebuild the manual pages) , , and User Notes: Installation of systemd Remove an unneeded group, render, from the default udev rules: sed -i 's/GROUP="render", //' rules/50-udev-default.rules.in Rebuild systemd by running the following commands: meson --prefix=/usr \ --sysconfdir=/etc \ --localstatedir=/var \ -Dblkid=true \ -Dbuildtype=release \ -Ddefault-dnssec=no \ -Dfirstboot=false \ -Dinstall-tests=false \ -Dldconfig=false \ -Drootprefix= \ -Drootlibdir=/lib \ -Dsplit-usr=true \ -Dsysusers=false \ -Db_lto=false \ $PWD build && cd build && ninja For the best results, make sure you run the testsuite from a system that is booted by the same systemd version you are rebuilding. To test the results, issue: ninja test. Installing the package will overwrite all files installed by systemd in LFS. It is critical that nothing uses either systemd or Udev libraries during the installation. The best way to ensure that these libraries are not being used is to run the installation in rescue mode. To switch to rescue mode, run the following command as the root user (from a TTY): systemctl start rescue.target Now, as the root user: ninja install If RPM is not installed, remove an unnecessary directory by running the following command as the root user: rm -rfv /usr/lib/rpm Configuring systemd The /etc/pam.d/system-session file needs to be modified and a new file needs to be created in order for systemd-logind to work correctly. Run the following commands as the root user: cat >> /etc/pam.d/system-session << "EOF" # Begin Systemd addition session required pam_loginuid.so session optional pam_systemd.so # End Systemd addition EOF cat > /etc/pam.d/systemd-user << "EOF" # Begin /etc/pam.d/systemd-user account required pam_access.so account include system-account session required pam_env.so session required pam_limits.so session include system-session auth required pam_deny.so password required pam_deny.so # End /etc/pam.d/systemd-user EOF At this point, you should reload the systemd daemon, and reenter multi-user mode with the following commands (as the root user): systemctl daemon-reload systemctl start multi-user.target If upgrading from a previous version of systemd and an initrd is used for system boot, you should generate a new initrd before rebooting the system. Contents A list of the installed files, along with their short descriptions can be found at . Listed below are the newly installed libraries and directories along with short descriptions. Installed Programs Installed Libraries Installed Directories None pam_systemd.so (in /lib/security) None Short Descriptions pam_systemd.so is a PAM module used to register user sessions with the systemd login manager, systemd-logind. pam_systemd.so