Finit v4.3-rc2
Pre-release
Pre-release
Critical bug fix release. If you run a 32-bit target with GLIBC 2.34 you need to upgrade!
Note: system verbosity on console at start and shutdown has been
increased. Now the output of all commands is logged to the
system logger, for early services/dev/kmsgis used.Also: please notice the updated support for enabling and disabling
kernel and Finit debug messages on the system console. Very
useful when debugging either of them, e.g., a kernel module.
For details, see cmdline.md.
Changes
- Support for overriding default runlevel from kernel command line. Any runlevel
[1-9]may be selected, except 6 (reboot). Issue #261 - New command line option:
finit.fstab=/etc/fstab.custom, with full support for mounting, mount helpers, fsck, and swapon/off, issue #224 - Support for special device
/dev/root, which may not exist in/dev. Finit now looks up the matching block device for/in/sys/block/ - Loading
modules no longer shows arguments in progress output - Warning messages in progress output now in yellow, not red, issue #214
initctl, new command line option-V,--versionfor ease of use- New condition
donefor run task, issue #207 by Ming Liu, Atlas Copco - Refactor parts of shutdown and reboot sequence for PREEMPT-RT kernels, by Robert Andersson, Mathias Thore, and Ming Liu, Atlas Copco
- Conditions for run/task/sysv status, e.g.
run/foo/successandtask/bar/failure. Issue #232, by Ming Liu, Atlas Copco - Conditions for services, can be used to synchronize other stanzas:
service/foo/runningservice/foo/haltedservice/foo/missingservice/foo/crashedservice/foo/stoppedservice/foo/busyservice/foo/restart
initctl signalsupport, by Jörgen Sigvardsson, issue #225initctl cond getsupport to matchcond [set | clear], issue #255[WARN]messages on console now printed in yellow, issue #214- Network services now also stopped when going to runlevel 6 (reboot), not just runlevel 0 (shutdown) or 1 (single-user)
- When
ifupis missing on the system, bring at leastloup at boot - Log output from
ifup -a(andifdown -a), to syslog - Avoid blocking PID 1 when starting SysV init scripts
- Allow custom
pid:for SysV init scripts - Document supported types of forking/non-forking services
- Auto-detect running in some common forms of containers
- Simplify shutdown/reboot when running in a container
- Log to
stderrwhen running in a container w/o syslog daemon - Add support for
type:forkingto services, already supported but with a very difficultpid:syntax, issue #223. Docs updated - Support for setting global environment variables in
finit.conf, please note: this also affects Finit itself, be careful! - Extended environment variables for pre/post scripts, issue #189
- Document secret service option
respawn, which bypasses the crash semantics, allowing endless restarts - Document secret
HOOK_BANNER, the first hook point before the banner - New plugin:
hook-scripts, allows run-parts(8) style scripts to run on any hook point. Contributed by Tobias Waldekranz initctl(reboot) falls back to-fwhen it detects it is insuloginrecovery mode, issue #247- The bundled
suloginis no longer enabled by default, in favor of distribution versions. Enable with./configure --with-sulogin - Support args to sysv-like scripts, e.g.
bridge-stp br0 start - The
modules-loadplugin now skips all lines starting with#and;. Furthermore, files in/etc/modules-load.d/*.confare now read in lexicographic order and UNIX backup files (foo.conf~) are skipped - The
name:idtuple is now more consistently used in all log and debug messages instead of the basename of the command
Fixes
- Fix nasty 32/64-bit alignment issue between finit and its plugins, applicable to 32-bit targets with GLIBC 2.34 and later. External plugins must make sure to use, at least:
-D_TIME_BITS=64 - Fix #215: disable cgroup support at runtime if kernel lacks support or does not have the required controllers (cpu)
- Fix #217: iwatcher initialization issue, by Ming Liu, Atlas Copco
- Fix #218: initctl matches too many services, by Ming Liu, Atlas Copco
- Fix #219: not all filesystems unmounted at shutdown, by Ming Liu, Mathias Thore, and Robert Andersson, Atlas Copco
- Fix #226: initctl shows wrong PID for crashing services
- Fix #227: reboot stalls if process stopped with
[WARN] - Fix #233: initctl shows wrong status for run/task, by Sergio Morlans and Ming Liu, Atlas Copco
- Fix #248: source
env:filealso inpre:andpostscripts - Fix #260: drop limit on device name in
Checking filesystem...` output - Fix start/stop and monitoring (restart) of SysV init scripts and forking services, see the updated documentation for details
- Fix call to
swapoffat shutdown, does not support-eflag - Fix suspend to RAM issue. Previously
reboot(RB_SW_SUSPEND)was used, now the modern/sys/power/stateAPI is used instead. - Fix nasty run/task/service matcher bug, triggered by stanzas using the same basename of a command but different
:ID. Caused Finit to match with already registered but different run/task/service