-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace Systemd as the init system in Nitrux #33
Comments
Using SysVI have modified a deployed development image. Once again, it's using SysV, but the news here is that there's a GUI now and that everything is precisely the same except for the init system. Things that work:
Things that don't work: Things that show issues :
Screenshots
What's nextSysV is exceptional in that it works, but it's not the best out there. Next things are to try to implement other, newer init systems. |
Finally after so many days of debugging loads of logs, you've succeded.. 💯 |
Using OpenRCI have created another build based on the development branch; this build utilizes OpenRC. Unlike the previous build, there's no GUI, and there's no network. Things that work:
Things that don't work:
Screenshots
What's nextUnfortunately, OpenRC didn't work as great, it might be possible that I'm missing some kind of configuration. I'll try with other init system in the meantime. |
Using runit as init and runit with SysV compatibilityI have created another build based on the development branch; this build utilizes runit. The system boots in both cases, using runit as /sbin/init and as an extension of SysV. The main problem is that it seems that not all services are started. Things that work:
Things that don't work:
ScreenshotsNo screenshots. It boots directly to the graphical session but X11 freezes and results in a black screen. What's nextTry to make one of these three init systems work. |
How performant is |
I measured the boot time from after selecting the deployed system on the znx boot menu and pressing enter until the welcome wizard shows up. Current Development ISO with systemd: 00:46.67 The difference is nominal, so we'd have to see how to optimize it, in both cases truly, it's taking more than 30 seconds, and that shouldn't be acceptable. My only real concern is that SysV is old (in the same context of X11; it works, but it's old). I had some sprawling success with OpenRC at one point but I couldn't this time. |
The same boot time for both |
Which are the ones with huge bootup time as shown in |
|
As per my findings in #41, the boot time is now on the test build ISO without systemd and using SysV in VirtualBox of 00:21:54 seconds vs. the 00:22:28 seconds of the current development ISO that uses systemd. That is, the ISO booted directly, not after deploying the operating system. |
small, but mindblowing feature request: how about implementing "runit"... to supplement portability and crossplatformity in 30 sec. timeframe ? |
You're welcome to make a PR to test. I have no experience with runit. |
Using OpenRC (update)I have created another build; this build utilizes OpenRC as init whereas previously, OpenRC was the service manager, and SysV was the init. Things that work:
Things that don't work:
Screenshots
What's nextOpenRC as init is working now. There are still some issues for it to be considered stable such as:
|
I'm closing this as there's a working image with SysVinit, which will replace the current image files; meanwhile, OpenRC integration is polished to replace SysVinit eventually. |
Nitrux currently uses Systemd as the init system (that we inherited from Ubuntu, not as a choice by us). We prefer to follow the Unix way of doing things, "do one thing and do it well."
znx, for example, doesn't attempt to do more than what it was designed to do. Our focus on AppImages also indicates that we prefer to have to manage one file (the AppImage file) instead of a multitude of packages. Nitrux itself is deployed as one file by znx. The operating systems that VMetal runs are also contained as a single file.
Systemd is more than an init system that doesn't follow that way. See Wikipedia:File:Systemd components.svg.
With that said, we should considerate simplifying our distribution by using a more straightforward init system.
The following are the options:
The text was updated successfully, but these errors were encountered: