diff options
author | Kay Sievers <kay.sievers@vrfy.org> | 2011-03-25 05:07:20 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-03-28 23:00:00 +0200 |
commit | 2b583ce6576d4a074ce6f1570b3e60b65c64ae7d (patch) | |
tree | c5cfa0138219cc79a6412bb69abe13ece385009c /units | |
parent | 37f85e66e8f396b6f758e063531b95531aef628e (diff) |
use /run instead of /dev/.run
Instead of the /dev/.run trick we have currently implemented, we decided
to move the early-boot runtime dir to /run.
An existing /var/run directory is bind-mounted to /run. If /var/run is
already a symlink, no action is taken.
An existing /var/lock directory is bind-mounted to /run/lock.
If /var/lock is already a symlink, no action is taken.
To implement the directory vs. symlink logic, we have a:
ConditionPathIsDirectory=
now, which is used in the mount units.
Skipped mount unit in case of symlink:
$ systemctl status var-run.mount
var-run.mount - Runtime Directory
Loaded: loaded (/lib/systemd/system/var-run.mount)
Active: inactive (dead)
start condition failed at Fri, 25 Mar 2011 04:51:41 +0100; 6min ago
Where: /var/run
What: /run
CGroup: name=systemd:/system/var-run.mount
The systemd rpm needs to make sure to add something like:
%pre
mkdir -p -m0755 /run >/dev/null 2>&1 || :
or it needs to be added to filesystem.rpm.
Udev -git already uses /run if that exists, and is writable at bootup.
Otherwise it falls back to the current /dev/.udev.
Dracut and plymouth need to be adopted to switch from /dev/.run to run
too.
Cheers,
Kay
Diffstat (limited to 'units')
-rw-r--r-- | units/fsck-root.service.in | 2 | ||||
-rw-r--r-- | units/plymouth-start.service | 2 | ||||
-rw-r--r-- | units/systemd-ask-password-console.path | 2 | ||||
-rw-r--r-- | units/systemd-ask-password-plymouth.path | 2 | ||||
-rw-r--r-- | units/systemd-ask-password-wall.path | 2 | ||||
-rw-r--r-- | units/systemd-logger.socket | 2 | ||||
-rw-r--r-- | units/systemd-shutdownd.socket | 2 | ||||
-rw-r--r-- | units/var-lock.mount | 8 | ||||
-rw-r--r-- | units/var-run.mount | 4 |
9 files changed, 15 insertions, 11 deletions
diff --git a/units/fsck-root.service.in b/units/fsck-root.service.in index ae6ea924a2..8f4adc48e0 100644 --- a/units/fsck-root.service.in +++ b/units/fsck-root.service.in @@ -12,7 +12,7 @@ After=systemd-readahead-collect.service systemd-readahead-replay.service Before=local-fs.target shutdown.target remount-rootfs.service quotacheck.service # Dracut informs us with this flag file if the root fsck was already run -ConditionPathExists=!/dev/.run/initramfs/root-fsck +ConditionPathExists=!/run/initramfs/root-fsck [Service] Type=oneshot diff --git a/units/plymouth-start.service b/units/plymouth-start.service index 4ef2bcc020..eb336e619e 100644 --- a/units/plymouth-start.service +++ b/units/plymouth-start.service @@ -13,7 +13,7 @@ After=systemd-vconsole-setup.service udev-settle.service Before=systemd-ask-password-plymouth.service # Dracut informs us with this flag file if plymouth is already running -ConditionPathExists=!/dev/.run/initramfs/plymouth +ConditionPathExists=!/run/initramfs/plymouth [Service] ExecStart=/sbin/plymouthd --mode=boot diff --git a/units/systemd-ask-password-console.path b/units/systemd-ask-password-console.path index ac76fc170e..4005a27734 100644 --- a/units/systemd-ask-password-console.path +++ b/units/systemd-ask-password-console.path @@ -12,4 +12,4 @@ Conflicts=shutdown.target Before=basic.target shutdown.target [Path] -DirectoryNotEmpty=/dev/.run/systemd/ask-password +DirectoryNotEmpty=/run/systemd/ask-password diff --git a/units/systemd-ask-password-plymouth.path b/units/systemd-ask-password-plymouth.path index b339b5e261..a2aec44122 100644 --- a/units/systemd-ask-password-plymouth.path +++ b/units/systemd-ask-password-plymouth.path @@ -12,4 +12,4 @@ Conflicts=shutdown.target systemd-ask-password-console.path systemd-ask-password Before=basic.target shutdown.target [Path] -DirectoryNotEmpty=/dev/.run/systemd/ask-password +DirectoryNotEmpty=/run/systemd/ask-password diff --git a/units/systemd-ask-password-wall.path b/units/systemd-ask-password-wall.path index c277563b74..7a883d5af8 100644 --- a/units/systemd-ask-password-wall.path +++ b/units/systemd-ask-password-wall.path @@ -12,4 +12,4 @@ Conflicts=shutdown.target Before=basic.target shutdown.target [Path] -DirectoryNotEmpty=/dev/.run/systemd/ask-password +DirectoryNotEmpty=/run/systemd/ask-password diff --git a/units/systemd-logger.socket b/units/systemd-logger.socket index 5cf6a9b0bf..9b2d202f2b 100644 --- a/units/systemd-logger.socket +++ b/units/systemd-logger.socket @@ -13,4 +13,4 @@ DefaultDependencies=no Before=sockets.target [Socket] -ListenStream=/dev/.run/systemd/logger +ListenStream=/run/systemd/logger diff --git a/units/systemd-shutdownd.socket b/units/systemd-shutdownd.socket index 6faf36f0e2..b30a6657cf 100644 --- a/units/systemd-shutdownd.socket +++ b/units/systemd-shutdownd.socket @@ -13,4 +13,4 @@ DefaultDependencies=no Before=sockets.target [Socket] -ListenDatagram=/dev/.run/systemd/shutdownd +ListenDatagram=/run/systemd/shutdownd diff --git a/units/var-lock.mount b/units/var-lock.mount index 0ea2599b71..80e1bab261 100644 --- a/units/var-lock.mount +++ b/units/var-lock.mount @@ -8,9 +8,11 @@ [Unit] Description=Lock Directory Before=local-fs.target +# skip mounting if the directory does not exist or is a symlink +ConditionPathIsDirectory=/var/lock [Mount] -What=tmpfs +What=/run/lock Where=/var/lock -Type=tmpfs -Options=mode=775,gid=lock,nosuid,nodev,noexec +Type=bind +Options=bind diff --git a/units/var-run.mount b/units/var-run.mount index cd3889ebce..c513dfecd2 100644 --- a/units/var-run.mount +++ b/units/var-run.mount @@ -8,9 +8,11 @@ [Unit] Description=Runtime Directory Before=local-fs.target +# skip mounting if the directory does not exist or is a symlink +ConditionPathIsDirectory=/var/run [Mount] -What=/dev/.run +What=/run Where=/var/run Type=bind Options=bind |