Hi everyone,
My name is Jim, from LinuxQuestions.org, better known there as ReaperX7. I'm
one of the more outstanding opponents of the systemd adoption going on across
the GNU/Linux world, and recently, we (myself, Keith Hedger, and
Stoat)completed a project (minus extra scripting) of our LFS-Runit Project at
LinuxQuestions.
For starters, out projects' goals are fairly simple, though some not as much:
1. Introduce a viable alternative to systemd as an init program and process, as
well as a working to sysvinit in a non-sysvinit including clean room
implementation of GNU/Linux utilizing Linux From Scratch as a foundation for
clean room testing purposes.
2. Gather enough support, interest, and voices to take back projects in the
name of alternative projects and stand-alone projects to systemd as a way to
say to people, "You have choices, and here they are."
3. Produce a system-generalized init script set that can
a) be molded to any installation
b) installed system agnostically using basic shell scripts and script
generation techniques
c) used in any flavor of GNU/Linux regardless of distribution much like
sysvinit.
While we've fairly much accomplished this goal with our LFS-Runit Project,
we've turned once again to look at another viable alternative, s6.
Let me answer some questions you may ask in a brief possible FAQ:
1. Why s6?
We chose s6 as yet another alternative only to sysvinit that works and uses as
much simplified scripting as possible.
2. If Runit works, why choose s6?
To place more and more choices on the table where choice is trying to be
eliminated.
3. I saw your Runit work and you utilized a lot of scripting from sysvinit,
will you do that in s6, and why did you do it to begin with?
We needed a working template and Runit's Stage 1 provided enough backwards
compatibility with sysvinit stye scripting to use as a foundation layer to
build up from. While we do not know if we will be able to utilize the same in
s6, we will try to keep things as simple as possible for not just maximum
capability, but maximum compatibility. We want to introduce s6 as an
alternative to sysvinit, not as a replacement. Sysvinit does not need to be
replaced. If it's not broken, don't fix it (something a certain development
crew badly needs to learn before they wreck GNU/Linux).
4. How do you plan to implement s6?
We want to go with as much of the native file placement as possible until we
can iron out FHS directory placement. As with Runit, we want to place a
directory for services in /var/service while keeping everything else in the
/bin, /lib, /sbin, etc, root directory structure as possible. We understand a
lot of people still utilize a /usr directory on a separate hard disk, and want
to make s6 available if /usr isn't mounted yet without utilizing an initramfs.
LFS by design doesn't utilize an initramfs, so we'd like to ensure that policy
with s6.
5. What are your short-term goals?
Get it working and get basic LFS core scripts for getties and openssh done
first.
6. What are your long-term goals?
a) Provide a valid and viable UNIX alternative to sysvinit.
b) Fine tune stage-2 process to work out of FHS directories.
c) Provide enough support of one-shot services in stage-1 for proper support.
d) Write system service scripts for all possible daemons and other processes.
e) Engage in efforts to port s6, Runit, and other viable inits to other Linux
distributions other than B/LFS.
f) If possible, find other alternatives and get them started and working too.
7. How can I help?
If you have enough disk space to toss an installation LFS into the sacrificial
alter and risk burning up your OS in the fires of regret, please do. We need
help all kinds, but we mostly need support writing service scripts. While we
don't expect anyone to join LinuxQuestions, we would encourage it to help bring
more support to the project and help port it back out. In the end, we will need
people to help port the work.
Even if all you can do is test a script, please do. We don't expect you to know
any special scripting language, though basic shell scripting at this time,
would be preferred.
8. Will you use other skarnet packages?
At this time, unfortunately, we want to keep B/LFS as close to the book as
possible to maintain maximum compatibility. However, if you feel you want to
use anything from skarnet.org in the project and help test against it, please
do so. The better the compatibility we can introduce to the masses, the better.
9. You seem to have a negative view of Lennart Poeterring in LQ, why so biased
against him?
I'm not biased against the man himself. In fact, he's a genius at seeing
problems and finding ways to fix them, but unfortunately, he's a known egotist
who flaunts systemd expecting hero-worship, he sees others contributions as
needless, feels he can always be right while others are wrong unless backed
into a corner and forced to say he's wrong, and has too many fanboys all
clinging to him like Jesus Christ's disciples. No offense to the Almighty, but
he's about as much of a Christlike figure as an extra walking across the
background stage of CSI: NY.
10. Is there anything else we can do?
Support forcefully deprecated GNU/Linux and UNIX-wide projects and get them
active again if possible. If possible, demand updates or take over projects!
Example: Even a project as dated as HAL and hal-info is still useful across the
UNIX spectrum as an alternative to ConsoleKit and systemd-logind. If BSDs still
use it with devd, and even some Linux systems with udev-classic and eudev
(patch pending) I don't see how fixing it up, and getting development restarted
again would hurt.
Myself, Keith Hedger, and Stoat are only 3 people at LQ, and we've done a fair
amount of work, but we're going to help. s6, Runit, and other alternatives need
to be taken to the masses, but our work on B/LFS is one special because
anything from B/LFS can be taken, with minor alterations, into ANY Linux
distribution.
Thank you, and hope to have a working base model up and running soon enough.
- Jim aka ReaperX7