kernel-command-line - Man Page

Kernel command line parameters

Synopsis

/proc/cmdline

Description

The kernel, the programs running in the initrd and in the host system may be configured at boot via kernel command line arguments​.

For command line parameters understood by the kernel, please see kernel-parameters​.html​[1] and bootparam(7)​.

For command line parameters understood by the initrd, see the documentation of the specific initrd implementation of your installation​.

Core OS Command Line Arguments

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​.

systemd​.restrict_filesystem_access=

Controls the RestrictFileSystemAccess= execution enforcement policy​. For details, see systemd-system.conf(5)​.

Added in version 261​.

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​.

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​.

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​.

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​.

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​.

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​.

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​.

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​.

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​.

-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​.

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​.

fsck​.mode=,  fsck​.repair=

Parameters understood by the file system checker services​. For details, see systemd-fsck@.service(8)​.

Added in version 186​.

quotacheck​.mode=

Parameter understood by the file quota checker service​. For details, see systemd-quotacheck@.service(8)​.

Added in version 186​.

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​.

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​.

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​.

plymouth​.enable=

May be used to disable the Plymouth boot splash​. For details, see plymouth(8)​.

Added in version 186​.

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​.

fstab=, rd​.fstab=

Configures the /etc/fstab logic at boot​. For details, see systemd-fstab-generator(8)​.

Added in version 186​.

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​.

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​.

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​.

systemd​.getty_auto=

Configures whether the serial-getty@​.service will run​. For details, see systemd-getty-generator(8)​.

Added in version 250​.

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​.

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​.

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​.

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​.

systemd​.default_device_timeout_sec=

Overrides the default device timeout DefaultDeviceTimeoutSec= at boot​. For details, see systemd-system.conf(5)​.

Added in version 254​.

systemd​.watchdog_device=

Overrides the watchdog device path WatchdogDevice=​. For details, see systemd-system.conf(5)​.

Added in version 236​.

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​.

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​.

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​.

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​.

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​.

nameserver=, domain=

Configures DNS server information and search domains, see systemd-resolved.service(8) for details​.

Added in version 253​.

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​.

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​.

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​.

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​.

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​.

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​.

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​.

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​.

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​.

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​.

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​.

ifname=, net​.ifname_policy=

Controls interface naming policies, implemented by systemd-network-generator.service(8)​.

Added in version 245​.

systemd​.tpm2_allow_clear=

Controls whether to allow clearing of the TPM chip, implemented by systemd-tpm2-clear.service(8)​.

Added in version 258​.

systemd​.tpm2_wait=

Controls whether to wait for a TPM2 device at boot, implemented by systemd-tpm2-generator(8)​.

Added in version 256​.

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​.

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​.

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​.

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​.

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​.

History

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​.

See Also

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
https://docs.kernel.org/admin-guide/kernel-parameters.html

Info

systemd 262