Browse Source

resume: add support for labeled resume devices

I noticed when doing the block root= parser that resume
didn't support labeled resume devices. Fix that up and
get rid of a dependency on /bin/echo in the process.
master
David Dillow 16 years ago
parent
commit
9810ce7e38
  1. 1
      modules.d/95resume/install
  2. 8
      modules.d/95resume/parse-resume.sh
  3. 10
      modules.d/95resume/resume-genrules.sh

1
modules.d/95resume/install

@ -1,5 +1,4 @@ @@ -1,5 +1,4 @@
#!/bin/bash
dracut_install echo
inst_hook cmdline 10 "$moddir/parse-resume.sh"
inst_hook pre-udev 30 "$moddir/resume-genrules.sh"
inst_hook mount 90 "$moddir/resume.sh"

8
modules.d/95resume/parse-resume.sh

@ -5,3 +5,11 @@ if resume=$(getarg resume=) && ! getarg noresume; then @@ -5,3 +5,11 @@ if resume=$(getarg resume=) && ! getarg noresume; then
else
unset resume
fi

case "$resume" in
LABEL=*)
resume="$(echo $resume | sed 's,/,\\x2f,g')"
resume="/dev/disk/by-label/${resume#LABEL=}" ;;
UUID=*)
resume="/dev/disk/by-uuid/${resume#UUID=}" ;;
esac

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

@ -1,6 +1,8 @@ @@ -1,6 +1,8 @@
resume=$(getarg resume=) && ! getarg noresume && {
if [ -n "$resume" ]; then
(
/bin/echo -e 'KERNEL=="'${resume#/dev/}'", RUN+="/bin/echo %M:%m > /sys/power/resume"'
/bin/echo -e 'SYMLINK=="'${resume#/dev/}'", RUN+="/bin/echo %M:%m > /sys/power/resume"'
printf 'KERNEL=="%s", RUN+="/bin/echo %%M:%%m > /sys/power/resume"\n' \
${resume#/dev/}
printf 'SYMLINK=="%s", RUN+="/bin/echo %%M:%%m > /sys/power/resume"\n' \
${resume#/dev/}
) >> /etc/udev/rules.d/99-resume.rules
}
fi

Loading…
Cancel
Save