Browse Source

Write rules for symlinks to /dev/.udev/rules.d for later usage

We want some symlinks to persist in the real root, so we write them to
/dev/.udev/rules.d, that they survive a retrigger.
master
Harald Hoyer 15 years ago
parent
commit
ae5ec68355
  1. 8
      modules.d/90dmsquash-live/dmsquash-live-genrules.sh
  2. 4
      modules.d/90dmsquash-live/dmsquash-liveiso-genrules.sh
  3. 12
      modules.d/95resume/resume-genrules.sh
  4. 5
      modules.d/95rootfs-block/block-genrules.sh

8
modules.d/90dmsquash-live/dmsquash-live-genrules.sh

@ -1,14 +1,16 @@ @@ -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

4
modules.d/90dmsquash-live/dmsquash-liveiso-genrules.sh

@ -1,7 +1,7 @@ @@ -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

12
modules.d/95resume/resume-genrules.sh

@ -1,13 +1,17 @@ @@ -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' \

5
modules.d/95rootfs-block/block-genrules.sh

@ -1,10 +1,11 @@ @@ -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

Loading…
Cancel
Save