:: [Dng] Initting with Daemontools
Top Pagina
Delete this message
Reply to this message
Auteur: Steve Litt
Datum:  
Aan: dng@lists.dyne.org
Onderwerp: [Dng] Initting with Daemontools
First, none of this is a suggestion I'm advocating go into Devuan. It's
just info for the DIY people among us, and from what I see, the Dng
list has *a lot* of DIY people.

Daemontools can't actually init, because it can't handle incoming
PID1 interrupts. But if you use a tiny init, like RichFelker or
Suckless Init, those have no provision for process management, so
Daemontools can do that job for them.

Daemontools and most of its successors are problematic for bootup for
two reasons:

1) No built-in provision for custom-ordering process startup
2) No built-in provision for run-once processes during startup **

I've created a bunch of shellscripts, that I call LittKit, to address
these problems. When your actual tiny init, RichFelker or Suckless Init
or whatever, finishes, it passes control to rc.init or some similar
shellscript. To bring daemontools into the picture, you make rc.init do
the following:

* Set the path so lk_* are on the path
* lk_prepare /service
* svscanboot

In your /service tree, have exactly one of the directories contain a
file called "nodown". svscanboot will start this service instantly. Of
course, the run script for this service starts the other services, one
at a time, via the lk_runsvc call.

I've tested LittKit on a VirtualBox VM of Plop Linux, with
daemontools-encore, and I can tell you that I've moved almost
everything sysvinit starts up to daemontools-encore, and it still boots
perfectly. As soon as I move the network startup and the /dev/shm
and /dev/pts stuff to daemontools-encore, and as soon as I make a
shutdown script that prevents corruption of the hard disk, I'll be
ready to remove sysvinit and replace it with Suckless Init.

Anyway, LittKit is Expat-licensed free software, available at:

http://troubleshooters.com/projects/littkit/downloads/littkit_0_90.tgz

It's simple enough that I think the README file is simple enough to
enable a reasonably technical person to use it.

======================================
** Actually, most of the daemontools successors *do* have builtin
run-once support, but daemontools itself does not.
======================================

Hope you like it.

SteveT

Steve Litt
June 2015 featured book: The Key to Everyday Excellence
http://www.troubleshooters.com/key