diff --git a/Makefile.am b/Makefile.am
index 03e28e8c34..69a842b77c 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -460,6 +460,7 @@ MANPAGES = \
man/systemd.exec.5 \
man/systemd.special.7 \
man/systemd.journal-fields.7 \
+ man/kernel-command-line.7 \
man/daemon.7 \
man/runlevel.8 \
man/telinit.8 \
diff --git a/TODO b/TODO
index 908dadb974..4aa03a5250 100644
--- a/TODO
+++ b/TODO
@@ -25,6 +25,9 @@ Bugfixes:
Features:
+* turn $NOTIFY_SOCKET back into an abstract namespace socket for
+ compatibility with services which chroot()
+
* exclude processes marked with argv[0][0]=@ from the normal service killing too
* support rd.luks= kernel cmdline params in cryptsetup generator
@@ -33,8 +36,6 @@ Features:
* support rd.driver= kernel cmdline params in modules load
-* supprto rd.xxx wherever else makes sense
-
* systemctl: when stopping a service which has triggres and warning about it actually check the TriggeredBy= deps fields
* journal: hook up with EFI firmware log, new kmsg logic
@@ -141,8 +142,6 @@ Features:
* when a service has the same env var set twice we actually store it twice and return that in systemctl show -p... We should only show the last setting
-* add man page documenting all kernel cmdline options, including stuff like fsck.mode=
-
* support container_ttys=
* journald: make configurable "store-on-var", "store-on-run", "dont-store", "auto"
diff --git a/man/journald.conf.xml b/man/journald.conf.xml
index 13470b2a43..deb2344fc0 100644
--- a/man/journald.conf.xml
+++ b/man/journald.conf.xml
@@ -212,10 +212,10 @@
to syslog is enabled. These settings
may be overridden at boot time with the
kernel command line options
- systemd_journald.forward_to_syslog=,
- systemd_journald.forward_to_kmsg=
+ systemd.journald.forward_to_syslog=,
+ systemd.journald.forward_to_kmsg=
and
- systemd_journald.forward_to_console=. If
+ systemd.journald.forward_to_console=. If
forwarding to the kernel log buffer and
ImportKernel= is
enabled at the same time care is taken
diff --git a/man/kernel-command-line.xml b/man/kernel-command-line.xml
new file mode 100644
index 0000000000..0745e0f111
--- /dev/null
+++ b/man/kernel-command-line.xml
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+
+
+ kernel-command-line
+ systemd
+
+
+
+ Developer
+ Lennart
+ Poettering
+ lennart@poettering.net
+
+
+
+
+
+ kernel-command-line
+ 7
+
+
+
+ kernel-command-line
+ Kernel Command Line Paramaters
+
+
+
+ /proc/cmdline
+
+
+
+ Description
+
+ The kernel, the initial RAM disk (initrd) and
+ basic userspace functionality may be configured at boot via
+ kernel command line arguments.
+
+ For command line parameters understood by the
+ kernel please see kernel-parameters.txt.
+
+ For command line paramaters understood by the
+ initial RAM disk, please see
+ dracut.cmdline7.
+
+
+
+
+ Core OS Command Line Arguments
+
+
+
+ systemd.unit=
+ rd.systemd.unit=
+ systemd.dump_core=
+ systemd.crash_shell=
+ systemd.crash_chvt=
+ systemd.confirm_spawn=
+ systemd.show_status=
+ systemd.sysv_console=
+ systemd.log_target=
+ systemd.log_level=
+ systemd.log_color=
+ systemd.log_location=
+ systemd.default_standard_output=
+ systemd.default_standard_error=
+ systemd.setenv=
+
+ Parameters understood by
+ the system and service manager
+ to control system behaviour. For details see
+ systemd1.
+
+
+
+
+ quiet
+
+ Parameters understood by
+ both the kernel and the system
+ and service manager to control
+ console log verbosity. For
+ details see
+ systemd1.
+
+
+
+
+ emergency
+ single
+ s
+ S
+ 1
+ 2
+ 3
+ 4
+ 5
+
+ Parameters understood by
+ the system and service
+ manager, as compatibility
+ options. For details see
+ systemd1.
+
+
+
+
+ locale.LANG=
+ locale.LANGUAGE=
+ locale.LC_CTYPE=
+ locale.LC_NUMERIC=
+ locale.LC_TIME=
+ locale.LC_COLLATE=
+ locale.LC_MONETARY=
+ locale.LC_MESSAGES=
+ locale.LC_PAPER=
+ locale.LC_NAME=
+ locale.LC_ADDRESS=
+ locale.LC_TELEPHONE=
+ locale.LC_MEASUREMENT=
+ locale.LC_IDENTIFICATION=
+
+ Parameters understood by
+ the system and service manager
+ to control locale and language
+ settings. For details see
+ systemd1.
+
+
+
+
+ fsck.mode=
+
+
+ Parameters understood by
+ the file system checker
+ services. For details see
+ fsck-root.service8.
+
+
+
+
+ quotacheck.mode=
+
+
+ Parameters understood by
+ the file quota checker
+ service. For details see
+ quotacheck.service8.
+
+
+
+
+ systemd.journald.forward_to_syslog=
+ systemd.journald.forward_to_kmsg=
+ systemd.journald.forward_to_console=
+
+
+ Parameters understood by
+ the journal service. For
+ details see
+ systemd-journald.service8.
+
+
+
+
+ vconsole.keymap=
+ vconsole.keymap.toggle=
+ vconsole.font=
+ vconsole.font.map=
+ vconsole.font.unimap=
+
+
+ Parameters understood by
+ the virtual console setup logic. For
+ details see
+ systemd-vconsole-setup.service8.
+
+
+
+
+ udev.log-priority=
+ udev.children-max=
+ udev.udev.exec-delay=
+ rd.udev.log-priority=
+ rd.udev.children-max=
+ rd.udev.udev.exec-delay=
+
+
+ Parameters understood by
+ the device event managing daemon. For
+ details see
+ systemd-udevd8.
+
+
+
+
+
+
+
+
+ See Also
+
+ systemd1,
+ dracut.cmdline7,
+ fsck-root.service8,
+ quotacheck.service8,
+ systemd-journald.service8,
+ systemd-vconsole-setup.service8,
+ systemd-udevd8
+
+
+
+
diff --git a/man/systemd-journald.service.xml b/man/systemd-journald.service.xml
index 8ee0cf4e5d..5c4f031597 100644
--- a/man/systemd-journald.service.xml
+++ b/man/systemd-journald.service.xml
@@ -128,6 +128,34 @@
+
+ Kernel Command Line
+
+ A few configuration parameters from
+ journald.conf may be overriden on
+ the kernel command line:
+
+
+
+ systemd.journald.forward_to_syslog=
+ systemd.journald.forward_to_kmsg=
+ systemd.journald.forward_to_console=
+
+ Enables/disables
+ forwarding of collected log messages
+ to syslog, the kernel log buffer or
+ the system console.
+
+
+ See
+ journald.conf5
+ for information about these settings.
+
+
+
+
+
+
diff --git a/man/systemd.xml b/man/systemd.xml
index d179273caa..bf450d51c8 100644
--- a/man/systemd.xml
+++ b/man/systemd.xml
@@ -971,6 +971,7 @@
systemd.unit=
+ rd.systemd.unit=Overrides the unit to
activate on boot. Defaults to
@@ -980,8 +981,12 @@
rescue.target or
emergency.service. See
systemd.special7
- for details about these
- units.
+ for details about these units. The
+ option prefixed with
+ rd. is honoured
+ only in the initial RAM disk (initrd),
+ while the one that isn't prefixed only
+ in the main system.
@@ -1036,7 +1041,11 @@
argument. If
shows terse service status updates on
the console during bootup. Defaults to
- .
+ , unless
+ is passed as
+ kernel command line option in which
+ case it defaults to
+ .
@@ -1093,7 +1102,98 @@
disk.
+
+ quiet
+
+ If passed turns off
+ status output at boot, and disconnects
+ SysV scripts from the console, much
+ like
+ systemd.show_status=false
+ and
+ systemd.sysv_console=false
+ would. Note that this option is also
+ read by the kernel itself and disables
+ kernel log output to the
+ kernel. Passing this option hence
+ turns off the usual output from both
+ the system manager and the
+ kernel.
+
+
+
+ emergency
+
+ Boot into emergency
+ mode. This is equivalent to
+ systemd.unit=emergency.target
+ and provided for compatibility
+ reasons and to be easier to type.
+
+
+
+ single
+ s
+ S
+ 1
+
+ Boot into rescue
+ mode. This is equivalent to
+ systemd.unit=rescue.target
+ and provided for compatibility reasons
+ and to be easier to
+ type.
+
+
+
+ 2
+ 3
+ 4
+ 5
+
+ Boot into the
+ specified legacy SysV runlevel. This
+ is equivalent to
+ systemd.unit=runlevel2.target,
+ systemd.unit=runlevel3.target,
+ systemd.unit=runlevel4.target,
+ resp. systemd.unit=runlevel5.target
+ and provided for compatibility reasons
+ and to be easier to
+ type.
+
+
+
+ locale.LANG=
+ locale.LANGUAGE=
+ locale.LC_CTYPE=
+ locale.LC_NUMERIC=
+ locale.LC_TIME=
+ locale.LC_COLLATE=
+ locale.LC_MONETARY=
+ locale.LC_MESSAGES=
+ locale.LC_PAPER=
+ locale.LC_NAME=
+ locale.LC_ADDRESS=
+ locale.LC_TELEPHONE=
+ locale.LC_MEASUREMENT=
+ locale.LC_IDENTIFICATION=
+
+ Set the system locale
+ to use. This overrides the settings in
+ /etc/locale.conf. For
+ more information see
+ locale.conf5
+ and
+ locale7.
+
+
+
+ For other kernel command line parameters
+ understood by components of the core OS, please refer
+ to
+ kernel-command-line7.
@@ -1160,7 +1260,8 @@
sd-daemon7,
systemd.unit5,
systemd.special5,
- pkg-config1
+ pkg-config1,
+ kernel-command-line7
diff --git a/src/core/main.c b/src/core/main.c
index 5cd012e957..e6a90e0133 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -397,14 +397,15 @@ static int parse_proc_cmdline_word(const char *word) {
"systemd.default_standard_output=null|tty|syslog|syslog+console|kmsg|kmsg+console|journal|journal+console\n"
" Set default log output for services\n"
"systemd.default_standard_error=null|tty|syslog|syslog+console|kmsg|kmsg+console|journal|journal+console\n"
- " Set default log error output for services\n");
+ " Set default log error output for services\n"
+ "systemd.setenv=ASSIGNMENT Set an environment variable for all spawned processes\n");
} else if (streq(word, "quiet")) {
arg_show_status = false;
#ifdef HAVE_SYSV_COMPAT
arg_sysv_console = false;
#endif
- } else {
+ } else if (!in_initrd()) {
unsigned i;
/* SysV compatibility */
diff --git a/src/journal/journald.c b/src/journal/journald.c
index 5c6c4cae9e..98a155bdef 100644
--- a/src/journal/journald.c
+++ b/src/journal/journald.c
@@ -2630,19 +2630,19 @@ static int server_parse_proc_cmdline(Server *s) {
goto finish;
}
- if (startswith(word, "systemd_journald.forward_to_syslog=")) {
+ if (startswith(word, "systemd.journald.forward_to_syslog=")) {
r = parse_boolean(word + 35);
if (r < 0)
log_warning("Failed to parse forward to syslog switch %s. Ignoring.", word + 35);
else
s->forward_to_syslog = r;
- } else if (startswith(word, "systemd_journald.forward_to_kmsg=")) {
+ } else if (startswith(word, "systemd.journald.forward_to_kmsg=")) {
r = parse_boolean(word + 33);
if (r < 0)
log_warning("Failed to parse forward to kmsg switch %s. Ignoring.", word + 33);
else
s->forward_to_kmsg = r;
- } else if (startswith(word, "systemd_journald.forward_to_console=")) {
+ } else if (startswith(word, "systemd.journald.forward_to_console=")) {
r = parse_boolean(word + 36);
if (r < 0)
log_warning("Failed to parse forward to console switch %s. Ignoring.", word + 36);