| KERNEL-COMMAND-LINE(7) | kernel-command-line | KERNEL-COMMAND-LINE(7) |
.SH "NAME" kernel-command-line - Kernel command line parameters
.SH "SYNOPSIS"
.PP /proc/cmdline
.SH "DESCRIPTION"
.PP The kernel, the programs running in the initrd and in the host system may
be configured at boot via kernel command line arguments.
.PP For command line parameters understood by the kernel, please see
kernel-parameters.html[1] and bootparam(7).
.PP For command line parameters understood by the initrd, see the
documentation of the specific initrd implementation of your
installation.
.SH "CORE OS COMMAND LINE ARGUMENTS"
.PP systemd.unit=, rd.systemd.unit=, systemd.dump_core,
systemd.crash_chvt, systemd.crash_shell,
systemd.crash_action=, systemd.confirm_spawn,
systemd.service_watchdogs, systemd.show_status,
systemd.status_unit_format=, systemd.log_target=,
systemd.log_level=, systemd.log_location=,
systemd.log_color, systemd.log_ratelimit_kmsg,
systemd.default_standard_output=,
systemd.default_standard_error=, systemd.setenv=,
systemd.machine_id=, systemd.set_credential=,
systemd.set_credential_binary=, systemd.import_credentials=,
systemd.credentials_boot_policy=,
systemd.reload_limit_interval_sec=,
systemd.reload_limit_burst=, systemd.minimum_uptime_sec=
Parameters understood by the system and service manager to control system
behavior. For details, see systemd(1).
Added in version 186.
.RE
.PP systemd.restrict_filesystem_access=
Controls the RestrictFileSystemAccess= execution enforcement policy.
For details, see systemd-system.conf(5).
Added in version 261.
.RE
.PP systemd.mask=, systemd.wants=, systemd.debug_shell,
systemd.default_debug_tty=
Additional parameters understood by systemd-debug-generator(8), to
mask or start specific units at boot, or invoke a debug shell on tty9.
Added in version 215.
.RE
.PP systemd.break=, rd.systemd.break=
Parameters understood by systemd-debug-generator(8), to pause the boot
process at a certain point and spawn a debug shell.
Added in version 258.
.RE
.PP systemd.run=, systemd.run_success_action=,
systemd.run_failure_action=
Additional parameters understood by systemd-run-generator(8), to run a
command line specified on the kernel command line as system service after
booting up.
Added in version 240.
.RE
.PP systemd.early_core_pattern=
During early boot, the generation of core dump files is disabled until a core
dump handler (if any) takes over. This parameter allows specifying an
absolute path where core dump files should be stored until a handler is
installed. The path should be absolute and may contain specifiers, see
core(5) for details.
Added in version 240.
.RE
.PP systemd.restore_state=
This parameter is understood by several system tools to control whether or
not they should restore system state from the previous boot. For details,
see systemd-backlight@.service(8) and
systemd-rfkill.service(8).
Added in version 209.
.RE
.PP systemd.ssh_auto=, systemd.ssh_listen=
These parameters are interpreted by systemd-ssh-generator(8) and may
be used to control SSH sockets the system shall be reachable on.
Added in version 256.
.RE
.PP systemd.volatile=
This parameter controls whether the system shall boot up in volatile mode.
Takes a boolean argument, or the special values state or overlay. If false
(the default), normal boot mode is selected, the root directory and /var/
are mounted as specified on the kernel command line or /etc/fstab, or
otherwise configured. If true, full state-less boot mode is selected. In
this case, the root directory is mounted as volatile memory file system
(tmpfs), and only /usr/ is mounted from the file system configured as root
device, in read-only mode. This enables fully state-less boots where the
vendor-supplied OS is used as shipped, with only default configuration and
no stored state in effect, as /etc/ and /var/ (as well as all other
resources shipped in the root file system) are reset at boot and lost on
shutdown. If this setting is set to state the root file system is mounted
read-only, however /var/ is mounted as a volatile memory file system
(tmpfs), so that the system boots up with the normal configuration applied,
but all state reset at boot and lost at shutdown. If this setting is set to
overlay the root file system is set up as overlayfs mount combining the
read-only root directory with a writable tmpfs, so that no modifications are
made to disk, but the file system may be modified nonetheless with all
changes being lost at reboot. For details, see
systemd-volatile-root.service(8) and
systemd-fstab-generator(8).
Added in version 233.
.RE
.PP quiet
Parameter understood by both the kernel and the system and service manager to
control console log verbosity. For details, see systemd(1).
Added in version 186.
.RE
.PP debug
Parameter understood by both the kernel and the system and service manager to
control console log verbosity. For details, see systemd(1).
Added in version 205.
.RE
.PP -b, rd.emergency, emergency, rd.rescue,
rescue, single, s, S, 1, 2,
3, 4, 5
Parameters understood by the system and service manager, as compatibility and
convenience options. For details, see systemd(1).
Added in version 186.
.RE
.PP 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 systemd(1).
Added in version 186.
.RE
.PP fsck.mode=, fsck.repair=
Parameters understood by the file system checker services. For details, see
systemd-fsck@.service(8).
Added in version 186.
.RE
.PP quotacheck.mode=
Parameter understood by the file quota checker service. For details, see
systemd-quotacheck@.service(8).
Added in version 186.
.RE
.PP systemd.journald.forward_to_syslog=,
systemd.journald.forward_to_kmsg=,
systemd.journald.forward_to_console=,
systemd.journald.forward_to_wall=
Parameters understood by the journal service. For details, see
systemd-journald.service(8).
Added in version 186.
.RE
.PP vconsole.keymap=, vconsole.keymap_toggle=,
vconsole.font=, vconsole.font_map=,
vconsole.font_unimap=, vconsole.font_scale=
Parameters understood by the virtual console setup logic. For details, see
vconsole.conf(5).
vconsole.font_scale= was added in version 262.
Added in version 186.
.RE
.PP udev.log_level=, rd.udev.log_level=, udev.trace=,
rd.udev.trace=, udev.children_max=,
rd.udev.children_max=, udev.exec_delay=,
rd.udev.exec_delay=, udev.event_timeout=,
rd.udev.event_timeout=, udev.timeout_signal=,
rd.udev.timeout_signal=, udev.blockdev_read_only,
rd.udev.blockdev_read_only, net.ifnames=,
net.naming_scheme=
Parameters understood by the device event managing daemon. For details, see
systemd-udevd.service(8).
Added in version 186.
.RE
.PP plymouth.enable=
May be used to disable the Plymouth boot splash. For details, see
plymouth(8).
Added in version 186.
.RE
.PP luks=, rd.luks=, luks.crypttab=,
rd.luks.crypttab=, luks.name=, rd.luks.name=,
luks.uuid=, rd.luks.uuid=, luks.options=,
rd.luks.options=, luks.key=, rd.luks.key=
Configures the LUKS full-disk encryption logic at boot. For details, see
systemd-cryptsetup-generator(8).
Added in version 186.
.RE
.PP fstab=, rd.fstab=
Configures the /etc/fstab logic at boot. For details, see
systemd-fstab-generator(8).
Added in version 186.
.RE
.PP root=, rootfstype=, rootflags=, ro,
rw
Configures the root file system and its file system type and mount options,
as well as whether it shall be mounted read-only or read-write initially.
For details, see systemd-fstab-generator(8).
If root= is not set (or set to gpt-auto) the automatic root partition
discovery implemented by systemd-gpt-auto-generator(8) will be in
effect. In this case, rootfstype=, rootflags=, ro,
rw will be interpreted by systemd-gpt-auto-generator.
Added in version 215.
.RE
.PP mount.usr=, mount.usrfstype=, mount.usrflags=
Configures the /usr file system (if required) and its file system type and
mount options. For details, see systemd-fstab-generator(8).
Added in version 235.
.RE
.PP veritytab=, rd.veritytab=, roothash=,
systemd.verity=, rd.systemd.verity=,
systemd.verity_root_data=, systemd.verity_root_hash=,
systemd.verity_root_options=, usrhash=,
systemd.verity_usr_data=, systemd.verity_usr_hash=,
systemd.verity_usr_options=
Configures the integrity protection root hash for the root and /usr file
systems, and other related parameters. For details, see
systemd-veritysetup-generator(8).
Added in version 233.
.RE
.PP systemd.getty_auto=
Configures whether the serial-getty@.service will run. For details, see
systemd-getty-generator(8).
Added in version 250.
.RE
.PP systemd.gpt_auto=, rd.systemd.gpt_auto=
Configures whether GPT-based partition auto-discovery shall be attempted. For
details, see systemd-gpt-auto-generator(8).
Added in version 215.
.RE
.PP systemd.image_policy=
When GPT-based partition auto-discovery is used, configures the image
dissection policy string to apply, as per systemd.image-policy(7).
For details see systemd-gpt-auto-generator(8).
Added in version 254.
.RE
.PP systemd.image_filter=
When GPT-based partition auto-discovery is used, configures the image
dissection filter string to apply, as per systemd.image-filter(7).
For details see systemd-gpt-auto-generator(8).
Added in version 258.
.RE
.PP systemd.default_timeout_start_sec=
Overrides the default start job timeout DefaultTimeoutStartSec= at
boot. For details, see systemd-system.conf(5).
Added in version 230.
.RE
.PP systemd.default_device_timeout_sec=
Overrides the default device timeout DefaultDeviceTimeoutSec= at boot.
For details, see systemd-system.conf(5).
Added in version 254.
.RE
.PP systemd.watchdog_device=
Overrides the watchdog device path WatchdogDevice=. For details, see
systemd-system.conf(5).
Added in version 236.
.RE
.PP systemd.watchdog_sec=
Overrides the watchdog timeout settings otherwise configured with
RuntimeWatchdog=, RebootWatchdog= and
KExecWatchdogSec=. Takes a time value (if no unit is specified,
seconds is the implicitly assumed time unit) or the special strings off or
default. For details, see systemd-system.conf(5).
Added in version 250.
.RE
.PP systemd.watchdog_pre_sec=
Overrides the watchdog pre-timeout settings otherwise configured with
RuntimeWatchdogPreSec=. Takes a time value (if no unit is specified,
seconds is the implicitly assumed time unit) or the special strings off or
default. For details, see systemd-system.conf(5).
Added in version 251.
.RE
.PP systemd.watchdog_pretimeout_governor=
Overrides the watchdog pre-timeout settings otherwise configured with
RuntimeWatchdogPreGovernor=. Takes a string value. For details, see
systemd-system.conf(5).
Added in version 251.
.RE
.PP systemd.cpu_affinity=
Overrides the CPU affinity mask for the service manager and the default for
all child processes it forks. This takes precedence over
CPUAffinity=, see systemd-system.conf(5) for details.
Added in version 245.
.RE
.PP modules_load=, rd.modules_load=
Load a specific kernel module early at boot. For details, see
systemd-modules-load.service(8).
Added in version 187.
.RE
.PP nameserver=, domain=
Configures DNS server information and search domains, see
systemd-resolved.service(8) for details.
Added in version 253.
.RE
.PP resume=, resumeflags=
Enable resume from hibernation using the specified device and timeout
options. All fstab(5)-style device identifiers are supported. For
details, see systemd-hibernate-resume-generator(8).
Added in version 217.
.RE
.PP resume_offset=
Configure the page offset of the swap space from the resume device. For
details, see systemd-hibernate-resume-generator(8).
Added in version 254.
.RE
.PP systemd.firstboot=
Takes a boolean argument or the special value headless, defaults to on. If
off, systemd-firstboot.service(1) and
systemd-homed-firstboot.service(1) will not query the user for basic
system settings, even if the system boots up for the first time and the
relevant settings are not initialized yet. If set to headless, the same
interactive prompts are suppressed as with no, but non-interactive
auto-configuration that requires no user input is still performed (for
example, selecting the only installed locale, or applying settings provided
via credentials). This is useful for unattended installations that should be
provisioned as far as possible without ever blocking on a prompt. Not to be
confused with systemd.condition_first_boot= (see below), which
overrides the result of the ConditionFirstBoot= unit file condition,
and thus controls more than just systemd-firstboot.service behaviour.
Added in version 233.
.RE
.PP systemd.condition_needs_update=
Takes a boolean argument. If specified, overrides the result of
ConditionNeedsUpdate= unit condition checks. See
systemd.unit(5) for details.
Added in version 246.
.RE
.PP systemd.condition_first_boot=
Takes a boolean argument. If specified, overrides the result of
ConditionFirstBoot= unit condition checks. See systemd.unit(5)
for details. Not to be confused with systemd.firstboot= which only
controls behaviour of the systemd-firstboot.service system service but has
no effect on the condition check (see above).
Added in version 246.
.RE
.PP systemd.clock_usec=
Takes a decimal, numeric timestamp in μs since January 1st 1970,
00:00am, to set the system clock to. The system time is set to the specified
timestamp early during boot. It is not propagated to the hardware clock
(RTC).
Added in version 246.
.RE
.PP systemd.random_seed=
Takes a base64 encoded random seed value to credit with full entropy to the
kernel's random pool during early service manager initialization. This
option is useful in testing environments where delays due to random pool
initialization in entropy starved virtual machines shall be avoided.
Note that if this option is used the seed is accessible to unprivileged
programs from /proc/cmdline. This option is hence a security risk when used
outside of test systems, since the (possibly) only seed used for
initialization of the kernel's entropy pool might be easily acquired by
unprivileged programs.
It is recommended to pass 512 bytes of randomized data (as that matches the
Linux kernel pool size), which may be generated with a command like the
following:
dd if=/dev/urandom bs=512 count=1 status=none | base64 -w 0
Again: do not use this option outside of testing environments, it is a
security risk elsewhere, as secret key material derived from the entropy
pool can possibly be reconstructed by unprivileged programs.
Added in version 246.
.RE
.PP systemd.allow_userspace_verity=
Takes a boolean argument. Controls whether disk images that are Verity
protected may be authenticated in userspace signature checks via
/etc/verity.d/*.crt (and related directories) public key drop-ins, or
whether in-kernel signature checking only. Defaults to on.
Added in version 256.
.RE
.PP systemd.hostname=
Accepts a hostname to set during early boot. If specified takes precedence
over what is set in /etc/hostname. Note that this does not bar later runtime
changes to the hostname, it simply controls the initial hostname set during
early boot.
The name may use the ? and $ wildcard patterns documented in
hostname(5), which are expanded deterministically from the machine ID
each time the name is applied. The expanded name is never persisted, hence
it may change if the word lists change. Note that in the initrd the word
lists (and possibly the machine ID) are typically not available; the option
is then ignored and the hostname is instead determined from the other
sources, i.e. /etc/hostname or the system.hostname credential,
falling back to the default hostname if none of those apply.
Added in version 246.
.RE
.PP systemd.tty.term.tty=,
systemd.tty.rows.tty=,
systemd.tty.columns.tty=
These arguments allow configuring default values for $TERM,
TTYRows=, and TTYColumns= for tty tty. Additionally,
systemd.tty.term.console will configure the $TERM value used
by systemd if not set explicitly using TERM on the kernel
command line. The tty name should be specified without the /dev/ prefix
(e.g. systemd.tty.rows.ttyS0=80).
Added in version 254.
.RE
.PP systemd.battery_check=
Accepts a boolean argument. If false the boot-time battery charge check
implemented by systemd-battery-check.service(8) is disabled.
Added in version 254.
.RE
.PP ifname=, net.ifname_policy=
Controls interface naming policies, implemented by
systemd-network-generator.service(8).
Added in version 245.
.RE
.PP systemd.tpm2_allow_clear=
Controls whether to allow clearing of the TPM chip, implemented by
systemd-tpm2-clear.service(8).
Added in version 258.
.RE
.PP systemd.tpm2_wait=
Controls whether to wait for a TPM2 device at boot, implemented by
systemd-tpm2-generator(8).
Added in version 256.
.RE
.PP systemd.tpm2_software_fallback=
Controls whether to start a fallback software TPM service in case a hardware
TPM is not available, implemented by systemd-tpm2-generator(8).
Added in version 261.
.RE
.PP systemd.tpm2_measured_os=
Controls whether to execute various boot and runtime TPM PCR measurements.
Takes a boolean argument. If not specified explicitly this behaviour is
enabled automatically in case systemd-stub(7) is used and it
succeeded in doing pre-boot measurements of the booted UKI, and otherwise
disabled.
Added in version 261.
.RE
.PP systemd.factory_reset=
Controls whether to boot into factory reset mode, implemented by
systemd-factory-reset-generator(8), systemd-repart(8), and
other tools.
Added in version 258.
.RE
.PP systemd.imds=, systemd.imds.*=
Controls various Instance Metadata Service (IMDS) cloud aspects, see
systemd-imdsd@.service(8) and systemd-imds-generator(8) for
details.
Added in version 261.
.RE
.PP systemd.sysext=, systemd.confext=,
rd.systemd.sysext=, rd.systemd.confext=
Take boolean arguments, default to on. Control whether system and
configuration extensions for the initrd (rd.systemd.sysext=,
rd.systemd.confext=) and for the main system (systemd.sysext=,
systemd.confext=) are merged automatically on boot. See
systemd-sysext(8) for details.
Added in version 261.
.RE
.SH "HISTORY"
.PP systemd 252
Kernel command-line arguments systemd.unified_cgroup_hierarchy and
systemd.legacy_systemd_cgroup_controller were deprecated. Please
switch to the unified cgroup hierarchy.
.RE
.SH "SEE ALSO"
.PP systemd(1), systemd-system.conf(5), bootparam(7),
systemd.system-credentials(7), smbios-type-11(7),
systemd-debug-generator(8), systemd-fsck@.service(8),
systemd-quotacheck@.service(8), systemd-journald.service(8),
systemd-vconsole-setup.service(8), systemd-udevd.service(8),
plymouth(8), systemd-cryptsetup-generator(8),
systemd-veritysetup-generator(8), systemd-fstab-generator(8),
systemd-getty-generator(8), systemd-gpt-auto-generator(8),
systemd-volatile-root.service(8),
systemd-modules-load.service(8),
systemd-backlight@.service(8), systemd-rfkill.service(8),
systemd-hibernate-resume-generator(8),
systemd-firstboot.service(1), bootctl(1)
NOTES
- 1.
- kernel-parameters.html
| systemd 262.2 |