summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Lamb <chris@chris-lamb.co.uk>2008-08-08 18:36:08 +0100
committerDaniel Baumann <daniel@debian.org>2011-03-09 17:48:01 +0100
commit5a8c6778fe784c4a0a9f0d5ff84b95b4ed18d26e (patch)
tree1eeedb3b3b8822dd8e39f97c9d32c8a38fc30f50
parenta3f5e94aedca5cebe374467749c1c94203be2a94 (diff)
downloadlive-boot-5a8c6778fe784c4a0a9f0d5ff84b95b4ed18d26e.tar.gz
live-boot-5a8c6778fe784c4a0a9f0d5ff84b95b4ed18d26e.zip
Print friendly error message on live-initramfs panic.
-rwxr-xr-xscripts/live3
-rw-r--r--scripts/live-functions43
2 files changed, 46 insertions, 0 deletions
diff --git a/scripts/live b/scripts/live
index d3c86a2..fb61d01 100755
--- a/scripts/live
+++ b/scripts/live
@@ -1350,6 +1350,9 @@ mountroot ()
tail -f live.log >&7 &
tailpid="${!}"
+ # Ensure 'panic' function is overridden
+ . /scripts/live-functions
+
Arguments
set_usplash_timeout
diff --git a/scripts/live-functions b/scripts/live-functions
index c5055a0..d86a3f6 100644
--- a/scripts/live-functions
+++ b/scripts/live-functions
@@ -58,3 +58,46 @@ lang2locale() {
echo "C"
fi
}
+
+# Override panic from scripts/functions
+panic() {
+
+ DEB_1="\033[1;31m ,''\`. \033[0m"
+ DEB_2="\033[1;31m: :' : \033[0m"
+ DEB_3="\033[1;31m\`. \`' \033[0m"
+ DEB_4="\033[1;31m \`- \033[0m"
+
+ LIVELOG="\033[1;37m/live.log\033[0m"
+ DEBUG="\033[1;37mdebug\033[0m"
+
+ # Reset redirections to avoid buffering
+ exec 1>&6 6>&-
+ exec 2>&7 7>&-
+ kill ${tailpid}
+
+ printf "\n\n"
+ printf " ${DEB_1}\n"
+ printf " ${DEB_2} \033[1;37mBOOT FAILED !!!\033[0m\n"
+ printf " ${DEB_3}\n"
+ printf " ${DEB_4} This Debian Live image failed to boot.\n\n"
+
+ printf " Please file a bug against the 'live-initramfs' package or email the Debian\n"
+ printf " Live mailing list at <debian-live-devel@lists.alioth.debian.org>, making\n"
+ printf " sure to note the exact version, name and distribution of the image you were\n"
+ printf " attempting to boot.\n\n"
+
+ printf " The file ${LIVELOG} contains some debugging information but booting with the\n"
+ printf " ${DEBUG} command-line parameter will greatly increase its verbosity which is\n"
+ printf " extremely useful when diagnosing issues.\n\n"
+
+ if [ -n "${panic}" ]; then
+ printf " live-initramfs will now restart your system. "
+ else
+ printf " live-initramfs will now start a shell. "
+ fi
+ printf "The error message was:\n\n "
+
+ # Call original panic
+ . /scripts/functions
+ panic "$@"
+}