The base version for uselessd is systemd-208, which is the version used in 13.1. Let's try if a direct substitution of the binaries works and watch out for the problems.

Expected result of the project is to have a working package with "Conflicts: systemd" and "Provides: systemd". The goal is not to fix all problems, a stripped down system with uselessd is considered a good achievement. Anything more complicated could build on top of this.

Hopefully this will bring some technical grounds to the systemd disputes whehter there are working alternatives that do not require to throw away everything that has been adapted to systemd so far.


Looking for hackers with the skills:

Nothing? Add some keywords!

This project is part of:

Hack Week 11


  • almost 5 years ago: bpetkov liked this project.
  • about 7 years ago: dsterba joined this project.
  • about 7 years ago: rneuhauser liked this project.
  • about 7 years ago: dmuhamedagic liked this project.
  • about 7 years ago: mkubecek liked this project.
  • over 7 years ago: mvidner liked this project.
  • over 7 years ago: barendartchuk liked this project.
  • over 7 years ago: metan liked this project.
  • over 7 years ago: froh liked this project.
  • over 7 years ago: mkubecek joined this project.
  • All Activity


    • tboerger
      over 7 years ago by tboerger | Reply

      This should be quite interesting for docker images as well :)

    • dsterba
      about 7 years ago by dsterba | Reply

      IRC #uselessd

    • dsterba
      about 7 years ago by dsterba | Reply

      Partial success: replaced the systemd package, system boots up to the login.

    • k_mroz
      about 7 years ago by k_mroz | Reply

      +1 booted to login... system is "somewhat" functional... though currently network.service fails. Also, many tools (ie. /usr/bin/ps) are linked against systemd libs ( for example) so that's another challenge.

    • dsterba
      about 7 years ago by dsterba | Reply

      Status report after HW

      Mission accomplished. Update from systemd to uselessd-4 works, there are some packages that need to be tweaked. There are still problems like not resolving hostname and no networking set up. Both can be fixed manually.

      OBS://home:dsterba:project211 contains the packages, uselessd can replace systemd via 'rpm -U'. It's possible that some packages depend on systemd-journal and deny the upgrade. Either uninstall them or pick the versions from the repository.

      Most of the work was packaging. Trim systemd.spec until it builds fine. Then go through patches to see what still applies.

      Pending and future work:

      • package udev separately (partial) - systemd builds only as a whole, so building udev means removing everything else from the build. Not effective, but works.
      • replace nss-myhostname functionality
      • find out why networking is not-working, probably some start-up dependencies that were removed by uselessd
      • see if/what local systemd patches could be upstreamed

      More boring future work:

      • find more whole-systemd dependencies that rather rely on a particular feature/subsystem like journald, logind
      • enhance the packages to enable the features at configure time ** good example: polkit (configurable journal support) ** bad example: rpcbind (pulls systemd, no way to configure out journal, patch is easy though)
      • most of the fun here is to convince maintainers of various packages that the autoconf and patching for alternate systemd implementations is a good thing.


      I think this could work in long term, all changes seem doable in a way that's already common and everybody is fine with (ifdefs, configure-time changes, spec file defines). Here the good relations between systemd-haters and systemd-lovers will really shine.

      The replacements for removed features should be provided in a convenient way (like recommending packages etc).

    • dsterba
      about 7 years ago by dsterba | Reply

      Asteroids ate the formatting!

    Similar Projects

    This project is one of its kind!