|
1 year ago | |
---|---|---|
conf | 1 year ago | |
conftest | 1 year ago | |
lutractl | 1 year ago | |
lutrainit | 1 year ago | |
shared/ipc | 1 year ago | |
.dockerignore | 1 year ago | |
.drone.yml | 1 year ago | |
.gitignore | 1 year ago | |
Dockerfile | 1 year ago | |
LICENSE | 1 year ago | |
MAIN_CONFIG.md | 1 year ago | |
Makefile | 1 year ago | |
README.md | 1 year ago | |
SERVICES.md | 1 year ago | |
common.mk | 1 year ago | |
lxc-config | 1 year ago |
Main repository at https://dev.sigpipe.me/dashie/lutrainit
lutrainit is an init system for Linux written in Go.
lutrainit will do the following:
conf/
for a samples config.(The way step 4 is handled isn’t very elegant and will likely fail if you have too many slow startup processes.)
You can also create a file /etc/lutrainit/lutra.conf
for some basic configuration.
If there are any lines of the form autologin: username
it will automatically log in
as that username. (If there’s multiple autologin directives, it will create the
appropriate number of ttys.)
If any line contains persist: true
, then when a tty exits, it’ll respawn the tty instead of powering down the system once all the ttys are gone.
See the conf/
folder for what you can put in /etc/lutrainit/
including services files in /etc/lutrainit/lutra.d/
.
A tool exists and communicate with the init daemon using RPC on socket /run/ottersock
, it can then show init version, statistics about goroutines, memory, etc.
sudo cp lutrainit/lutrainit /sbin
sudo cp lutractl/lutractl /sbin
then add init=/sbin/lutrainit
to your grub configuration. (Or alternatively, make
/sbin/init
a symlink to lutrainit
.)
[1] This shouldn’t be required, since mount -a
should take care of it in step
3 according to mount(8), but as far as I can tell it doesn’t.