

Are these “other features” hard dependent on systemd? If yes, how are they modular (or portable)? “My program can be used on any system with a couple of small dependencies: Linux kernel, glibc, and the systemd Kernel” /j
There are some attempts to use systemd tools independent for it, like elogind and eudev, but see what I mean. Hard forks (with major rewrites) are required because these tools heavily depend on systemd, which fine I understand having dependency, but you cant just use part of systemd since it is to tangled together. It would be nice if mire of systemd code was available as separate libraries so you could further reduce attack surface by building a significantly slimmed version of systemd+feature. I am unsure if you meant modular as in “you can choose to enable them” or as in “you can build without them” or both.
Also, I never claimed systemd ran everything under pid1, just plenty more then the should be, like init plus service manager (and more), not every single systemd tool because that would be beyond stupid and systemd isnt made by idiots.







Example: https://www.agwa.name/blog/post/how_to_crash_systemd_in_one_tweet
Also, in this article some explanation of why nothing should be in pid1 other than what is truly necessary, and any example pid1 program written in C under the heading “So how should init be done right?”