|
|
Log in / Subscribe / Register

On devfs and udev

On devfs and udev

Posted Nov 13, 2014 10:38 UTC (Thu) by cesarb (subscriber, #6266)
Parent article: The Grumpy Editor's guide to surviving the systemd debate

Setting aside the amount of debate, I'd argue that the devfs equivalent was upstart, and that systemd is more like udev.

I'm not as knowledgeable on upstart (I never quite got the hang of it), but from what I have read, the original systemd developers looked at upstart, saw a few problems with it, and decided to go in a different direction. But they didn't start from scratch; they had in mind where upstart went right, and where upstart went wrong.

From what I recall, the same thing happened with devfs: it opened up an unexplored field, and by looking at where it worked well and where it didn't, the udev developers could make udev better than what it would have been otherwise.

But I also believe that what we have now in systemd is not the "Linux init system"'s final form. I believe there will be a further init system (perhaps a newer release of systemd, perhaps a new init system) which will fix systemd's shortcomings, while keeping its strenghts. But that will only be possible because the current systemd is there as an example, showing the new system's developers what to do and what to avoid.

In particular, I believe there will someday be a "systemd lite" which keeps only the bare minimum (cgroups and process supervision), for the "small embedded system" use case (which tries to cram as much as possible in 4 megabytes of flash).


to post comments

On devfs and udev

Posted Nov 13, 2014 11:46 UTC (Thu) by luya (subscriber, #50741) [Link]

That is already possible as explained by this documentation:
http://freedesktop.org/wiki/Software/systemd/MinimalBuilds/

GENEVI, Angstrom and other embedded companies already applied similar method above. Also take a look at:
http://lccoelce14.sched.org/event/2b63b9b5ab23a133c8c2a62...

On devfs and udev

Posted Nov 13, 2014 12:10 UTC (Thu) by csamuel (✭ supporter ✭, #2624) [Link] (1 responses)

I am completely agnostic to systemd at present but for the sake of info there is uselessd that might (eventually) provide what you're after as a "systemd lite":

http://uselessd.darknedgy.net/

"a project to reduce systemd to a base initd, process supervisor and transactional dependency system, while minimizing intrusiveness and isolationism".

On devfs and udev

Posted Nov 13, 2014 22:30 UTC (Thu) by mathstuf (subscriber, #69389) [Link]

On devfs and udev

Posted Nov 13, 2014 16:41 UTC (Thu) by rgmoore (✭ supporter ✭, #75) [Link] (2 responses)

I'm not as knowledgeable on upstart (I never quite got the hang of it), but from what I have read, the original systemd developers looked at upstart, saw a few problems with it, and decided to go in a different direction. But they didn't start from scratch; they had in mind where upstart went right, and where upstart went wrong.

Also, and IMO critically, they didn't restrict their inspirations to other Linux init systems. They also looked at newer inits from other Unix-like systems, most notably launchd. Far from being some experimental, NIH project, systemd tried hard to copy ideas that had been shown to work on other systems.

On devfs and udev

Posted Nov 13, 2014 17:34 UTC (Thu) by johannbg (guest, #65743) [Link] (1 responses)

It started out as Launchd + SMF + Linux integration and improvements sprinkled on top of that. I'm unsure how much upstart was taken into the original picture thou.

Solaris devs have done great things in the past then came oracle so why not learn from their effort and history copy what other OS have done well and try to improve and or integrate that directly into the core/baseOS stack of Linux?

On devfs and udev

Posted Nov 13, 2014 22:26 UTC (Thu) by eean (subscriber, #50420) [Link]

Ha, I didn't know this history, makes all the "but but the Unix way" arguments a bit ironic.

On devfs and udev

Posted Nov 21, 2014 10:16 UTC (Fri) by horsethief (guest, #99889) [Link] (1 responses)

I agree, it's not its final form, and we will have a further init system.

The problem, is that in order to do that, we'll have to scrap everything and re-write userspace from scratch (hopefully with a component-based architecture this time) and then re-implement the things that we can improve upon. If systemd had just taken the component-based architecture from the get-go, this whole war/dispute would have never happened.

On devfs and udev

Posted Nov 21, 2014 12:34 UTC (Fri) by mathstuf (subscriber, #69389) [Link]

It is split into components. Sure, it all ships in one tarball/blob (as does coreutils, binutils, FreeBSD core, OS X, and others), but that doesn't mean you can't replace just certain bits (as I can with any of those projects listed). Though, yes, journald, systemd (the PID 1 binary), and logind might require more code replacement than just the single binary due to the architecture, that's 3 binaries out of 69 which might be not-as-straightforward and are at the *core* of the project, so that seems reasonable to me.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds