Trisuel OS without systemd

8 replies [Last post]
LetsGoboy
Offline
Joined: 05/23/2023

Hello, dear Trisquel community.
I am a fan of your operating system. I am writing to you with a request to consider adding other initialization systems to Trisquel OS. Trisquel OS is one of the top solutions approved by the FSF. I would also mention Pure OS. But what do you have, that Pure OS has systemd. It is also of concern to both freedom fighters from the FSF community and ordinary users who care about their privacy. Therefore, I will ask you to add the ability to choose the initialization system when installing the OS, as it is done, for example, in Devuan, in the upcoming Trisquel OS 12 patch. If you don't want to get rid of systemd, then at least give them the choice to switch to OpenRC or something else. Or please make a couple of editions, with systemd, openrc, sysinit, etc. Thank you, I hope you will read my letter.

Ark74

I am a member!

I am a translator!

Offline
Joined: 07/15/2009

Everyone is welcome to join the development team and take over specific task like this one.

Something else you can explore is what is Ubuntu doing in that regard and there are big chances it can be replicated on Trisquel.

So far there is plenty to do on the Trisquel development team and some help would be awesome, I've invited before, but let me take this opportunity to invite anyone that wants to join the development team or keep funding the project around it.

Best regards.

andyprough
Offline
Joined: 02/12/2015

Ubuntu cannot be made to use any other init system than systemd, and therefore Trisquel will not be able to be made to use a different init system. Not without extreme efforts which would probably disable much of Trisquel's functionality. A few years ago you could still switch Ubuntu to using runit in place of systemd, but in recent years some of the packages that are required to change it to runit have been removed. I recently tried to change Trisquel 11 to using runit by using the old Ubuntu instructions, but they no longer work as some required packages are no longer available.

If you like Devuan and don't like systemd then you should try GNUinOS, the libre version of Devuan. Trisquel is not going to become Devuan with a bunch of init system options - it's not really possible as long as Trisquel is based on Ubuntu.

If you just don't like systemd and you want some other init option, Hyperbola GNU/Linux is a libre distro that uses runit, and GNU Guix is a libre distro that uses the GNU Shepherd init system.

Lastly, I'll say a word in favor of Trisquel. I do not like systemd due to how bloated most systemd distros are, and normally I would not use any distro that uses systemd. However I find that Trisquel's implementation of systemd is fast and stable and can be made to run with fairly minimal resources, so for me it's a very good distro regardless of its init system.

Avron

I am a translator!

Offline
Joined: 08/18/2020

> If you just don't like systemd and you want some other init option, Hyperbola GNU/Linux is a libre distro that uses runit, and GNU Guix is a libre distro that uses the GNU Shepherd init system.

There is also Parabola, it gives the choice between systemd and openrc.

> I do not like systemd due to how bloated most systemd distros are, and normally I would not use any distro that uses systemd. However I find that Trisquel's implementation of systemd is fast and stable and can be made to run with fairly minimal resources.

What I have read from the author of systemd is that he was trying to make init faster by only starting things when they are actually needed, e.g. even when a service requires a daemon, not to start the daemon before there is actually any request to it. While this does not put the focus on minimal resources, I guess that if something is never used it is never started and that can help minimizing resources.

If systemd is written in C, I may give it a look at some point. It looks like an interesting piece of software to better understand.

andyprough
Offline
Joined: 02/12/2015

>"What I have read from the author of systemd is that he was trying to make init faster by only starting things when they are actually needed, e.g. even when a service requires a daemon, not to start the daemon before there is actually any request to it."

Lennart failed pretty badly at that original goal, as systemd has consistently ranked among the slowest booting init systems from all the comparisons I've seen over the years. But then he changed the goal, claiming that systemd was more secure, more modular, etc. You'll notice that Lennart and other systemd developers almost never claim that it's faster these days. There are significantly faster init systems, such as runit, dinit, and s6. Even sysvinit can boot faster, if it's well implemented.

On the other hand, boot speed is not a big problem on most modern systems, taking just a few seconds. In the old days it could take 1-2 minutes or more and was a huge problem. Most users today probably won't care if systemd takes a few seconds longer to boot.

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

What I have read from the author of systemd is that he was trying to make init faster

I doubt it. More than ten years ago, he was writing:

2. Myth: systemd is about speed.
Yes, systemd is fast (A pretty complete userspace boot-up in ~900ms, anyone?), but that's primarily just a side-effect of doing things right. In fact, we never really sat down and optimized the last tiny bit of performance out of systemd. Instead, we actually frequently knowingly picked the slightly slower code paths in order to keep the code more readable. This doesn't mean being fast was irrelevant for us, but reducing systemd to its speed is certainly quite a misconception, since that is certainly not anywhere near the top of our list of goals.

http://0pointer.de/blog/projects/the-biggest-myths

If systemd is written in C, I may give it a look at some point.

Look at it then. 88.5% of the whole project is written in C: https://github.com/systemd/systemd

Essentially 100% of what matters: besides the specification of the building instructions (in Meson), a few shell scripts for testing, documentation in HTML, ..., the 5.8% of Python code is mostly in hwdb.d, which is, as the README explains, used to parse descriptions of hardware devices that are compiled into a binary database that udev reads: https://raw.githubusercontent.com/systemd/systemd/main/hwdb.d/README

I am sorry to write it one more time on this forum: most systemd haters do not know the first thing about it and mostly write fake news.

Avron

I am a translator!

Offline
Joined: 08/18/2020

>> What I have read from the author of systemd is that he was trying to make init faster

> I doubt it. More than ten years ago, he was writing:...

He was also writing before (http://0pointer.de/blog/projects/systemd.html):

As mentioned, the central responsibility of an init system is to bring up userspace. And a good init system does that fast. Unfortunately, the traditional SysV init system was not particularly fast.

For a fast and efficient boot-up two things are crucial:

  • To start less.
  • And to start more in parallel.

...
Starting more in parallel means that if we have to run something, we should not serialize its start-up (as sysvinit does), but run it all at the same time, so that the available CPU and disk IO bandwidth is maxed out, and hence the overall start-up time minimized.

So he apparently likes to contradict himself.

Sunny Day
Offline
Joined: 01/05/2023

This is very interesting! Even if much of what was discussed here is well above my tech pay grade, all your comments have helped me to make a bit more sense of systemd.

As a user, I have been trying to run Trisquel as a standalone system and, to my surprise (after destroying many installations), systemd cooperated... well, Trisquel DID IT! Trisquel kept on adapting and gave me a setup pretty close to what I aim for. Everything is now 'local' and I love it!!

I don't know if what I said makes sense in a technical level, but I hope you get the gist. Please feel free to correct me if anything is odd or off, with pre-thanks!

openmind
Offline
Joined: 08/30/2023

Gnuinos with the libelogind package and the trisquel repos would work.