Browse Source

Move processing root options into a pre-udev hook.

Also make changes that will make it easier to udevify resuming
from hibernate and mounting root.
master
Victor Lowther 16 years ago
parent
commit
f81a894eb0
  1. 5
      modules.d/99base/mount-root.sh
  2. 29
      modules.d/99base/parse-root-opts.sh
  3. 3
      modules.d/99base/resume.sh

5
modules.d/99base/mount-root.sh

@ -1,3 +1,4 @@
#!/bin/sh #!/bin/sh
[ "$root" ] && mount $fstype -o "$rflags" "$root" "$NEWROOT" && \ if [ ! -s /.resume -a "$root" ]; then
ROOTFS_MOUNTED=yes mount $fstype -o "$rflags" "$root" "$NEWROOT" && ROOTFS_MOUNTED=yes
fi

29
modules.d/99base/parse-root-opts.sh

@ -1,24 +1,27 @@
#!/bin/sh #!/bin/sh
[ "$root" ] || { if resume=$(getarg resume=) && ! getarg noresume; then
root=$(getarg root=) export resume
case $root in echo "$resume" >/.resume
else
unset resume
fi

root=$(getarg root=)
case $root in
LABEL=*) root=${root#LABEL=} LABEL=*) root=${root#LABEL=}
root="$(echo $root |sed 's,/,\\x2f,g')" root="$(echo $root |sed 's,/,\\x2f,g')"
root="/dev/disk/by-label/${root}" ;; root="/dev/disk/by-label/${root}" ;;
UUID=*) root="/dev/disk/by-uuid/${root#UUID=}" ;; UUID=*) root="/dev/disk/by-uuid/${root#UUID=}" ;;
'') echo "Warning: no root specified" '') echo "Warning: no root specified"
root="/dev/sda1" ;; root="/dev/sda1" ;;
esac esac
}


[ "$rflags" ] || { if rflags="$(getarg rootflags=)"; then
if rflags="$(getarg rootflags=)"; then
getarg rw && rflags="${rflags},rw" || rflags="${rflags},ro" getarg rw && rflags="${rflags},rw" || rflags="${rflags},ro"
else else
getarg rw && rflags=rw || rflags=ro getarg rw && rflags=rw || rflags=ro
fi fi
}
fstype="$(getarg rootfstype=)" && fstype="-t ${fstype}"


[ "$fstype" ] || { export fstype rflags root
fstype="$(getarg rootfstype=)" && fstype="-t ${fstype}"
}

3
modules.d/99base/resume.sh

@ -1,7 +1,8 @@
#!/bin/sh #!/bin/sh
resume=$(getarg resume=) && ! getarg noresume && [ -b "$resume" ] && { [ -s /.resume -a -b "$resume" ] && {
# parsing the output of ls is Bad, but until there is a better way... # parsing the output of ls is Bad, but until there is a better way...
ls -lH "$resume" | ( ls -lH "$resume" | (
read x x x x maj min x; read x x x x maj min x;
echo "${maj%,}:$min"> /sys/power/resume) echo "${maj%,}:$min"> /sys/power/resume)
>/.resume
} }

Loading…
Cancel
Save