Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

An init system is for all practical purposes a build system - a very complex problem where literally every sane solution is declarative. Especially when you take into account error handling (that HDD is not yet available, will you imperatively wait for it to come up and pause everything else? Do parallel work in the meantime in fking bash? Or what exactly?)


I mean, yes? Start one service at a time, in the order specified? There's not some reason that magically stopped working in 2010.


Sequential start-up is unnecessarily slow.

Startup is ultimately a complex problem. There is no magic, just race conditions which maybe became more apparent. LVM may or may not be used, and takes time to start up. Do you wait for it? Ditto wireless networks. And how do you handle devices being hotplugged? Setups vary widely, and can be dynamic.


> Startup is ultimately a complex problem

??

Mount filesystem, start networking, start networking daemons, update crappy gtk stuff, run rc.local.

What is so complex ?


Apparently, for starters, knowing when rc.local is to be run.

It was run in the middle of rc, not at the end; as pointed out in the OpenBSD manual.


This is a very interesting analogy, which I haven't seen before. Thanks.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: