Browse Source

dmsquash-live-root: Provide enhanced feedback on missing overlay.

Provide a more prominent alert to the user if an overlay is
missing or the overlay module is not available and a temporary
overlay will be provided.  This, to avoid losing data intended to
persist.
master
Frederick Grose 8 years ago
parent
commit
f1b65e92af
  1. 30
      modules.d/90dmsquash-live/dmsquash-live-root.sh

30
modules.d/90dmsquash-live/dmsquash-live-root.sh

@ -155,10 +155,9 @@ do_live_overlay() {
if [ -n "$overlayfs" ]; then if [ -n "$overlayfs" ]; then
modprobe overlay modprobe overlay
if [ $? != 0 ]; then if [ $? != 0 ]; then
echo "OverlayFS is not available; using temporary Device-mapper overlay." > /dev/kmsg m='OverlayFS is not available; using temporary Device-mapper overlay.'
unset -v overlayfs setup unset -v overlayfs setup
[ -n "$reloadsysrootmountunit" ] && unset -v reloadsysrootmountunit [ -n "$reloadsysrootmountunit" ] && unset -v reloadsysrootmountunit
sleep 5
fi fi
fi fi


@ -166,8 +165,31 @@ do_live_overlay() {
if [ -n "$setup" ]; then if [ -n "$setup" ]; then
warn "Using temporary overlay." warn "Using temporary overlay."
elif [ -n "$devspec" -a -n "$pathspec" ]; then elif [ -n "$devspec" -a -n "$pathspec" ]; then
echo "Unable to find persistent overlay; using temporary." > /dev/kmsg [ -z "$m" ] &&
sleep 5 m=' Unable to find a persistent overlay; using a temporary one.'
m=($'\n' "$m" $'\n'
' All root filesystem changes will be lost on shutdown.'
$'\n' ' Press any key to continue')
echo -e "\n\n\n${m[*]}\n\n\n" > /dev/kmsg
if [ -n "$DRACUT_SYSTEMD" ]; then
if plymouth --ping ; then
if getargbool 0 rhgb || getargbool 0 splash ; then
m[0]='>>>'$'\n''>>>'$'\n''>>>'$'\n\n'
m[5]=$'\n''<<<'$'\n''<<<'$'\n''<<<'
plymouth display-message --text="${m[*]}"
else
plymouth ask-question --prompt="${m[*]}" --command=true
fi
else
m[0]='>>>'
m[5]='<<<'
unset -v m[2] m[4]
systemd-ask-password --timeout=0 "${m[*]}"
fi
else
plymouth --ping && plymouth --quit
read -s -r -p $'\n\n'"${m[*]}:" -n 1 reply
fi
fi fi
if [ -n "$overlayfs" ]; then if [ -n "$overlayfs" ]; then
mkdir -m 0755 /run/overlayfs mkdir -m 0755 /run/overlayfs

Loading…
Cancel
Save