chiark / gitweb /
mount: use /dev/.run as an early boot alias for /var/run
authorLennart Poettering <lennart@poettering.net>
Wed, 9 Mar 2011 01:51:45 +0000 (02:51 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 9 Mar 2011 01:51:45 +0000 (02:51 +0100)
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.

src/mount-setup.c
units/var-run.mount

index 5cbaee6be7eb8a0d06b00aee6ff3e6df28594433..f08eeb162ead98886f0d3a7093a36b6d52f7fa53 100644 (file)
@@ -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 },
 };
index 8ccb4bb28e9b4ae607fc816573db973a1b3127f4..cd3889ebcedef2d28cba23ed4aa7128f318f64c6 100644 (file)
@@ -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