Skip to content
  • Kay Sievers's avatar
    use /run instead of /dev/.run · 2b583ce6
    Kay Sievers authored
    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
    2b583ce6