This document summarizes the different boot parameters that can be passed on the Linux kernel command line. Not limited to Finit.
Important
Remember to use --
to separate kernel parameters from parameters to
init. E.g., init=/sbin/finit -- finit.debug rescue
The bool
setting is one of on, off, true false, 1, 0
.
-
debug
: Enable kernel debug. Debug messages are printed to the console until Finit starts up, unlessloglevel=7
(below) is used. -
fsck.mode=<auto,force,skip>
, default:auto
, unless built withconfigure --enable-fastboot
, in which case the default isskip
-
fsck.repair=<preen,yes,no>
, default:preen
, unless built withconfigure --enable-fsckfix
, in which case the default isyes
. This configure option also setsfsck.mode=force
, unless fastboot is selected at the same time. I.e., the--enable-fastboot
build option overrides thefsck.mode
default value. -
finit.cond=foo[,bar[,baz]]
: set<boot/foo>
condition, optionally multiple conditions can be set using the same option, separated with a comma. Alternatively, multiplefoo.cond=arg
can be given. Each will result in a<boot/arg>
condition being set to control the rest of the system bootstrap.Very useful for selecting different boot modes, e.g. manufacturing test, firmware upgrade, or rescue mode.
Note
<boot/...>
conditions cannot be cleared with initctl
!
-
finit.config=/path/to/alternative/finit.conf
: override the compile-time bootstrap config file, default:./configure --with-config=/etc/finit.conf
Useful when starting up in various rescue mode, factory, or production test setups. Use the top-level configuration file directive
rcsd /path/to/finit.d
to override the default rcS.d directory. -
finit.debug[=bool]
: Enable finit debug. This is operated independently of the kerneldebug
setting. New as of Finit v4. -
finit.fstab=</path/to/etc/fstab.alternative>
: Tell Finit to use an alternatefstab
to mount the file system from. Remember, this file must be on theroot=...
file system provided to Finit from the kernel. By default the built-in fstab is used, which itself defaults to/etc/fstab
, but can be changed at build time with:./configure --with-fstab=/path/to/fstab
It is even possible to disable a built-in default using:
./configure --without-fstab
Making
finit.fstab=/path/to/fstab
a mandatory command line option. Note, if the command line fstab is missing, Finit falls back to the built-in fstab, and if both are missing, the system treats this as a badfsck
and thus callssulogin
. If, in turn,sulogin
is not available on the system, Finit calls reboot, which is also what will happen when a user exits fromsulogin
. -
finit.status[=bool]
: Control finit boot progress, including banner. (Used to befinit.show_status
, which works but is deprecated.) -
finit.status_style=<classic,modern>
: Set Finit boot progress style, when enabled. -
init=/bin/sh
: Bypass system default init and tell kernel to start a shell. Note, this shell is very limited and does not support signals and has no job control. Recommend using, and modifying,rescue
mode instead. -
loglevel=<0-7>
, sets the kernel's log level, which is more granular thandebug
. Also, whenloglevel=7
, Finit will not disable kernel logs to the console. This is very useful when debugging the kernel at system bring-up. Sinceloglevel=7
is the same asdebug
this means you have to usequiet
for a quiet boot, until sysklogd takes over logging of kernel events. -
panic=SEC
: By default the kernel does not reboot after a kernel panic. This setting will cause a kernel reboot after SEC seconds. -
quiet
: Suppress kernel logging to console, except for warnings and errors. Also, seeloglevel
andquiet
above. -
rescue
: Start rescue/maintenance mode. If your system comes with the bundledsulogin
program (Finit, or from util-linux/Busybox), you will be given a root login to a maintenance shell. However, ifsulogin
is missing, the file/lib/finit/rescue.conf
is read and the system booted in a limited fallback mode. See config.md for more information.This option can be disabled with
configure --without-rescue
Note: in this mode
initctl
will not work. Correct the problem and usereboot -f
to force reboot. -
single
, orS
: Overrides the configured runlevel (default: 2) to go to after bootstrap by forcing it to runlevel 1, this is also known as single user mode. Useful to debug startup problems. All services and TTYs in[1]
will be started, so atty [1] @console nologin
configuration presents you with a root console without login. -
1-9
, except6
: override the configuredrunlevel
. Like theS
andrescue
, giving a single number on the kernel command line tells Finit to ignore anyrunlevel
in/etc/finit.conf
as well as the configure fallback--with-runlevel=N
setting. Remember,6
is the reboot runlevel and is not permitted. Any other values are ignored.
For more on kernel boot parameters, see the man page bootparam(7).