X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-functions;h=7028843ceb336798e7a0f241137909f91974f2b3;hb=e170719f72d4b5805f9278ed87c21497308ab1b0;hp=c5055a0a642c14458eb7fc708d10178c77e01826;hpb=47296da8bee39d7cca4f57e572e2fdafe4eb36a5;p=live-boot-grml.git diff --git a/scripts/live-functions b/scripts/live-functions index c5055a0..7028843 100644 --- a/scripts/live-functions +++ b/scripts/live-functions @@ -1,8 +1,48 @@ -#!/bin/sh . /scripts/functions . /live.vars +# Override log_*_msg until #494257 is merged + +_log_msg() +{ + if [ "$quiet" = "y" ]; then return; fi + printf "$@" +} + +log_success_msg() +{ + _log_msg "Success: $@\n" +} + +log_failure_msg() +{ + _log_msg "Failure: $@\n" +} + +log_warning_msg() +{ + _log_msg "Warning: $@\n" +} + +log_begin_msg() +{ + if [ -x /sbin/usplash_write ]; then + /sbin/usplash_write "TEXT $@" + fi + _log_msg "Begin: $@ ... " +} + +log_end_msg() +{ + if [ -x /sbin/usplash_write ]; then + /sbin/usplash_write "SUCCESS ok" + fi + _log_msg "done.\n" +} + +## + log_wait_msg () { # Print a message and wait for enter @@ -10,9 +50,11 @@ log_wait_msg () then /sbin/usplash_write "INPUTENTER ${@}" read nunya < /dev/.initramfs/usplash_outfifo - fi + else if [ -x /sbin/splashy_update ] ; then + /sbin/splashy_update "getstring ${@}" | read nunya + fi ; fi - _log_msg "Waiting: ${@} ..." + _log_msg "Waiting: ${@} ... \n" } really_export () @@ -58,3 +100,45 @@ 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 , making sure to note the\n" + printf " exact version, name and distribution of the image you were 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 "$@" +}