chiark / gitweb /
journald: be more careful when we try to flush the runtime journal to disk and the...
[elogind.git] / README
diff --git a/README b/README
index 21580bddc98d396641582179738b6062257c4a26..b8d1f42e254676193c6aeacc1385d0d98e22bd3f 100644 (file)
--- a/README
+++ b/README
@@ -31,13 +31,54 @@ AUTHOR:
 LICENSE:
         LGPLv2.1+ for all code
         - except sd-daemon.[ch] and sd-readahead.[ch] which are MIT
-        - except src/udev/ which is GPLv2.0+
+        - except src/udev/ which is (currently still) GPLv2+
 
 REQUIREMENTS:
         Linux kernel >= 2.6.39
-                with devtmpfs
-                with cgroups (but it's OK to disable all controllers)
-                optional but strongly recommended: autofs4, ipv6
+          CONFIG_DEVTMPFS
+          CONFIG_CGROUPS (it's OK to disable all controllers)
+          CONFIG_INOTIFY_USER
+          CONFIG_SIGNALFD
+          CONFIG_TIMERFD
+          CONFIG_EPOLL
+          CONFIG_NET
+          CONFIG_SYSFS
+
+        Linux kernel >= 3.8 for Smack support
+
+        Udev will fail to work with the legacy layout:
+          CONFIG_SYSFS_DEPRECATED=n
+
+        Legacy hotplug slows down the system and confuses udev:
+          CONFIG_UEVENT_HELPER_PATH=""
+
+        Userspace firmware loading is deprecated, will go away, and
+        sometimes causes problems:
+          CONFIG_FW_LOADER_USER_HELPER=n
+
+        Some udev rules and virtualization detection relies on it:
+          CONFIG_DMIID
+
+        Mount and bind mount handling might require it:
+          CONFIG_FHANDLE
+
+        Optional but strongly recommended:
+          CONFIG_IPV6
+          CONFIG_AUTOFS4_FS
+          CONFIG_TMPFS_POSIX_ACL
+          CONFIG_TMPFS_XATTR
+          CONFIG_SECCOMP
+
+        For systemd-bootchart a kernel with procfs support and several
+        proc output options enabled is required:
+          CONFIG_PROC_FS
+          CONFIG_SCHEDSTATS
+          CONFIG_SCHED_DEBUG
+
+        For UEFI systems:
+          CONFIG_EFI_VARS
+          CONFIG_EFI_PARTITION
+
         dbus >= 1.4.0
         libcap
         libblkid >= 2.20 (from util-linux) (optional)
@@ -58,9 +99,10 @@ REQUIREMENTS:
 
         During runtime you need the following additional dependencies:
 
-        util-linux > v2.18 (requires fsck -l, agetty -s)
-        sulogin (from sysvinit-tools, optional but recommended)
+        util-linux >= v2.19 (requires fsck -l, agetty -s)
+        sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended)
         dracut (optional)
+        PolicyKit (optional)
 
         When building from git you need the following additional dependencies:
 
@@ -73,20 +115,51 @@ REQUIREMENTS:
         gperf
         gtkdocize (optional)
         python (optional)
+        sphinx (optional)
+        python-lxml (entirely optional)
 
         When systemd-hostnamed is used it is strongly recommended to
         install nss-myhostname to ensure that in a world of
         dynamically changing hostnames the hostname stays resolvable
         under all circumstances. In fact, systemd-hostnamed will warn
-        if nss-myhostname is not installed. Packagers are encouraged to
-        add a dependency on nss-myhostname to the package that
-        includes systemd-hostnamed.
+        if nss-myhostname is not installed.
 
         Note that D-Bus can link against libsystemd-login.so, which
         results in a cyclic build dependency. To accommodate for this
         please build D-Bus without systemd first, then build systemd,
         then rebuild D-Bus with systemd support.
 
+        To build HTML documentation for python-systemd using sphinx,
+        please first install systemd (using 'make install'), and then
+        invoke sphinx-build with 'make sphinx-<target>', with <target>
+        being 'html' or 'latexpdf'. If using DESTDIR for installation,
+        pass the same DESTDIR to 'make sphinx-html' invocation.
+
+USERS AND GROUPS:
+        Default udev rules use the following standard system group
+        names, which need to be resolvable by getgrnam() at any time,
+        even in the very early boot stages, where no other databases
+        and network are available:
+
+        tty, dialout, kmem, video, audio, lp, floppy, cdrom, tape, disk
+
+        During runtime the journal daemon requires the
+        "systemd-journal" system group to exist. New journal files will
+        be readable by this group (but not writable) which may be used
+        to grant specific users read access.
+
+        It is also recommended to grant read access to all journal
+        files to the system groups "wheel" and "adm" with a command
+        like the following in the post installation script of the
+        package:
+
+        # setfacl -nm g:wheel:rx,d:g:wheel:rx,g:adm:rx,d:g:adm:rx /var/log/journal/
+
+        The journal gateway daemon requires the
+        "systemd-journal-gateway" system user and group to
+        exist. During execution this network facing service will drop
+        privileges and assume this uid/gid for security reasons.
+
 WARNINGS:
         systemd will warn you during boot if /etc/mtab is not a
         symlink to /proc/mounts. Please ensure that /etc/mtab is a
@@ -110,13 +183,3 @@ WARNINGS:
         (e.g. ./configure CPPFLAGS='... -DVALGRIND=1'). Otherwise,
         false positives will be triggered by code which violates
         some rules but is actually safe.
-
-ENGINEERING AND CONSULTING SERVICES:
-        ProFUSION <http://profusion.mobi> offers professional
-        engineering and consulting services for systemd for embedded
-        and other use. Please contact Gustavo Barbieri
-        <barbieri@profusion.mobi> for more information.
-
-        Disclaimer: This notice is not a recommendation or official
-        endorsement. However, ProFUSION's upstream work has been very
-        beneficial for the systemd project.