This change adds support for a new command line option finit.config=PATH
which can be used to tell Finit to start with /etc/factory.conf instead
of /etc/finit.conf.
For the complete experience a new top-level configuration file directive
`rcsd PATH` has aslo been added. It in turn can be used by factory.conf
as follows to override /etc/finit.d:
rcsd /etc/factory.d
Manually verified in myLinux
Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
4.7 KiB
Tips & Tricks with the kernel cmdline
This document summarizes the different boot parameters that can be passed on the Linux kernel command line. Not limited to Finit.
The bool setting is one of on, off, true false, 1, 0.
NOTE: remember to use
--to separate kernel parameters from parameters to init. E.g.,init=/sbin/finit -- finit.debug rescue
-
debug: Enable kernel debug. Debug messages are printed to the console until Finit starts up, unlessloglevel=7(below) is used. -
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=argcan 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 withinitctl! -
finit.config=/path/to/alternative/finit.conf: override the compile-time bootstrap config file, default:./configure --with-config=/etc/finit.confUseful when starting up in various rescue mode, factory, or production test setups. Use the top-level configuration file directive
rcsd /path/to/finit.dto override the default rcS.d directory. -
finit.debug[=bool]: Enable finit debug. This is operated independently of the kerneldebugsetting. New as of Finit v4. -
finit.fstab=</path/to/etc/fstab.alternative>: Tell Finit to use an alternatefstabto 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/fstabIt is even possible to disable a built-in default using:
./configure --without-fstabMaking
finit.fstab=/path/to/fstaba 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 badfsckand thus callssulogin. If, in turn,suloginis 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,rescuemode 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=7is the same asdebugthis means you have to usequietfor 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, seeloglevelandquietabove. -
rescue: Start rescue/maintenance mode. If your system comes with the bundledsuloginprogram (Finit, or from util-linux/Busybox), you will be given a root login to a maintenance shell. However, ifsuloginis missing, the file/lib/finit/rescue.confis read and the system booted in a limited fallback mode. See config.md for more information.Note: in this mode
initctlwill not work. Correct the problem and usereboot -fto force reboot. -
single, orS: Single user mode, runlevel 1, in Finit. Useful to debug problems with the regular runlevel. All services and TTYs in[1]will be started, so atty [1] @console nologinconfiguration presents you with a root console without login. -
1-9, except6: override the configuredrunlevel. Like theSandrescue, giving a single number on the kernel command line tells Finit to ignore anyrunlevelin/etc/finit.confas well as the configure fallback--with-runlevel=Nsetting. Remember,6is the reboot runlevel and is not permitted. Any other values are ignored.
For more on kernel boot parameters, see the man page bootparam(7).