diff --git a/debian/rules b/debian/rules index a6b631ba9..1209a03ca 100755 --- a/debian/rules +++ b/debian/rules @@ -139,6 +139,8 @@ override_dh_install: debian/systemd/lib/systemd/system/ install --mode=755 debian/debian-fixup \ debian/systemd/lib/systemd/ + install --mode=755 debian/systemd-logind-launch \ + debian/systemd/lib/systemd/ # remove duplicates # files shipped by systemd-sysv / sysvinit rm debian/systemd/usr/share/man/man1/init.1 diff --git a/debian/systemd-logind-launch b/debian/systemd-logind-launch new file mode 100755 index 000000000..9fd865f4f --- /dev/null +++ b/debian/systemd-logind-launch @@ -0,0 +1,12 @@ +#!/bin/sh + +if ! mountpoint -q /sys/fs/cgroup; then + mount -t tmpfs -o uid=0,gid=0,mode=0755,size=1024 none /sys/fs/cgroup +fi +if ! mountpoint -q /sys/fs/cgroup/systemd; then + mkdir -p /sys/fs/cgroup/systemd + mount -t cgroup -o nosuid,noexec,nodev,none,name=systemd systemd /sys/fs/cgroup/systemd +fi +mkdir -p /run/systemd + +exec /lib/systemd/systemd-logind diff --git a/src/login/org.freedesktop.login1.service b/src/login/org.freedesktop.login1.service index d10f63125..82c007e05 100644 --- a/src/login/org.freedesktop.login1.service +++ b/src/login/org.freedesktop.login1.service @@ -7,6 +7,6 @@ [D-BUS Service] Name=org.freedesktop.login1 -Exec=/lib/systemd/systemd-logind +Exec=/lib/systemd/systemd-logind-launch User=root SystemdService=dbus-org.freedesktop.login1.service