]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - README
Add Bosto BT-12HD series to hwdb
[thirdparty/systemd.git] / README
diff --git a/README b/README
index 8d64ed769c41cdf906f7f9e9f6fddde075bfcf08..9f314dd144f984089c958f67ab8e9ce4752a09f9 100644 (file)
--- a/README
+++ b/README
@@ -134,6 +134,10 @@ REQUIREMENTS:
           CONFIG_IMA_ARCH_POLICY
           CONFIG_INTEGRITY_MACHINE_KEYRING
 
+        Required for reading credentials from SMBIOS:
+          CONFIG_DMI
+          CONFIG_DMI_SYSFS
+
         Required for RestrictFileSystems= in service units:
           CONFIG_BPF
           CONFIG_BPF_SYSCALL
@@ -168,6 +172,7 @@ REQUIREMENTS:
         sure to either turn off auditing at runtime using the kernel command
         line option "audit=0", or turn it off at kernel compile time using:
           CONFIG_AUDIT=n
+
         If systemd is compiled with libseccomp support on architectures which do
         not use socketcall() and where seccomp is supported (this effectively
         means x86-64 and ARM, but excludes 32-bit x86!), then nspawn will now
@@ -210,7 +215,7 @@ REQUIREMENTS:
         python-pefile (optional, required for ukify)
         python-lxml (optional, required to build the indices)
         pyelftools (optional, required for systemd-boot)
-        meson >= 0.53.2
+        meson >= 0.60.0
         ninja
         gcc >= 4.7
         awk, sed, grep, and similar tools
@@ -258,16 +263,16 @@ REQUIREMENTS:
         make use of DynamicUser= now, hence enabling nss-systemd is not
         optional.
 
-        Note that the build prefix for systemd must be /usr. (Moreover, packages
+        Note that the build prefix for systemd must be /usr/. (Moreover, packages
         systemd relies on — such as D-Bus — really should use the same prefix,
-        otherwise you are on your own.) -Dsplit-usr=false (which is the default
-        and does not need to be specified) is the recommended setting.
-        -Dsplit-usr=true can be used to give a semblance of support for systems
-        with programs installed split between / and /usr. Moving everything
-        under /usr is strongly encouraged.
+        otherwise you are on your own.) Split-usr and unmerged-usr systems are no
+        longer supported, and moving everything under /usr/ is required. Systems
+        with a separate /usr/ partition must mount it before transitioning into it
+        (i.e.: from the initrd). For more information see:
+        https://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
+        https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge
 
         Additional packages are necessary to run some tests:
-        - busybox            (used by test/TEST-13-NSPAWN-SMOKE)
         - nc                 (used by test/TEST-12-ISSUE-3171)
         - python             (test-udev which is installed is in python)
         - python-pyparsing
@@ -295,7 +300,6 @@ POLICY FOR SUPPORT OF DISTRIBUTIONS AND ARCHITECTURES:
         architecture-specific constants are not defined.
 
 STATIC COMPILATION AND "STANDALONE" BINARIES:
-
         systemd provides a public shared libraries libsystemd.so and
         libudev.so. The latter is deprecated, and the sd-device APIs in
         libsystemd should be used instead for new code. In addition, systemd is
@@ -307,28 +311,37 @@ STATIC COMPILATION AND "STANDALONE" BINARIES:
         It is possible to build static versions of systemd public shared
         libraries (via the configuration options '-Dstatic-libsystemd' and
         '-Dstatic-libudev'). This allows the libsystemd and libudev code to be
