summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2011-03-09 02:51:45 +0100
committerLennart Poettering <lennart@poettering.net>2011-03-09 02:51:45 +0100
commitcc5524ecc60a83fb88cac02fe02e21cde3951a25 (patch)
tree60eb3e3a63450d2e5a8997183c05931b9a4edb27
parent1de4d79bf554946f486adf56ed765c5335816f15 (diff)
mount: use /dev/.run as an early boot alias for /var/run
During early boot, mount a tmpfs to /dev/.run and then bind mount it to /var/run as soon as /var is available. This makes it possible for programs involved in early boot to put runtime data in /dev/.run which later on will show up in /var/run like any other. This can be used to solve the early-boot D-Bus problem: D-Bus may start up with its socket bound to /dev/.run/dbus/system_bus_socket and after /var it will also be available under the traditional name /var/run/dbus/system_bus_socket. This also is intended to be used as a better place for systemd, mount, mdadm, blkid, plymouth, bootchart and dracut runtime data, which is currently stored in various places in /dev/.xxx.
-rw-r--r--src/mount-setup.c1
-rw-r--r--units/var-run.mount6
2 files changed, 4 insertions, 3 deletions
diff --git a/src/mount-setup.c b/src/mount-setup.c
index 5cbaee6be7..f08eeb162e 100644
--- a/src/mount-setup.c
+++ b/src/mount-setup.c
@@ -54,6 +54,7 @@ static const MountPoint mount_table[] = {
{ "devtmpfs", "/dev", "devtmpfs", "mode=755", MS_NOSUID, true },
{ "tmpfs", "/dev/shm", "tmpfs", "mode=1777", MS_NOSUID|MS_NODEV, true },
{ "devpts", "/dev/pts", "devpts", "mode=620,gid=" STRINGIFY(TTY_GID), MS_NOSUID|MS_NOEXEC, false },
+ { "tmpfs", "/dev/.run", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
{ "tmpfs", "/sys/fs/cgroup", "tmpfs", "mode=755", MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
{ "cgroup", "/sys/fs/cgroup/systemd", "cgroup", "none,name=systemd", MS_NOSUID|MS_NOEXEC|MS_NODEV, true },
};
diff --git a/units/var-run.mount b/units/var-run.mount
index 8ccb4bb28e..cd3889ebce 100644
--- a/units/var-run.mount
+++ b/units/var-run.mount
@@ -10,7 +10,7 @@ Description=Runtime Directory
Before=local-fs.target
[Mount]
-What=tmpfs
+What=/dev/.run
Where=/var/run
-Type=tmpfs
-Options=mode=755,nosuid,nodev,noexec
+Type=bind
+Options=bind