README revision ffbd2c4d45787ba5ba85a32db6551efba66a1ee6
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevaliersystemd System and Service Manager
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny ChevalierDETAILS:
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier http://0pointer.de/blog/projects/systemd.html
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny ChevalierWEB SITE:
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier http://www.freedesktop.org/wiki/Software/systemd
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny ChevalierGIT:
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier git://anongit.freedesktop.org/systemd/systemd
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier ssh://git.freedesktop.org/git/systemd/systemd
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny ChevalierGITWEB:
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier http://cgit.freedesktop.org/systemd/systemd
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny ChevalierMAILING LIST:
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier http://lists.freedesktop.org/mailman/listinfo/systemd-devel
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier http://lists.freedesktop.org/mailman/listinfo/systemd-commits
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny ChevalierIRC:
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier #systemd on irc.freenode.org
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny ChevalierBUG REPORTS:
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier https://bugs.freedesktop.org/enter_bug.cgi?product=systemd
f49e8bc4722aa581f655f81b87608709b6bcda38Ronny Chevalier
c0fd7cbd7a3a0aab503393e648b33b6ad49ec485William GiokasAUTHOR:
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier Lennart Poettering
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier Kay Sievers
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu ...and many others
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas CornuLICENSE:
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu LGPLv2.1+ for all code
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu - except sd-daemon.[ch] and sd-readahead.[ch] which are MIT
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu - except src/udev/ which is (currently still) GPLv2+
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas CornuREQUIREMENTS:
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu Linux kernel >= 2.6.39
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu CONFIG_DEVTMPFS
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu CONFIG_CGROUPS (it's OK to disable all controllers)
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu CONFIG_INOTIFY_USER
7e7cd2526d9deb7d607854212a1573cff737ce00Nicolas Cornu CONFIG_SIGNALFD
b4c14404b3e8753c41bac0b1d49369230a15c544Filipe Brandenburger CONFIG_TIMERFD
5ffd7671cc122c9bf808104eca7cc96ca3b3d4d1Nicolas Cornu CONFIG_EPOLL
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier CONFIG_NET
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier CONFIG_SYSFS
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier Linux kernel >= 3.8 for Smack support
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier Udev will fail to work with the legacy layout:
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier CONFIG_SYSFS_DEPRECATED=n
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier Legacy hotplug slows down the system and confuses udev:
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier CONFIG_UEVENT_HELPER_PATH=""
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier Userspace firmware loading is deprecated, will go away, and
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier sometimes causes problems:
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier CONFIG_FW_LOADER_USER_HELPER=n
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier
a80cea68616df5991ed64ed93f956d4377974a21Ronny Chevalier Some udev rules and virtualization detection relies on it:
d74ab852161d2dc4093d369495ddfa18460cfd76Ronny Chevalier 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)
libkmod >= 5 (optional)
PAM >= 1.1.2 (optional)
libcryptsetup (optional)
libaudit (optional)
libacl (optional)
libattr (optional)
libselinux (optional)
liblzma (optional)
tcpwrappers (optional)
libgcrypt (optional)
libqrencode (optional)
libmicrohttpd (optional)
libpython (optional)
make, gcc, and similar tools
During runtime you need the following additional dependencies:
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:
docbook-xsl
xsltproc
automake
autoconf
libtool
intltool
gperf
gtkdocize (optional)
python (optional)
sphinx (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.
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
proper symlink.
systemd will warn you during boot if /usr is on a different
file system than /. While in systemd itself very little will
break if /usr is on a separate 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, since this kind of file system setup is not really
supported anymore by the basic set of Linux OS components.
For more information on this issue consult
http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken
To run systemd under valgrind, compile with VALGRIND defined
(e.g. ./configure CPPFLAGS='... -DVALGRIND=1'). Otherwise,
false positives will be triggered by code which violates
some rules but is actually safe.