-        linked statically into programs. In addition, it is possible to disable
-        the use of libsystemd-shared-<suffix>.so for various components (via
-        the configuration options '-Dlink-*-shared'). In this mode, the
-        libsystemd and libsystemd-shared code is linked statically into
-        selected binaries. This option is intended for systems where some of
-        the components are intended to be delivered independently of the main
+        linked statically into programs. Note that mixing & matching different
+        versions of libsystemd and systemd is generally not recommended, since
+        various of its APIs wrap internal state and protocols of systemd
+        (e.g. logind and udev databases), which are not considered
+        stable. Hence, using static libraries is not recommended since it
+        generally means that version of the static libsystemd linked into
+        applications and the host systemd are not in sync, and will thus create
+        compatibility problems.
+
+        In addition, it is possible to disable the use of
+        libsystemd-shared-<suffix>.so for various components (via the
+        configuration options '-Dlink-*-shared'). In this mode, the libsystemd
+        and libsystemd-shared code is linked statically into selected
+        binaries. This option is intended for systems where some of the
+        components are intended to be delivered independently of the main
         systemd package. Finally, some binaries can be compiled in a second
         version (via the configuration option '-Dstandalone-binaries'). The
         version suffixed with ".standalone" has the libsystemd and
         libsystemd-shared code linked statically. Those binaries are intended
         as replacements to be used in limited installations where the full
-        systemd is not installed. Yet another option is to rebuild systemd with
-        a different '-Dshared-lib-tag' setting, allowing different systemd
-        binaries to be linked to instances of the private shared library that
-        can be installed in parallel.
-
-        Using the default shared linking is recommended. Mixing versions of
-        systemd components that would normally be built and used together (in
-        particular various daemons and the manager) is not recommended: we do
-        not test such combinations upstream and cannot provide support.
-        Distributors making use of those options are responsible if things do
-        not work as expected.
+        systemd suite is not installed. Yet another option is to rebuild
+        systemd with a different '-Dshared-lib-tag' setting, allowing different
+        systemd binaries to be linked to instances of the private shared
+        library that can be installed in parallel.
+
+        Again: Using the default shared linking is recommended, building static
+        or "standalone" versions is not. Mixing versions of systemd components
+        that would normally be built and used together (in particular various
+        daemons and the manager) is not recommended: we do not test such
+        combinations upstream and cannot provide support. Distributors making
+        use of those options are responsible if things do not work as expected.
 
 USERS AND GROUPS:
         Default udev rules use the following standard system group names, which
@@ -374,15 +387,16 @@ GLIBC NSS:
         DynamicUser= setting in unit files.)
 
         To make use of these NSS modules, please add them to the "hosts:",
-        "passwd:" and "group:" lines in /etc/nsswitch.conf. The "resolve" module
-        should replace the glibc "dns" module in this file (and don't worry, it
-        chain-loads the "dns" module if it can't talk to resolved).
+        "passwd:", "group:", "shadow:" and "gshadow:" lines in
+        /etc/nsswitch.conf.
 
         The four modules should be used in the following order:
 
-                passwd: compat systemd
-                group: compat systemd
-                hosts: files mymachines resolve [!UNAVAIL=return] dns myhostname
+                passwd: files systemd
+                group: files [SUCCESS=merge] systemd
+                shadow: files systemd
+                gshadow: files systemd
+                hosts: mymachines resolve [!UNAVAIL=return] files myhostname dns
 
 SYSV INIT.D SCRIPTS:
         When calling "systemctl enable/disable/is-enabled" on a unit which is a
@@ -396,28 +410,6 @@ SYSV INIT.D SCRIPTS:
         needs to look like, and provide an implementation at the marked places.
 
 WARNINGS and TAINT FLAGS:
-        systemd will warn during early boot if /usr is not already mounted at
-        this point (that means: either located on the same file system as / or
-        already mounted in the initrd). While in systemd itself very little
-        will break if /usr is on a separate late-mounted partition, many of its
-        dependencies very likely will break sooner or later in one form or
-        another. For example, udev rules tend to refer to binaries in /usr,
-        binaries that link to libraries in /usr, or binaries that refer to data
-        files in /usr. Since these breakages are not always directly visible,
-        systemd will warn about this. Such setups are not really supported by
-        the basic set of Linux OS components. Taint flag 'split-usr' will be
-        set when this condition is detected.
-
-        For more information on this issue consult
-        https://www.freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
-
-        systemd will warn if the filesystem is not usr-merged (i.e.: /bin, /sbin
-        and /lib* are not symlinks to their counterparts under /usr). Taint flag
-        'unmerged-usr' will be set when this condition is detected.
-
-        For more information on this issue consult
-        https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge
-
         systemd requires that the /run mount point exists. systemd also
         requires that /var/run is a symlink to /run. Taint flag 'var-run-bad'
         will be set when this condition is detected.