Stuffing /etc/runit/1 isn't bad if you have a fallback shell prompt for error handling. The idea of 1 is to get the primary system ready for services, while stage 2 loads one shot services first and all remaining services lastly. You can load one shot services in stage 1, but technically you shouldn't.
One service that falls into a massive gray area is udev. While it is a one shot service, you should use a script to manage it independent of the init system to start, restart, and stop it as needed like sysvinit and bsdinit both do. You can even load it via the service scan directory as well. Be advised that some services that are one-shots may need a suitable execution state maintenance utility to keep the execution state in the active state. Otherwise, just script it to be loaded in the early areas of stage 2 before others. Sent from my Windows Phone ________________________________ From: toki clover<mailto:[email protected]> Sent: 1/1/2015 4:31 PM To: [email protected]<mailto:[email protected]> Subject: Fwd: Using runit-init on debian/Jessie in place of sysvinit/systemd ---------- Forwarded message ---------- From: toki clover <[email protected]> Date: 2015-01-02 1:30 GMT+01:00 Subject: Re: Using runit-init on debian/Jessie in place of sysvinit/systemd To: Luke Diamand <[email protected]> First, it's a bit crazy to use runit for init+service management entirely because: - It's completely crazy to supervise every service because; first, every service won't fit in if it's not a daemon; second supervising every daemon is dangerous. - Second, runit (or s6 for that matter) lack any decent service dependency, actually both completely ignore the problem (athough s6 may change this in in a near futur.) - Third, do not forget the overhead of supervision (an extra instance per daemon.) Second, stuffing stage 1 `/etc/runit/1' is a bad idea because stage 1 is very sensible... any service that hangs in the foreground will hang booting because C-ALT-DEL signal is inactive (see this page for more details http://forums.gentoo.org/viewtopic-t-998478-start-25.html). So, I would recommend using rc, or even better OpenRC (which is available in Debian based OS) to take care of service dependencies management and use service supervision for agetty (and sshd and the likes if necessary.) (There is a complete solution with runit+OpenRC in that thread.) That forums thread has a dangerous implementation with a stuffed stage 1 which I split to have only sysinit related services in it and then use stage 2 to fully boot the system and brings it to a desired runlevel. This is far more safer because a tty will be available to fix anything broken if need be. Stuffing stage 1 is suicidal... Good luck. -- Error 404: gentoo user <0123456789> was not found
