Print friendly error message on live-initramfs panic.
authorChris Lamb <chris@chris-lamb.co.uk>
Fri, 8 Aug 2008 17:36:08 +0000 (18:36 +0100)
committerDaniel Baumann <daniel@debian.org>
Wed, 9 Mar 2011 16:48:01 +0000 (17:48 +0100)
scripts/live
scripts/live-functions

index d3c86a2..fb61d01 100755 (executable)
@@ -1350,6 +1350,9 @@ mountroot ()
        tail -f live.log >&7 &
        tailpid="${!}"
 
+       # Ensure 'panic' function is overridden
+       . /scripts/live-functions
+
        Arguments
 
        set_usplash_timeout
index c5055a0..d86a3f6 100644 (file)
@@ -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 "$@"
+}