/myinit

Fork of suckless init to provide a complete systemd replacement

Primary LanguageCMIT LicenseMIT

myinit - my updates to suckless init
=====================

myinit is a fully functional systemd replacement. It uses suckless' sinit which
was based on Rich Felker's minimal init[1].

For services it delegates that to `/bin/rc.init`
`/bin/rc.init` will run every file in /etc/myinit/init.d/
Similar file is present for shutdown `/bin/rc.shutdown`
`/bin/rc.shutdown` will run every file in /var/init/shutdown.d/

/bin/rc.init will respawn all services defined in /etc/myinit/services.d/
A service is just an executable file. Often is just exec something in the path.

For all 3, non executable files will be ignored along with files that are hidden


Our use of signals differs from sinit
SIGINT : powers off the machine.
SIGUSR1: reboots the machine
SIGUSR2: soft-reboots the machine. We kill all running processes but before unmounting, we exec /sbin/init
SIGCHLD: is explicitly ignored so it will auto reap children

To see how sinit integrates with the init scripts, then have
a look at [3].

[1] https://gist.github.com/rofl0r/6168719
[2] http://git.2f30.org/morpheus/
[3] http://git.2f30.org/ports/tree/fs/
[4] http://troubleshooters.com/linux/diy/suckless_init_on_plop.htm