]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
Write rules for symlinks to /dev/.udev/rules.d for later usage
authorHarald Hoyer <harald@redhat.com>
Tue, 22 Jun 2010 08:30:39 +0000 (10:30 +0200)
committerHarald Hoyer <harald@redhat.com>
Tue, 22 Jun 2010 08:30:39 +0000 (10:30 +0200)
We want some symlinks to persist in the real root, so we write them to
/dev/.udev/rules.d, that they survive a retrigger.

modules.d/90dmsquash-live/dmsquash-live-genrules.sh
modules.d/90dmsquash-live/dmsquash-liveiso-genrules.sh
modules.d/95resume/resume-genrules.sh
modules.d/95rootfs-block/block-genrules.sh

index 56199d5fd57dd98cbbe7510f574cf82a5162e65c..1057c8c107f76209764290caea26b872e489aee2 100755 (executable)
@@ -1,14 +1,16 @@
 if [ "${root%%:*}" = "live" ]; then
-    (
+    [ -d /dev/.udev/rules.d ] || mkdir -p /dev/.udev/rules.d
+    {
     printf 'KERNEL=="%s", SYMLINK+="live"\n' \
        ${root#live:/dev/} 
     printf 'SYMLINK=="%s", SYMLINK+="live"\n' \
        ${root#live:/dev/} 
+    } >> /dev/.udev/rules.d/99-live-mount.rules
+    {
     printf 'KERNEL=="%s", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/dmsquash-live-root $env{DEVNAME}"\n' \
        ${root#live:/dev/} 
     printf 'SYMLINK=="%s", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/dmsquash-live-root $env{DEVNAME}"\n' \
        ${root#live:/dev/} 
-
-    ) >> /etc/udev/rules.d/99-live-mount.rules
+    } >> /etc/udev/rules.d/99-live-mount.rules
     echo '[ -e /dev/root ]' > /initqueue-finished/dmsquash.sh
 fi
index a196202ee6ac39c05600dcb36e9db9fb3140e9b1..fa771f847c7f56f97bc9645a3872dbbe99a9bc2d 100755 (executable)
@@ -1,7 +1,7 @@
 if [ "${root%%:*}" = "liveiso" ]; then
-    (
+    {
      printf 'KERNEL=="loop0", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/dmsquash-live-root `/sbin/losetup -f --show %s`"\n' \
          ${root#liveiso:}
-    ) >> /etc/udev/rules.d/99-liveiso-mount.rules
+    } >> /etc/udev/rules.d/99-liveiso-mount.rules
     echo '[ -e /dev/root ]' > /initqueue-finished/dmsquash.sh
 fi
index a00a3629be2daf3dd65790de4c437c44f38145ac..59e102457ec494b319665bffc72863d140bd1e1d 100755 (executable)
@@ -1,13 +1,17 @@
 if [ -n "$resume" ]; then
+    [ -d /dev/.udev/rules.d ] || mkdir -p /dev/.udev/rules.d
     {
-    printf "KERNEL==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/bin/sh -c 'echo %%M:%%m > /sys/power/resume'\"\n" \
-               ${resume#/dev/};
-    printf "SYMLINK==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/bin/sh -c 'echo %%M:%%m > /sys/power/resume'\"\n" \
-               ${resume#/dev/};
     printf "KERNEL==\"%s\", ACTION==\"add|change\", SYMLINK+=\"/dev/resume\"\n" \
                ${resume#/dev/};
     printf "SYMLINK==\"%s\", ACTION==\"add|change\", SYMLINK+=\"/dev/resume\"\n" \
                ${resume#/dev/};
+    } >> /dev/.udev/rules.d/99-resume.rules
+
+    {
+    printf "KERNEL==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/bin/sh -c 'echo %%M:%%m > /sys/power/resume'\"\n" \
+               ${resume#/dev/};
+    printf "SYMLINK==\"%s\", ACTION==\"add|change\", ENV{ID_FS_TYPE}==\"suspend|swsuspend|swsupend\", RUN+=\"/bin/sh -c 'echo %%M:%%m > /sys/power/resume'\"\n" \
+               ${resume#/dev/};
     } >> /etc/udev/rules.d/99-resume.rules
 
     printf '[ -e "%s" ] && { ln -s "%s" /dev/resume; rm "$job"; }\n' \
index 1b650f8f19bff8a7c4ab2bc7f1955fddc1fa4519..80e0c4c3df0253549fbbbae03d629edea9661138 100755 (executable)
@@ -1,10 +1,11 @@
 if [ "${root%%:*}" = "block" ]; then
-    (
+    [ -d /dev/.udev/rules.d ] || mkdir -p /dev/.udev/rules.d
+    {
     printf 'KERNEL=="%s", SYMLINK+="root"\n' \
        ${root#block:/dev/} 
     printf 'SYMLINK=="%s", SYMLINK+="root"\n' \
        ${root#block:/dev/} 
-    ) >> /etc/udev/rules.d/99-mount.rules
+    } >> /dev/.udev/rules.d/99-root.rules
     
     printf '[ -e "%s" ] && { ln -s "%s" /dev/root 2>/dev/null; rm "$job"; }\n' \
        "${root#block:}" "${root#block:}" >> /initqueue-settled/blocksymlink.sh