LICENSE:
LGPLv2.1+ for all code
- - except sd-daemon.[ch] and sd-readahead.[ch] which are MIT
- - except src/shared/MurmurHash3.c which is Public Domain
+ - except sd-readahead.[ch] which is MIT
+ - except src/shared/MurmurHash2.c which is Public Domain
+ - except src/shared/siphash24.c which is CC0 Public Domain
- except src/journal/lookup3.c which is Public Domain
- except src/udev/* which is (currently still) GPLv2, GPLv2+
REQUIREMENTS:
Linux kernel >= 3.0
+ Linux kernel >= 3.3 for loop device partition support features with nspawn
+ Linux kernel >= 3.8 for Smack support
+
+ Kernel Config Options:
CONFIG_DEVTMPFS
- CONFIG_CGROUPS (it's OK to disable all controllers)
+ CONFIG_CGROUPS (it is 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
+ CONFIG_PROC_FS
+ CONFIG_FHANDLE (libudev, mount and bind mount handling)
Udev will fail to work with the legacy layout:
CONFIG_SYSFS_DEPRECATED=n
Some udev rules and virtualization detection relies on it:
CONFIG_DMIID
- Mount and bind mount handling might require it:
- CONFIG_FHANDLE
-
Support for some SCSI devices serial number retrieval, to
create additional symlinks in /dev/disk/ and /dev/tape:
CONFIG_BLK_DEV_BSG
+ Required for PrivateNetwork in service units:
+ CONFIG_NET_NS
+
Optional but strongly recommended:
CONFIG_IPV6
CONFIG_AUTOFS4_FS
CONFIG_TMPFS_XATTR
CONFIG_SECCOMP
- For systemd-bootchart, a kernel with procfs support and
- several proc output options enabled is required:
- CONFIG_PROC_FS
+ Required for CPUShares in resource control unit settings
+ CONFIG_CGROUP_SCHED
+ CONFIG_FAIR_GROUP_SCHED
+
+ For systemd-bootchart, several proc debug interfaces are required:
CONFIG_SCHEDSTATS
CONFIG_SCHED_DEBUG
For UEFI systems:
- CONFIG_EFI_VARS
+ CONFIG_EFIVAR_FS
CONFIG_EFI_PARTITION
Note that kernel auditing is broken when used with systemd's
runtime using the kernel command line option "audit=0", or
turn it off at kernel compile time using:
CONFIG_AUDIT=n
-
- dbus >= 1.4.0
+ 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 install a
+ work-around seccomp filter that makes containers boot even
+ with audit being enabled. This works correctly only on kernels
+ 3.14 and newer though. TL;DR: turn audit off, still.
+
+ glibc >= 2.14
libcap
+ libseccomp >= 1.0.0 (optional)
libblkid >= 2.20 (from util-linux) (optional)
libkmod >= 15 (optional)
PAM >= 1.1.2 (optional)
libattr (optional)
libselinux (optional)
liblzma (optional)
- tcpwrappers (optional)
libgcrypt (optional)
libqrencode (optional)
libmicrohttpd (optional)
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)
+ util-linux >= v2.19 (requires fsck -l, agetty -s),
+ v2.21 required for tests in test/
+ dbus >= 1.4.0 (strictly speaking optional, but recommended)
+ sulogin (from util-linux >= 2.22 or sysvinit-tools, optional but recommended,
+ required for tests in test/)
dracut (optional)
PolicyKit (optional)
gperf
gtkdocize (optional)
python (optional)
+ python-lxml (optional, but required to build the indices)
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
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>
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
+ audio, cdrom, dialout, disk, input, kmem, lp, tape, tty, video
During runtime, the journal daemon requires the
"systemd-journal" system group to exist. New journal files will
exist. During execution this network facing service will drop
privileges and assume this uid/gid for security reasons.
+ Similar, the NTP daemon requires the "systemd-timesync" system
+ user and group to exist.
+
+ Similar, the network management daemon requires the
+ "systemd-network" system user and group to exist.
+
+ Similar, the name resolution daemon requires the
+ "systemd-resolve" system user and group to exist.
+
+ Similar, the kdbus dbus1 proxy daemon requires the
+ "systemd-bus-proxy" system user and group to exist.
+
WARNINGS:
systemd will warn you during boot if /etc/mtab is not a
symlink to /proc/mounts. Please ensure that /etc/mtab is a
about this, since this kind of file system setup is not really
supported anymore by the basic set of Linux OS components.
+ systemd requires that the /run mount point exists. systemd also
+ requires that /var/run is a a symlink to /run.
+
For more information on this issue consult
http://freedesktop.org/wiki/Software/systemd/separate-usr-is-broken