It has been quite a while since I last wrote something about my work on systemd in Exherbo, so here’s an update:
What has been accomplished so far:
- The Exherbo patches are done. Do NOT try to submit them upstream yet, though. I’ll take care of that when the time is ripe.
- Lots of services are done.
- You can boot and run most systems using systemd now.
- I’ve built new amd64 and x86 stages without any init system so you can start out without the baselayout-1/sysvinit cruft.
- The installation guide has been updated.
Every systemd service is implemented natively and we’re not using anything from baselayout-1 or sysvinit anymore. Instead, all the important stuff has been moved to skeleton-filesystem-layout. systemd’s dependencies have been updated accordingly.
Thus, for people using systemd, baselayout-1 and sysvinit are now obsolete. YAY!
What still needs to be done:
- Improve existing service definitions for systemd.
- Create socket definitions for several of the existing service definitions. (And new ones, of course.)
- Create systemd service files for missing services.
Rules for new service files:
- Please make sure they’re implemented natively. I won’t accept non-native service files unless you can convince me there’s definitely no other solution.
- If you convinced me, scripts go to /usr/${LIBDIR}/systemd.
- EnvironmentFiles (configuration) go to /etc/conf.d and end in .conf. We do NOT create a configuration file for every single service but create (grep-able) logical units, e. g. now-obsolete font@.service and keymap@.service used to use console.conf).
- You can reference environment variables from configuration files in service. If you have to quote the values in the configuration file, you need to use $FOO; if you don’t quote them (preferred), you use ${FOO}. This is probably a bug (and known to upstream) but for now that’s how it is.
- Services and their (potentially) accompanying files must not collide with baselayout-1.
Requirements:
- You have to run Linux kernel >=2.6.36-rc1 (I’m using 2.6.36-rc6; latest NVidia-Drivers work fine and there are patches for the VMWare modules available.).
How to get started with systemd:
Read this.
Conclusion:
Since both systemd and its exheres have now reached an acceptable degree of stability, I don’t intend on breaking things anymore as I’ve done over the last months from time to time.
In fact, systemd is so usable these days, I’m writing this on a systemd-initialised system! This means as well that I can live without baselayout-1 and sysvinit. YAY! π
I am and have been working on quite a few F/OSS projects: |