Going full systemd


Long time user of Raspbmc, I just switched to OSMC as I purchased a Raspberry Pi 2.

Using Archlinux on my laptop, I am familiar with Systemd and I would like to use it as much as possible. The current state of service mangement in Debian (and thus OSMC), a mix of System V, Upstart and Systemd, is not satisfactory.

So far, I only achieved to replace the NTP daemon by systemd-timesyncd.

I would like to replace connman by systemd-networkd and systemd-resolved, but doing this break the network, as systemd-networkd is unable to set the network interface.

I would like to disable wpa_supplicant, as I don’t need wifi, and udisks, as I want to handle mouting disks myself.

Doing systemctl stop wpa_supplicant udisks does stop those services, but systemctl disable wpa_supplicant udisks doesn’t prevent them to start at next boot.

So, how can I disable wpa_supplicant and udisks, and how can I let systemd-networkd handles networking ?

Why are you trying to replace connman ?

We don’t use the Debian connman package, we provide our own custom compiled and patched version of connman, and we provide it with a proper systemd service unit.

Connman is intricately linked into the design of OSMC - in particular the entire networking GUI in OSMC settings is designed around Python DBus calls to the connman DBus API - if you remove connman and replace it with something else you will completely break the Networking GUI. You will also break the Wait for Network feature.

I really don’t understand why you would want to do this.

udisks is launched by udev so you will not be able to disable it unless you edit the relevant udev rules. wpa_supplicant I believe is launched by connman, but I would have to check on that.

What you are trying to do seems like a lot of work for no real benefit, and you are pretty much on your own when it comes to support as we can’t spend time supporting non-standard configurations where you have disabled or replaced important chunks of the operating system like connman.

Set up /etc/fstab and you should be fine.

I follow and appreciate Sam’s work for a while now, but I must say that I have little interest in OSMC as a layer above Kodi. I don’t like Conq, the skin OSMC is based upon, so I switched back to Confluence almost immediately after install. And I think I won’t use OSMC settings program a lot after initial settings.

I want to hack my system a little, so Openelec is de facto excluded. I tried XBian, but with no luck at the manual network configuration returning an error. So, For me, OSMC, after Raspbmc, is simply the best implementation of Kodi on Raspberry Pi.

But nevermind, I achieved what I wanted to do. Systemd-networkd was not working because of a typo, so after enabling it, symlinking /etc/systemd/system/connman.service, /etc/systemd/system/wpa_supplicant.service and /etc/systemd/system/udisks.service to /dev/null did the job after a reboot.

I did it, that’s why I don’t need udisks.

So simply:

sudo systemctl disable udisks
sudo systemctl disable udisks-glue

I already did that, as for wpa_supplicant, but for an unknown reason those services was still launched after reboot. So simlink to /dev/null is the solution I’ve found.

update-rc.d remove SERVICENAME would work too