diff --git a/modules.d/90dmsquash-live/dmsquash-live-genrules.sh b/modules.d/90dmsquash-live/dmsquash-live-genrules.sh index 56199d5f..1057c8c1 100755 --- a/modules.d/90dmsquash-live/dmsquash-live-genrules.sh +++ b/modules.d/90dmsquash-live/dmsquash-live-genrules.sh @@ -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 diff --git a/modules.d/90dmsquash-live/dmsquash-liveiso-genrules.sh b/modules.d/90dmsquash-live/dmsquash-liveiso-genrules.sh index a196202e..fa771f84 100755 --- a/modules.d/90dmsquash-live/dmsquash-liveiso-genrules.sh +++ b/modules.d/90dmsquash-live/dmsquash-liveiso-genrules.sh @@ -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 diff --git a/modules.d/95resume/resume-genrules.sh b/modules.d/95resume/resume-genrules.sh index a00a3629..59e10245 100755 --- a/modules.d/95resume/resume-genrules.sh +++ b/modules.d/95resume/resume-genrules.sh @@ -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' \ diff --git a/modules.d/95rootfs-block/block-genrules.sh b/modules.d/95rootfs-block/block-genrules.sh index 1b650f8f..80e0c4c3 100755 --- a/modules.d/95rootfs-block/block-genrules.sh +++ b/modules.d/95rootfs-block/block-genrules.sh @@ -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