A live tree of systemd jobs on the boot console (codeberg.org)
150 points by orhunp_ 3 days ago
nubinetwork 2 hours ago
This looks cool, I like this... but if I read the screenshot correctly, it took them 12 seconds from initrd to fully loaded. Maybe this would make sense there, but my laptop boots so fast, those 12 seconds are like two seconds. It would take longer to render the screen than it would just spraying its usual text to the VT.
(Honestly, it spends more time in uefi preboot than it does to actually boot the system.)
bmicraft 2 hours ago
This is an ongoing pet peeve of mine, how the UEFI of a completely solderd laptop board can take longer than the OS to initialize a fully-known set of components.
p_l an hour ago
It's not really UEFI issue, but what modules were loaded, how it was configured/wired up - and sometimes it ends up serializing on slow boot of some components (like DDR5 memory), and weird crappy add-ons from manufacturer.
close04 2 hours ago
On many machines with DDR5 you get the lengthy memory training every boot and that comes on top of the already long UEFI initialization time.
bmicraft 2 hours ago
tkel 30 minutes ago
`systemctl status` gives you a tree already, just not live view
happymellon 9 minutes ago
`watch systemctl status`
kodoman 2 hours ago
I usually don't like TUI's and just want outputs into emacs text buffers, but this interface is beautiful, A nice thing to glance at that tells you everything you need to know about your systemd units. Well done.
origini 2 hours ago
Like it :)
What i don't get is why booting still takes seconds. When power is on, the hardware is on.
You can initalize most hardware in parallel, reading the amount of operation system into ram is fast.
throwa356262 2 hours ago
This is very cool. It should be the new default on all distros.
It may terrify windows and osx refugees, but that's a sacrifice I am happy to make ;)
nehal3m 2 hours ago
This also tickles some part of my brain that likes watching spinners, and it gives you an intuitive idea of what’s happening on your system. But for those who find it scary you could just default to a splash.
baq 2 hours ago
love it! finally an improvement after 30 years.
but also no reason to not render the tree with proper graphics, TUI is an UI just like GUI is and living dags are particularly well suited to be animated.
somelamer567 an hour ago
This is outstanding user interface design. Whoever came up with this is a real talent.
I would love to understand the process of coming up with the UX design is, what the principles are, and where the understanding of what "good" looks like, comes from.
reacharavindh 4 hours ago
Love it. Now I need to figure out if I can do a similar thing with OpenRC. Thanks for the inspiration.
account42 2 hours ago
Come to think of it I don't think I even have parallel boot enabled on my OpenRC systems since the Linux boot time is so much shorter than whatever the BIOS does before it hands control over (or before it even displays anything on some machines).
reacharavindh 30 minutes ago
I dont have parallel boot enabled as well as it is disabled by default. Looking at this Systemd post triggered this thought to experiment with it one weekend. I have this laptop where I run Gentoo like a control freak. There is nothing in it other than the core system running as openrc services. So, I might play around adding readiness gates to those and see if anything at all can be parallelized.
TacticalCoder 2 hours ago
> ... Linux boot time is so much shorter than whatever the BIOS does before it hands control over
On which system? Is your machine, for whatever reason, re-doing "memory training" everytime it boots? This is one can be really slow.
account42 2 hours ago
jeffrallen 3 hours ago
I hate systemd with a burning passion, but this is the first time I ever thought it might be slightly redeemed.
torcete 2 hours ago
I also dislike it very much.
edit: Having written that, this tool looks very cool and useful when you need to deal with a systemd distribution.
gavinsyancey 3 hours ago
> I hate systemd with a burning passion
Why?
palata an hour ago
For me, it is pushing Linux in the opposite direction of the main reason why I like Linux.
I was attracted to Linux because unlike Windows or macOS, I actually have choice with Linux. I can choose my filesystem, my libc, my init system, my bootloader, my system encryption, my window manager, etc.
Sure, it's not perfect: many programs assume that you have glibc, or dbus, or X11, or wayland, etc. Actually many programs assume that you run Ubuntu. And it is frustrating when you would want to use a program and can't because of such an assumption. But again on Linux, there is (or used to be?) a big open source culture. This program is assuming glibc? I can patch it to work with musl. Etc.
Systemd, to me, sounds like it says: "why would I care about interoperability? I am the best, you should use me. And if you want something else, you should make that something else interoperable with me, because I make the rules". It's not like systemd is trying to standardise stuff to allow alternative components to exist, right? It doesn't actively try to prevent alternatives, but that's pretty much it.
And normally I wouldn't care (again, Linux is about freedom of choice for me). But systemd being as successful as it is dramatically reduces my freedom. And systemd it seemingly trying to take over more and more components. And the more adoption it gets, the more power it has. You didn't want systemd to replace that part of your system? Too bad, it will. What are you gonna do anyway, systemd is too big to care about you at this point.
bayindirh 3 hours ago
Not the OP, but to provide a short perspective:
- Too many parts.
- Doing too many things, sometimes poorly.
- Fights with other services, no graceful fallback & logging (i.e. aggressive).
- As a result, unnecessarily complex, brittle and fragile.
- Harder to secure (at code level) than simpler tools.
- Project is too aggressive and want to replace any and every service.
- Sometimes break in unexpected ways.
- Not faster than Parallel Sys-V.
We can discuss these. I'm not the one who wants flame wars.jimis 3 hours ago
origini 2 hours ago
torcete 2 hours ago
preisschild 2 hours ago
kodoman 2 hours ago
> Why?
The thing with the whole systemd hate thing is everyone now knows why people might hate systemd (I am not a fan). I think a lot of features around isolation and systemd containers where useful but now probably using your containerization system that best suits your needs.
For me when I get really mad at it is when I want to build small nixos Images and want to minimize the footprint of systemd and run few services (some of that is on nixos as well).
I think it's better suited for desktop systems then server systems and it's quite annoying how prevalent it is. D-bus is one thing that always annoys me and how everything in systemd wants to use it and you can run into issues disabling it (Also don't like D-bus even on a desktop system).
Overall I think and hope we will see a rise not necessarily in openrc but in simpler init 1 systems that try to do less and provide good strong primitives that allow for easily using what ever daemon configured how you want, rather then trying to provide coupled implementations for everything.
Again I know these criticism are something of a meme, but they still are true.
TacticalCoder 2 hours ago
The XZ backdoor. That's why.
Only Rube-Goldberg complexity on the scale of systemd made the XZ backdoor possible. Systemd was made by despicable individuals who went on to work for despicable companies (as a big fuck you to open-source lovers) and then later on to work on even more despicable surveillance project (as a big fuck you to humanity).
systemd has its tentacles meddling in every single part of the Linux ecosystem.
But thankfully there's light at the end of the tunnel: thanks to VMs and containers and the need for speed, we've seen many minimal distros (I'm thinking stuff like Talos for Kubernetes) and those of course don't use systemd.
As soon as I get the time to switch away from my current hypervisor (Proxmox, so Debian, so systemd) to an hypervisor not running under Linux, like maybe bhyve on FreeBSD, I'll have all my VMs and containers and hypervisor totally systemd free (my VMs and containers are already systemd free: I did in anticipation of, at long last, giving systemd the middle finger).
But of course none of this matter much because according to HN we're already at a point in time where we can write: "Plz rewrite an init system".
The real question is: why don't people hate a rube-goldberg init system made by someone who went to work for Microsoft, while using crypto made up by his brother (certainly secure we're sure), and who then went on to create a full-on surveillance company working on locking down hardware?
Regain control of PID 1 people.
znpy an hour ago
If it only takes an animation to make you like systemd that means you don’t understand systemd and linux init systems at all.