Live data from Hacker News

Linux From Scratch ends SysVinit support

lists.linuxfromscratch.org

141–150 of 416 posts

Re: Linux From Scratch ends SysVinit support

#141

> Understanding the boot process is a big part of that. systemd is about 1678 "C" files plus many data files. System V is "22" C files plus about 50 short bash scripts and data files. Systemd is basically the Windowsfication of Linux. I'm always surprised by the people that champion it who also used to shit on Windows with the registry or whatever. Cognitive dissonance is a hell of a thing.

LFS seems to be for people who are interested in how things work. The systemd proponents come off as people who would question why you would want to to drive a manual transmission and say of course you should choose an automatic or better yet, a robot; self driving car. It would be interesting to see how those opinions line up with the uses of AI

Re: Linux From Scratch ends SysVinit support

#142
post #92

Earlier quoted context omitted.

Excuse me, that's GNU/SystemD/Linux.

You joke, but it's a decent comparison. Both GNU and SystemD are projects with a bunch of miscellaneous tools with excessively strong coupling. In GNU's case that's the various userland tools relying on glibc. Both are used in the majority of Linux distros, and while there are distros without them they're not particularly mainstream. Many tools expect their options & custom ways of working, e.g. huge numbers of shell…

Just call it the Red Hat Linux Platform. Both GNU (glibc, binutils, GNU utils, GCC, etc) and Systemd are primarily maintainted by them. Same with Wayland and GNOME.

Red Hat defines what "Linux" is these days.

Re: Linux From Scratch ends SysVinit support

#143

Earlier quoted context omitted.

For me, Linux From Scratch is not about compiling linux from scratch, but on building up an entire Linux distro from the ground up, understanding how every piece fits together. Doing it via systemd is like drawing a big black box, writing LINUX on the side, and calling it a day.

You are necessarily working with very big blocks when you're doing this, anyway. You don't do a deep dive on a whole bunch of other topics in LFS, because otherwise the scope would become too big.

That's what I was trying to get at -- yes, you can say that sysvinit is easier to understand than systemd, and less of a black box. But, even still, a "real Linux distribution" is full of these black boxes, especially the closer you get to being able to run "real applications". I'd argue that once you get into full desktop seat management, you add so much complexity on top of sysvinit that the difference narrows...

Which is why I asked "learn about what stuff". I think if the goal is to learn about "Unix" or OS design/ideas, you're better off with a leaner, "pedagogical" OS, like xv6. If the goal is to piece together an OS and really understand each piece, I don't think you really want sysvinit. You want something closer to an /etc/rc.local that just kicks off a few daemons and hopes for the best.

You can argue that sysvinit makes a better "compromise" between usability and clarity, and I'd entertain that idea, but then I think dinit is far easier to understand than sysvinit. And of course, at that point you can shave yaks till you fill the bike shed with wool.

Realistically, as much as people may hate it, if you have to pick a single init to standardize on for clarity and "building an entire Linux distro from the ground up, understanding how every piece fits together", systemd is the most rational choice. It's the most representative of the ecosystem, and requires the least "extra layers" to make the "desktop layer" work.

Re: Linux From Scratch ends SysVinit support

#144
post #46

Earlier quoted context omitted.

In what way was Bruce incorrect, your one link excepted?

he is counting every c file in the systemd _repository_ which houses multiple projects, libraries and daemons. he equates that to the c file count for a single init. it's a disingenuous comparison. systemd-init is a small slice of the code in the systemd repository.

> he is counting every c file in the systemd _repository_ which houses multiple projects, libraries and daemons. he equates that to the c file count for a single init. it's a disingenuous comparison.

See, this is why when I refer to the Systemd Project, I spell it as "SystemD", and when I'm referring to systemd(1), I spell it "systemd". I understand that some folks who only wish to shit on the Systemd Project also spell it that way, but I ain't one of them.

> systemd-init is a small slice of the code in the systemd repository.

Given the context:

   Yes, systemd provides a lot of capabilities, but we will be losing some things I consider important.
I'd say that the topic of discussion was SystemD, rather than systemd. systemd doesn't provide you with all that many capabilities; it's really not much more than what you get with OpenRC + a supervisor (either supervise-daemon or s6).

Re: Linux From Scratch ends SysVinit support

#145

SysV init was the overengineered cousin to BSD init and I never liked it. Easily my least favorite of all init systems I've worked with over the last 30 years. On the flip side, daemontools or maybe runit were my favorites. Lots of good options for init/supervision tooling over the years and SysV was not among them.

It's always a little amusing when the Open Source Tea Party bemoans the lack of "the UNIX way" and someone else with actual historical experience (and not misguided nostalgia) brings perspective.

On a related note, X11 was never good and there's a whole chapter in the UNIX-HATERS Handbook explaining why.

Re: Linux From Scratch ends SysVinit support

#146
post #113

Earlier quoted context omitted.

Makes no sense to dump a superior kernel and executive for Linux. The Win32 layer is the issue, not the underbelly.

They might use the NT kernel and their own version of the Linux userland. I'd be open to the idea, if the kernel were open sourced (MIT licensed?) so I could play with it too.

Why do that when Win32 is what everyone wants?

We’ve already had NT + Linux userland; that was WSLv1.

Re: Linux From Scratch ends SysVinit support

#147

SysV init was the overengineered cousin to BSD init and I never liked it. Easily my least favorite of all init systems I've worked with over the last 30 years. On the flip side, daemontools or maybe runit were my favorites. Lots of good options for init/supervision tooling over the years and SysV was not among them.

If we look on LFS for its academic merit, I'm saddened that key historical elements of Unix/Linux design are being left behind, much like closing down a wing of a laboratory or museum and telling students that they'll need to whip up their own material to fill in those gaps.

LFS never had academic, educational, or pedagogical merit. It was always sheer faith that by doing enough busywork (except the truly difficult stuff), something might rub off. Maybe you learn some names of component parts. Components change.

Re: Linux From Scratch ends SysVinit support

#148

Earlier quoted context omitted.

I'm guessing he shares my belief that systemd-init cannot exist in the wild on its own, correct? When you want a teacup, you have to get the whole 12 place dinner set.

IIRC the mandatory components are the init system, udev, dbus, and journald. Journald is probably the most otherwise-optional feeling one (udev and dbus are both pretty critical for anything linux regardless), though you can put it into a passthrough mode so you don't have to deal with its log format if you don't want. Everything else is optional.

> ... dbus [is] pretty critical for anything linux regardless

Weird. If I weren't a sicko and had OBS Studio installed on my multipurpose box [0] I'd not have dbus installed on it.

dbus is generally optional; not that many packages require it. [1]

[0] Two of its several purposes are video transcoding and file serving.

[1] This is another area where Gentoo Linux is (sadly) one of the absolute best Linux distros out there.

Re: Linux From Scratch ends SysVinit support

#149
post #14

Earlier quoted context omitted.

I am looking forward to UnixFromScratch and Year of Unix on the desktop as Linux more and more sells itself out to the overstuffed software virus that is System D.

I know this is a bit tongue in cheek, but the systemd hate is so old and tiresome at this point. I need my systems to work. Not once in my career have I experienced a showstopping issue with systemd. I cannot say the same for sysV.

> Not once in my career have I experienced a showstopping issue with systemd.

Like clockwork, we'd have a SystemD edge case cause a production-down incident at a (single!) customer site once per year. Inevitably, we'd burn anywhere from a half day to a week attempting to figure out WTF, and end up in some Github Issue where Systemd Project heavyweights go "Wow. Yeah, that looks bad. Maybe we should document it. Or fix it? IDK." and they'd do neither.

The project is full of accidental complexity that its maintainers can't be bothered to fix when unplanned interactions cause problems and are brought to their attention. I certainly don't blame them; that sort of work is only interesting to a very specific sort of personality, and that sort of personality doesn't tend to thrive in a typical software company.

I can also absolutely say that I've never had a showstopping problem with OpenRC in the nearly twenty-five years I've been using it. It's remarkable how reliable it is.

Re: Linux From Scratch ends SysVinit support

#150
post #14

Earlier quoted context omitted.

I am looking forward to UnixFromScratch and Year of Unix on the desktop as Linux more and more sells itself out to the overstuffed software virus that is System D.

I know this is a bit tongue in cheek, but the systemd hate is so old and tiresome at this point. I need my systems to work. Not once in my career have I experienced a showstopping issue with systemd. I cannot say the same for sysV.

What about Windows hate is so old and tiresome now?

I need my system to work!

Post reply on HN