I recently discovered that Runit had a Slackbuild after all this time http://slackbuilds.org/repository/14.1/system/runit/
, but there is little information on how to get it usable as a working init solution for Slackware other than trial and error testing by the end-user. In fact there's little info at all on it.
Hopefully, this will allow some insight into what needs to be done as well as open a door to have a 2nd if not 3rd working init system available for Slackware outside the default rc-init system and Bartgymnast's recent systemd project as shown here: http://www.linuxquestions.org/questi...ds-4175484413/
Short-term goal of this project:
1. Get Runit installed and get directories and symlinks created as well as all proper scripts drafted and installed.
2. Get Runit to boot Slackware into administrative mode at minimum to give a bare system that can be logged into to begin work.
Long-term Goals of this project:
1. Establish a working script set for Runit that can be either generated from a batch script set, or premade and installable by the end-user to supplement the SBO package, maybe even added as part of the package.
2. Preserve the Slackware rc-init system and possibly reuse certain sections of it for Runit with minimal custom scripting provided all goes well.
3. Establish a full working drop in ready init system for Slackware and Slackware based distributions.
Because I'll be working at this in my own time, which is sadly very minimal, this will serve as mostly a public blog for the project. Any and all criticism is welcome, positive and negative. Helpful insights into getting it working would be appreciated greatly, and contributors will be fully acknowledged. I will admit, that this is an undertaking and I'm stepping out of my comfort zone hugely by doing this, and I may fail at this greatly, but nothing ventured, nothing gained, and certainly, nothing learned.
To keep things at pace, I will edit in to the topic rather than perform repeated replies. This should serve to keep an easier to read How-To guide as well as document my findings, as well as post scripts as well.
Blog section here:
After reading through the documentation, I was able to determine how exactly to install runit into Slackware following the install from the SBO. I had to edit some stuff, but at the moment, before I post any How-To's I want to at least get a working getty running. Thanks to Turtleli I was able to discover I need to use getty from getty-gs which is part of /a rather than agetty from the util-linux package.
I got a working boot running with a minor change in /etc/runit/1 as shown above with rc.M file added. This gave a proper boot, however this is still confined to stage 1 at the moment.
I also added the Gettys 1~6 as well. I'll try to condense the how-to above to include it, otherwise just duplicate each getty configuration as Getty-1 and tty1 and so on.
Runlevels for Single and Default added as well to documentation.
Started a generate script to auto-setup all required files. Will publish here upon completion. Script will be eventually used to auto-generate all required paths, scripts, etc. as needed.
Need to work on startup files with dependencies, but may leave those assigned to rc.M and rc.S until further notice.
Added Turtleli's shutdown hint to stage3. Testing in progress. Beginning migration of rc.M-runit and rc.S-runit customized boot scripts into runit stage1 master boot script. Moving other service calls into run scripts that are not related to the primary boot sequence for stage 2.
In case you've noticed, I've removed the setup scripts directly put onto the page and I've uploaded the actual work script I'm using. Please note that for now the script is considered a WIP (work-in-progress) so do take care using it. By no means am I done with the work, but I wanted to at least make the setup and file generation script publicly available. I don't know if I'd consider it ALPHA or BETA status, but just be careful!!!
There are some disabled commands at the bottom, mostly for future testing and usage. One is the build script for generating dependency handled loading of services. For now this is being kept disabled and unused until I can safely determine which exact services can be safely loaded in hybrid linear-parallel mode for stage2. For now I'm keeping these scripts strictly stage1 only especially networking. I actually want to refuse assigning this to stage2 just to keep it's service loading completely stable and reliable. You'll also see the unused init switch-out and backup command at the bottom. There are other commands as well that will be tested soon enough, especially the shutdown and reboot links.
1. Backup Slackware's sysvinit program
2. Relink commands for reboot and shutdown
3. Determine which run scripts are required for Slackware that are not importable from Slackware's default init system.
4. Figure out how to get gettys 1-4 and 6 activated. Possibly /etc/inittab getty functions will need to be removed, edited, or commented out. Still trying to determine.
5. Sort out the bash error on login. Will post more details later on this.
6. Determine why runit-script fails to work and gives error.
For now If you wish to create any files, comment out the sections for the cat script generators (this will be arduous and I apologize) and simply make the scripts using a text editor as described.
I have no idea why the cat file creation tool is misbehaving, but I hope to solve this problem or else I'll have to release actual scripts I've generated. If anyone knows a remedy it will be appreciated.
I am currently drafting up a script set just in case, but I'm lacking webspace so until then I can't upload it anywhere really. I'm looking into some space from a friend so bare with me.