]> git.ozlabs.org Git - petitboot/blobdiff - utils/pb-console
discover: Properly handle return values
[petitboot] / utils / pb-console
index b1c8003ef841d155b81051a9dc091beec83ff7d0..c6def47a74d010a1bfd7bd7111ca57717c5df0e5 100644 (file)
@@ -9,6 +9,7 @@ shell=sh
 getty=/sbin/getty
 use_getty=0
 detach=0
+pb_config=pb-config
 
 usage() {
        cat >&2 <<EOF
@@ -82,6 +83,7 @@ then
        if [ "$detach" = 1 ]
        then
                $getty -l $0 "$@" &
+               exit
        else
                exec $getty -l $0 "$@"
        fi
@@ -95,9 +97,31 @@ do
        fi
 done
 
+# we force local terminals to use the linux termcap definition
+case "$(tty)" in
+/dev/tty[0-9]*)
+       export TERM=linux
+       ;;
+esac
+
+# we may have been run from udev - ensure we have a sensible PATH
+if [ -z "$PATH" ]
+then
+       PATH=/usr/bin:/usr/sbin:/bin:/sbin
+fi
+PATH=/var/lib/pb-plugins/bin:$PATH
+export PATH
+
+verbose_opt=
+if $pb_config debug | grep -q enabled
+then
+       verbose_opt=--verbose
+fi
+
 while :
 do
-       $ui
+       $ui $verbose_opt
+       reset
        echo "Exiting petitboot. Type 'exit' to return."
        $shell
 done