All relevant changes are documented in this file.
3.2 - 2018-10-xx
Bug fix release.
- Add support for
--disable-contribto speed up builds and work around issue with massively parallel builds
-b, batch mode, for non-interactive use to
- Prefer udev to handle
/dev/if mdev is also available
- Redirect dbus daemon output to syslog
$PATH, to a sane default value, needed by BusyBox
- Finit no longer automatically reloads its
*.conffiles after running
/etc/rc.localor run-parts. Use
initctlwithout an argument or option now defaults to list services
- Converted built-in watchdog daemon to standalone mini watchdogd
- Improved watchdog hand-over, now based on
svc_tand not PID
- Extended bootstrap, runlevel S, timeout: 10 --> 120 sec. before services not allowed in the runtime runlevel are unconditionally stopped
HOOK_SVC_LOST, caused more problems than they were worth. Users are encouraged to use accounting instead
- Skip displaying "Restarting ..." progress for bootstrap processes
- Added a simple work queue mechanism to queue up work at boot + runtime
- Postpone deletion of
SIGKILLtimer has elapsed
- As long as a stepped service changes state we queue another step all event, because services may depend on each other
- Postpone deletion of
- Require new libuEv API:
uev_init1()to reduce event cache so that the kernel can invalidate deleted events before enqueing to userspace
- Fix #96: Start udevd as a proper service
- Ensure we track run commands as well as task/service, once per runlevel
- Fix #98: FTBFS with
- Make sure to unblock UDP inetd services when connection terminates. Regression introduced in v3.1
- Ensure run/tasks also go to stopping state on exit, like services, otherwise it is unnecessarily hard to restart them
- Fix #99: Do not try to
SIGKILLinetd services, they are not backed by a PID. This caused a use after free issue crashing finit. Found and fixed by Tobias Waldekranz, Westermo
- Fix missing OS/Finit title bug, adds leading newline before banner
- Remove "Failed connecting to watchdog ..." error message on systems that do not have a watchdog
- Fix #100: Early condition handling may not work if
/var/rundoes not yet exist (symlink to
/run). Added compat layer for access
- Fix #103: Register multiple getty if
@consoleresolves to >1 TTY
- Fix #105: Only remove /etc/nologin when moving from runlevel 0, 1, 6
- Fix #106: Don't mark inetd connections for deletion at .conf reload. Fixed by Jonas Johansson, Westermo
- Fix #107: Stop spawned inetd conncections when stopping inetd service. Fixed by Jonas Johansson, Westermo
- Fix #111: Only restart inetd services when necessary. E.g., if the listening interface is changed. Only stop established connections which are no longer allowed, i.e. do not touch already allowed established connections. Fixed by Jonas Johansson, Westermo
- Fix: update inetd service args on config change. Found and fixed by Petrus Hellgren, Westermo
initctl [start | restart], should behave the same for services that have crashed. Found by Mattias Walström, Westermo
- Wait for bootstrap phase to complete before cleaning out any bootstrap processes that have stopped, they may be restarted again
- Reassert condition when an unmodified run/task/service goes from
WAITING back to RUNNING again after a reconfiguration event.
Found and fixed by Jonas Johansson, Westermo
- Remove service condition when service is deleted
3.1 - 2018-01-23
netlink.so plugin, per-service
improved integration with
watchdogd, auto-detect TTY console. Much
improved debug, rescue and logging support. Also, many fixes to both
big and small issues, most notably in the condition handling, which no
longer is sensitive to time skips.
This version requires at least libuEv v2.1.0 and libite v2.0.1
- Support for more kernel command line settings:
- splash, enable boot progress
- debug, like
--debugbut also enable kernel debug
- single, single user mode (no network)
- rescue, new rescue mode
- Support for
IFF_RUNNINGto netlink plugin =>
- Support for restarting
initctlAPI socket on
- Greatly updated
initctl status <JOB|NAME>command
- Support for
rlimitper service/run/task/inetd/tty, issue #45
- Support for setting
softrlimit for a resource at once
- Support for auto-detecting serial console using Linux SysFS, the new
tty @consoleeliminates the need to keep track of different console devices across embedded platforms:
- Add TTY
nologinoption. Bypasses login and skips immediately to a root shell. Useful during board bringup, in developer builds, etc.
- Support for calling run/tasks on Finit internal HOOK points, issue #18
- Removed support for long-since deprecated
- Cosmetic change to login, pressing enter at the
Press enter to ...prompt will now replace that line with the login issue text
initctlwithout any arguments or options now defaults to show status of all enabled services, and run/task/inetd jobs
- Cosmetic change to boot messages, removed
Loading plugins ..., start of inetd services, and
Loading configuration .... No end user knows what those plugins and configurations are, i.e. internal state+config
- Change kernel WDT timeout (3 --> 30 sec) for built-in watchdog daemon
- Advise watchdog dawmon on shutdown and reboot using
SIGTERM. It is recommended the daemon start a timer on the first signal, in case the shutdown process somehow hangs.
/etc/OverlayFS, reload /etc/finit.d/*.conf after
- initctl: Add support for printing previous runlevel
- initctl: Support short forms of all commands
- initctl: Support for
initctl touch <CONF>to be used with
- initctl: Improved output of
initctl show <SVC>
- Support reloading
/etc/finit.conf. The main finit.conf file previously did not support reloading at runtime, as of v3.1 all configuration directives supported in
/etc/finit.d/*.confare now supported in
.confdependency + reload handling. Finit no longer relies on mtime of
.conffiles, instead an inotify handler tracks file changes for time insensitive dependency tracking
- Change condition handling to not rely on mtime but a generation id.
- New configure script option
--enable-redirectto automatically redirect
stderrof all applications to
pidsub-option to services when a service does not create a PID file, or when the PID file has another name. Issue #95
- Greatly improved
logsub-option to service/run/tasks, selectively redirect
stderrusing the new tool
logitto either syslog or a logfile. Issue #44
- Support for automatic log rotation of logfiles created by
configure --disable-logrotateon systems with a dedicated log rotation service. Issue #44
- Support for disabling service/run/task progress with empty
--description. Note: no description separator gives a default desc.
/etc/mtabsymlink if missing on system (bootmisc plugin)
- New hook:
mount -abut before the
bootmisc.soruns. This provides the possibility of running a second stage mount command before files in
/runand similar are created
gdbserverwhen unleashing the grim reaper at shutdown
- Distribute and install
- Reset TTY before restarting it. A program may manipulate the TTY in various ways before the user logs out, Finit needs to reset the TTY to a sane state before restarting it. Issue #84
- On .conf parse errors, do not default to set TTY speed 38400, reuse current TTY speed instead
- Fix run/tasks, must be guaranteed to run once per declared runlevel.
All run/tasks on
[S]with a condition
<...>failed to run. Finit now tracks run/tasks more carefully, waiting for them to finish before switching to the configured runlevel at boot. Issue #86
- Allow inetd services to be registered with a unique ID, e.g.
:161, issue #87. Found by Westermo
- inetd: drop UDP packets from blocked interfaces, issue #88
- Handle obscure inter-plugin dependency issue by calling the netlink
plugin before the pidfile plugin on
- Handle event loop failure modes, issue found by Westermo
- Handle API socket errors more gracefully, restart socket
- Do not attempt to load kernel modules more than once at bootstrap
- Remove reboot symlinks properly on uninstall
- Fix regression in condition handling, reconf condition must be kept as a reference point to previous reconfiguration, or bootstrap.
- Fix nasty race condition with internal service stop, abort kill if the
service has already terminated, otherwise we may do
- Fix reconfiguration issue with (very quick) systems that don't have highres timers
- Fix formatting of runlevel string in
- Allow running
- Fix regression in
initctl start/stop <ID>, using name worked not id
- Fix error handling in
initctl start/stopwithout any argument
- Fix issue #81 properly, remove use of SYSV shm IPC completely. Finit now use the API socket for all communication between PID 1 and initctl
- Fix segfault on x86_64 when started with kernel cmdline
- Normalize condition paths on systems with
3.0 - 2017-10-19
Major release, support for conditions/dependencies between services, optional built-in watchdog daemon, optional built-in getty, optional built-in standard inetd services like echo server, rdate, etc.
Also, native support for Debian/BusyBox
overhauled new configure based build system, logging to
before syslogd has started, massively improved support for Linux
Added basic code of conduct covenant to project
Added contribution guidelines document
check DEV, replaced entirely by automated call to
fsckfor each device listed in
Removed deprecated and confusing
usersettings. It is strongly recommended to instead use xdm/gdb/lightdm etc.
Add support for
initctl log <SVC>, shows last 10 lines from syslog
initctl cond dumpfor debugging conditions
Ensure plugins always have a default name, file name
Reorganization, move all source files to a
Add support for
initctl <list|enable|disable> <SVC>, much needed by distributions. See docs/distro.md for details
UNUSED()macro, mentioned here because it may have been used by external plugin developers. Set
New table headings in
topstyle inverted text
initctl showto use full screen width for service descriptions
HOOK_BANNERfor plugins to override the default
Allow loading TTYs from
Improvements to built-in getty, ignore signals like
SIGHUP, support Ctrl-U to erase to beginning of line
Allow using both built-in getty and external getty:
tty  /dev/ttyAMA0 115200 noclear vt220 tty  /sbin/getty -L 115200 /dev/ttyAMA0 vt100 tty  /sbin/agetty -L ttyAMA0 115200 vt100 nowait
Silent boot is now the default, use
--enable-progressto get the old Finit style process progress. I.e.,
--enable-silentis no more
configure --enable-emergency-shell, debug-only mode
Support for a fallback shell on console if none of the configured TTYs can be started,
All debug messages to console when Finit
Prevent login, by touching
/etc/nologin, during runlevel changes
A more orderly shutdown. On reboot/halt/poweroff Finit now properly goes to runlevel 0/6 to first stop all processes.
Perform sync before remounting as read-only, at shutdown
/var/lockat boot on systems which have these directories on persistent storage
Call udev triggers at boot, on systems with udev
/var/lock/subsysdirectory for dbus
Add support for
Add support for a built-in miniature watchdog daemon
Remove GLIBC:isms like
Manage service states based on user defined conditions
Manage dependencies between services, w/ conditions (pidfile plugin)
Manage service dependencies on network events (netlink plugin)
Support for dynamically reloading Finit configuration at runtime
Refactor to use GNU configure and build system
New hooks for for detecting lost and started services (lost plugin)
External libraries, libuEv and libite, now build requirements
Early logging support to
/dev/kmsginstead of console
Support for redirecting stdout/stderr of services to syslog
Support for managing resource limits for Finit and its processes
Add optional built-in inetd services: echo server, chargen, etc.
Add simple built-in getty
Greatly improved accounting support, both UTMP and WTMP fixes+features
Improved udev support, on non-embedded systems
Improved shutdown and file-system unmount support (Debian)
Support SysV init
Inetd protection against UDP looping attacks
Support systems with
Adopted BusyBox init signals for halt/reboot/poweroff
SysV init compat support for reboot (setenv)
Compat support for musl libc
Add OpenRC-like support for sysctl.d/*.conf
Add support for Debian/BusyBox
Add support for running fsck on file systems in
Added example configs + HowTos for Debian and Alpine Linux to support latest releases of both distributions
Lots of documentation updates
- Fix race-condition at configuration reload due to too low resolution.
Thanks to Mattias Walström, Westermo
- Fix to handle long process (PID) dependency chains, re-run reconf
callback until no more applications are in flux.
Thanks to Mattias Walström, Westermo
initctl reloadhas finished
- Skip automatic reload of
/etc/finit.d/*.conffiles when changing runlevel to halt or reboot
- Fix issue #54: Allow halt and poweroff commands even if watchdog is enabled
- Fix issue #56: Check existence of device before trying to start getty
- Fix issue #60:
initctlshould display error and return error code for non-existing services should the operator try to start/stop them.
- Fix issue #61: Reassert
- Fix issue #64: Skip
fsckon already mounted devices
- Fix issue #66: Log rotate and gzip
/var/log/wtmp, created by Finit
- Fix issue #72: Check
ifupexists before trying to bring up networking, also set
$PATHearlier to simplify
run()et al -- no longer any need to use absolute paths for system tools called from Finit. Thanks to crazy
- Fix issue #73: Remove double
ntohl()in inetd handling, prevents matches.
Thanks to Petrus Hellgren, Westermo
- Fix issue #76: Reap zombie processes in emergency shell mode
- Fix issue #80: FTBFS on Arch Linux, missing
helpers.h, thanks to Jörg Krause
- Fix issue #81: Workaround for systems w/o SYSV shm IPC support in kernel
- Always collect bootstrap-only tasks when done, we will never re-run them. Also, make sure to never reload bootstrap-only tasks at runtime
- Remove two second block (!) of Finit when stopping TTYs
2.4 - 2015-12-04
Bug fix release.
- Add support for status/show service by
- Enforce terse mode after boot, if verbose mode is disabled
- Reenable verbose mode at reboot, if disabled at boot
- Update section mentioning BusyBox getty
- Update debugging documentation
- Allow debug to override terse mode
- Revert confusing change in service state introduced in v2.3. As of v2.4 services are listed as "halted" and "stopped", when they have been halted due to a runlevel changed or stopped by the user, respectively.
- Fix system freeze at reconfiguration. Changed services that
SIGHUPcaused a freeze due to Finit waiting for them to stop.
- Make sure to start and/or
SIGHUPservices after reconfiguration when there was no services to stop.
2.3 - 2015-11-28
Bug fix release.
- Add support for stop/start/restart/reload service by
- Refactor service status listed in
initctl show, show actual status
- Remove bootstrap-only tasks/services when leaving runlevel 'S'
- Fix reference counting issue with already stopped and removed services
when the user performs
initctl reloadto change system configuration
- Revert semantic change in behavior of
initctl restart: users expect service to be stopped/started, not reloaded with
SIGHUPeven if the service supports it
NULLpointer dereference causing kernel panic when user calls
initctl reloadafter change of system configuration
- Fix column alignment in output of
initctl showfor services not in current runlevel
2.2 - 2015-11-23
Lots of fixes to handle static builds, but also fixes for dynamic event handling and reconfiguration at runtime.
- Upgrade to libuEv v1.2.4, to handle static builds
- Upgrade to libite (LITE) v1.2.0, to handle static builds
- Clarify how to select different plugins with the configure script
- Improve urandom plugin for embedded systems w/o random seed
- The runlevels listed for services in
initctl shownow hightlight the active runlevel.
- Clarify in the README and in
initctl helpthat the GW event to listen for in service declarations is
- Build fixes for
- Fixed issue #14: Improved support for static Finit builds
- Misc. fixes to silence warnings when building a static Finit
- Default to register services as
SIGHUP'able, regression in v2.0
HOOK_SVC_RECONFonly when all processes have been stopped
- On reload/reconf we must wait for all services to stop first
- Only trigger on events that matches the service's specification, fix by Tobias Waldekranz
2.1 - 2015-10-16
- Add hook point for fstab mount failure
- Set hostname on dynamic reload
- Upgrade to libite v1.1.1
- Fix service callback coredump checks and simplify callback exit
- Do not use
-O2as default optimization level. Many cross compiler toolchains are known to have problems with
- Do not allow build VERSION to be overloaded by an environment variable
- Fix too small MAX arguments and too few argments in
svc_tfor reading currently running services with
- Unblock blocked signals after forking off a child
2.0 - 2015-09-20
Support for multiple instances and event based services, as well as the
introduction of an
Note: Incompatible change to syntax for custom
c.f. Finit v1.12.
The most notable change is the support for multiple instances. A must have when running multiple DHCP clients, OpenVPN tunnels, or anything that means using the same command only with different arguments. Now simply add a
IDis a unique instance number for that service.
service :1  /sbin/httpd -f -h /http -p 80 -- Web server service :2  /sbin/httpd -f -h /http -p 8080 -- Old web server
Another noteworthy new feature is support for starting/stopping services on Netlink events:
service :1  <!IFUP:eth0,GW> /sbin/dropbear -R -F -p 22 -- SSH daemon
Here the first instance
:1of the SSH daemon is declared to run in runlevels 2-5, but only if eth0
IFUP:eth0is up and a gateway
GWis set. When the configuration changes, a new gateway is set, or if somehow a new
IFUPevent for eth0 is received, then dropbear is not SIGHUP'ed, but instead stop-started
<!>. The latter trick applies to all services, even those that do not define any events.
Support for reloading
/etc/finit.d/on SIGHUP. All
runstatements can be used in these .conf files. Use the
initctl reloador simply send
SIGHUPto PID 1 to reload them. Finit automatically does reload of these
*.conffiles when changing runlevel.
Support for a modern
initctltool which can stop/start/reload and list status of all system services. Also, the old client tool used to change runlevel is now also available as a symlink:
initctl [-v] <status|stop|start|reload|restart> [JOB]
Add concept of "jobs". This is a unique identifier, composed of a service and instance number,
initctl <stop|start|reload|restart> JOB
Support for deny filters in
inetd service/proto[@iface,!iface,...] </path/to/cmd | internal[.service]>
Internal services on a custom port must use the
internal.servicesyntax so Finit can properly bind the inetd service to the correct plugin. Here follows a few examples:
inetd time/udp wait  internal -- UNIX rdate service inetd time/tcp nowait  internal -- UNIX rdate service inetd 3737/tcp nowait  internal.time -- UNIX rdate service inetd telnet/tcp@*,!eth1,!eth0, nowait  /sbin/telnetd -i -F -- Telnet service inetd 2323/tcp@eth1,eth2,eth0 nowait  /sbin/telnetd -i -F -- Telnet service inetd 222/tcp@eth0 nowait  /sbin/dropbear -i -R -F -- SSH service inetd ssh/tcp@*,!eth0 nowait  /sbin/dropbear -i -R -F -- SSH service
Access to telnet on port
2323is only possible from interfaces
eth2. The standard telnet port (
23) is available from all other interfaces, but also
*notation used in the ssh stanza means any interface, however, here
eth0is not allowed.
NOTE: This change breaks syntax compatibility with Finit v1.12.
Support for a more user-friendly configure script rather than editing the top Makefile, or setting environment variables at build time.
Support for building Finit statically, no external libraries. This unfortunately means that some plugins cannot be built, at all. Big thanks goes to James Mills for all help testing this out!
Support for disabling the built-in inetd server with
Support for two new hook points:
HOOK_RUNLEVEL_CHANGE. See the source for the exact location.
include <FILE>option now needs an absolute path to
contrib/to simplify integration in 3rd party build systems.
- Fix for unwanted zombies ... when receiving SIGCHLD we must reap all children. We only receive one signal, but multiple processes may have exited and need to be collected.
1.12 - 2015-03-04
The inetd release.
- Add support for built-in inetd super server -- launch services on demand. Supports filtering per interface and custom Inet ports.
- Upgrade to libuEv v1.1.0 to better handle error conditions.
- Allow mixed case config directives in
- Add support for RFC 868 (rdate) time plugin, start as inetd service.
- Load plugins before parsing
finit.conf, this makes it possible to extend finit even with configuration commands. E.g., the
time.soplugin must be loaded for the
inetd time/tcp internalservice to be accepted when parsing
- Slight change in TTY fallback behavior, if no TTY is listed in the
finit.conffirst inspect the
consolesetting and only if that too is unset fall back to
- When falling back to the
/bin/sh, finit now marks this fallback as console. Should improve usability in some use cases.
- Revert "Use vfork() instead of fork() before exec()" from v1.11. It turned out to not work so well after all. For instance, launching TTYs in a background process completely blocked inetd services from even starting up listening sockets ... proper fork seems to work fine though. This is the casue for yanking the 1.11 release, below.
- Trap segfaults caused by external plugins/callbacks in a sub-process. This prevents a single programming mistake in by a 3rd party developer from taking down the entire system.
- Fix Coverity CID 56281: dlopen() resource leak by storing the pointer. For the time being we do not support unloading plugins.
- Set hostname early, so bootstrap processes like syslog can use it.
- Only restart lost daemons when recovering from a SIGSTOP/norespawn.
1.11 - 2015-01-24 [YANKED]
The libuEv release.
Note: This release has been yanked from distribution due to a regression in launching background processes and TTY's. Fixed in Finit v1.12.
- Now using the asynchronous libuEv library for handling all events: signals, timers and listening to sockets or file descriptors.
- Rename NEWS.md --> CHANGELOG.md, with symlinks for
- Attempt to align with http://keepachangelog.com/ for this file.
- Travis CI now only invokes Coverity Scan from the 'dev' branch. This means that all development, except documentation updates, must go into that branch.
- Fix bug with finit dying when no
ttyis defined in
finit.conf, now even the fallback shell has control over its TTY, see fix in GIT commit dea3ae8 for this.
1.10 - 2014-11-27
Major bug fix release.
- Project now relies on static code analysis from Coverity, so this release contains many serious bug fixes.
- Convert to use Markdown for README, NEWS and TODO.
- Serious update to README and slight pruning of finished TODO items.
- Fix serious file descriptor and memory leaks in the following
functions. In particular the leaks in
run_interactive()are very serious since that function is called every time a service is started and/or restarted! For details, see the GIT log:
svc.c:svc_start(): Fix swapped arguments to dup2() and add close(fd) to prevent descriptor leak.
svc.c:svc_start(): Fix out of bounds write to local stack variable, wrote off-by-one outside array.
- Several added checks for return values to
1.9 - 2014-04-21
- Add support for an include directive to
- Fallback to
/bin/shif user forgets tty setting
- Initial support for restarting lost services during
- Bug fixes, code cleanup
SIGHUPfrom service callback properly when switching runlevel
- Misc. major (memleak) and minor fixes and additions to
1.8 - 2013-06-07
- Support for runlevels, with a bootstrap runlevel 'S'
- Support for saving previous and current runlevel to UTMP
- Support for new
finit.confcommands: run, task, and runlevel
- Support for tty and console commands in
finit.conf, like services but for launching multiple getty logins
- New tty plugin to monitor TTYs coming and going, like USB TTYs
- Bugfixes to libite
1.7 - 2012-10-08
_d()debug messages, useful for plugins with similarily named callbacks. Also, only in debug mode anyway
- Make sure to cleanup recorded PID when a service is lost. Required by service plugins for their callbacks to work.
- Only clear screen when in verbose mode. Maybe this should be removed altogether?
- Bugfix: Do not
free()static string in
1.6 - 2012-10-06
..in plugin loader and display error when failing to load plugins
- Support for overriding
- Revoke support for starting services not starting with a slash.
- Prevent endless restart of non-existing services in
- Support for sysvinit style startstop scripts in
- Minor fix to alsa-utils plugin to silence on non-existing cards
1.5 - 2012-10-03
- Use bootmisc plugin to setup standard FHS 2.3 structure in
FLOG_WARN()syslog macro, for plugins
- Add plugin dependency resolver. Checks
1.4 - 2012-10-02
- Start refactoring helpers.c into a libite.so (-lite). This means other user space applications/daemons can make use of the neat toolbox available in finit
- Use short-form -s/-w -u to work with BusyBox hwclock as well
- Use RTLD_GLOBAL flag to tell dynamic loader to load dependent .so files as well. Lets other plugins use global symbols.
- Greatly simplify svc hook for external plugins and cleanup plugin API.
- And more ... see the GIT log for more details.
- Fix I/O plugin watcher and load plugins earlier for a new hook
1.3 - 2012-09-28
- Cleanup public plugin API a bit and add new pid/pidfile funcs
- Add plugin hook to end of service startup
- Remove finit.h from svc.h, plugins should not need this.
- Move utility macros etc. to helpers.h
finit.hdaemon internal, only
- Move defines of FIFO, conf and rcS.d to Makefile => correct paths
- Add support for installing required headers in system include dir
- Better support for distributions and packagers with install-exec,
install-data, and install-dev targets in Makefile. Useful if you want
to call targets with different
- Makefile fixes for installation, paths encoded wrong
- Strip binaries + .so files, support for
- Default install is now to
- Note change in
$PLUGIN_DIRenvironemnt variable to
1.2 - 2012-09-27
- Update README with section on building and enviroment variables
- Fix installation paths encoded in finit binary
1.1 - 2012-09-27
- Rename signal.[ch]-->sig.[ch] to avoid name clash w/ system headers
- Build fixes for ARM eabi/uClibc
1.0 - 2012-09-26
- New plugin based system for all odd extensions
- New service monitor that restarts services if they die
- New maintainer at GitHub http://github.com/troglobit/finit
- Add standard LICENSE and AUTHORS files
- New focus: embedded systems and small headless servers
0.6 - 2010-06-14
- Don't start consolekit manually, dbus starts it (rtp)
- Unmount all filesystems before rebooting
- Unset terminal type in Mandriva before running X
- Remove extra sleep in finit-alt before calling services.sh (caio)
0.5 - 2008-08-21
- Add option to start dbus and consolekit before the X server
- finit-alt listens to
/dev/initctlto work with
- Write runlevel to utmp, needed by Printerdrake (Pascal Terjan)
- Fix ownership of
/var/run/utmp(reported by Pascal Terjan)
- Remove obsolete code to load AGP drivers
- Conditional build of
- Add support to
/var/run/resolvconfin Mandriva (blino)
0.4 - 2008-05-16
- Default username for finit-alt configurable in Makefile
- Create loopback device node in finit-alt (for squashfs)
- Add option to use built-in run-parts instead of
- Ignore signal instead of setting to an empty handler (Metalshark)
- Handle pam_console permissions in finit-alt for Mandriva
- Add services.sh example and nash-hotplug patch for Mandriva
- Add runtime debug to finit-alt if finit_debug parameter is specified
- Read configuration from
- Run getty with openvt on the virtual terminal
0.3 - 2008-02-23
- Change poweroff method to
- Remove duplicate
- Fix string termination in path creation
0.2 - 2008-02-19
touch()in finit-mod (Metalshark)
NO_HCTOSYSby default to match stock Eeepc kernel
system("rm -f")to clean
/tmp, its a fresh mounted tmpfs
- Write ACPI sleep state to
- Use direct calls to set loopback instead of
system("dd")with C implementation
- Moved finit-mod and finit-alt helpers to
system("echo;cat")to draw shutdown splash with C calls
0.1 - 2008-02-14
- Initial release