From: David Dillow Date: Mon, 1 Jun 2009 03:19:31 +0000 (-0400) Subject: block root: split out resume parsing and udev rules X-Git-Tag: 0.1~141^2~7 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5c123162ededa03b56b21117644740b69fdf3fbf;p=thirdparty%2Fdracut.git block root: split out resume parsing and udev rules We have a resume module, and these rules should live in it. Modify the sort order a bit to ensure the resume rules continue to execute first. --- diff --git a/modules.d/95resume/install b/modules.d/95resume/install index 532fcc3f7..e656d5337 100755 --- a/modules.d/95resume/install +++ b/modules.d/95resume/install @@ -1,4 +1,5 @@ #!/bin/bash +dracut_install echo inst_hook pre-udev 10 "$moddir/parse-resume.sh" +inst_hook pre-udev 30 "$moddir/resume-genrules.sh" inst_hook mount 90 "$moddir/resume.sh" - diff --git a/modules.d/95resume/resume-genrules.sh b/modules.d/95resume/resume-genrules.sh new file mode 100755 index 000000000..108c3f7b6 --- /dev/null +++ b/modules.d/95resume/resume-genrules.sh @@ -0,0 +1,6 @@ +resume=$(getarg resume=) && ! getarg noresume && { +( + /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"' +) >> /etc/udev/rules.d/99-resume.rules +} diff --git a/modules.d/95rootfs-block/block-genrules.sh b/modules.d/95rootfs-block/block-genrules.sh new file mode 100755 index 000000000..47083dfc5 --- /dev/null +++ b/modules.d/95rootfs-block/block-genrules.sh @@ -0,0 +1,6 @@ +if [ "${root#/dev/}" != "$root" ]; then + ( + echo 'KERNEL=="'${root#/dev/}'", RUN+="/bin/mount '$fstype' -o '$rflags' '$root' '$NEWROOT'" ' + echo 'SYMLINK=="'${root#/dev/}'", RUN+="/bin/mount '$fstype' -o '$rflags' '$root' '$NEWROOT'" ' + ) >> /etc/udev/rules.d/99-mount.rules +fi diff --git a/modules.d/95rootfs-block/genrules.sh b/modules.d/95rootfs-block/genrules.sh deleted file mode 100755 index 4662a327e..000000000 --- a/modules.d/95rootfs-block/genrules.sh +++ /dev/null @@ -1,14 +0,0 @@ -if [ "${root#/dev/}" != "$root" ]; then - - resume=$(getarg resume=) && ! getarg noresume && { - ( - /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"' - ) >> /etc/udev/rules.d/99-resume.rules - } - - ( - echo 'KERNEL=="'${root#/dev/}'", RUN+="/bin/mount '$fstype' -o '$rflags' '$root' '$NEWROOT'" ' - echo 'SYMLINK=="'${root#/dev/}'", RUN+="/bin/mount '$fstype' -o '$rflags' '$root' '$NEWROOT'" ' - ) >> /etc/udev/rules.d/99-mount.rules -fi \ No newline at end of file diff --git a/modules.d/95rootfs-block/install b/modules.d/95rootfs-block/install index bf36cae7e..9d538556a 100755 --- a/modules.d/95rootfs-block/install +++ b/modules.d/95rootfs-block/install @@ -1,5 +1,5 @@ #!/bin/sh dracut_install echo -inst_hook pre-udev 10 "$moddir/parse-root-opts.sh" -inst_hook pre-udev 20 "$moddir/genrules.sh" +inst_hook pre-udev 20 "$moddir/parse-root-opts.sh" +inst_hook pre-udev 30 "$moddir/block-genrules.sh" inst_hook mount 99 "$moddir/mount-root.sh" diff --git a/modules.d/95rootfs-block/parse-root-opts.sh b/modules.d/95rootfs-block/parse-root-opts.sh index 9c49aa95d..3a8b1a6f8 100755 --- a/modules.d/95rootfs-block/parse-root-opts.sh +++ b/modules.d/95rootfs-block/parse-root-opts.sh @@ -1,10 +1,4 @@ #!/bin/sh -if resume=$(getarg resume=) && ! getarg noresume; then - export resume - echo "$resume" >/.resume -else - unset resume -fi root=$(getarg root=) case $root in