]> git.ozlabs.org Git - yaboot.git/blobdiff - ybin/ybin
Fix typos in yaboot man page
[yaboot.git] / ybin / ybin
index a479bb57b97191de52acf5c0a484a47487683faf..fbd8be8fcb0e1927bd07a4467bacfa037fc45880 100755 (executable)
--- a/ybin/ybin
+++ b/ybin/ybin
@@ -3,7 +3,7 @@
 ###############################################################################
 ##
 ## ybin (YaBoot INstaller) installs/updates the yaboot bootloader.
-## Copyright (C) 2000, 2001 Ethan Benson
+## Copyright (C) 2000, 2001, 2002, 2003 Ethan Benson
 ##
 ## This program is free software; you can redistribute it and/or
 ## modify it under the terms of the GNU General Public License
@@ -28,12 +28,19 @@ if [ -n "$PATH_PREFIX" ] ; then
 fi
 PRG="${0##*/}"
 SIGINT="$PRG: Interrupt caught ... exiting"
-VERSION=1.3.6pre2
+VERSION=1.3.13
 DEBUG=0
 VERBOSE=0
 TMP="${TMPDIR:-/tmp}"
 export LC_COLLATE=C
 
+## avoid older versions of ofpath shipped in debian boot-floppies etc.
+if [ -x "${PATH_PREFIX}/usr/sbin/ofpath" ] ; then
+    OFPATH="${PATH_PREFIX}/usr/sbin/ofpath"
+else
+    OFPATH=ofpath
+fi
+
 ## catch signals, clean up junk in /tmp.
 trap "cleanup" 0
 trap "exit 129" 1
@@ -132,7 +139,7 @@ echo \
 "$PRG $VERSION
 Written by Ethan Benson
 
-Copyright (C) 2000, 2001 Ethan Benson
+Copyright (C) 2000, 2001, 2002, 2003 Ethan Benson
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 }
@@ -455,6 +462,10 @@ checkconf()
                    echo 1>&2 "$PRG: /dev/nvram: Permission denied"
                    echo 1>&2 "$PRG: Warning: nvram will not be updated"
                    nonvram=1
+               elif ! (dd if=/dev/nvram of=/dev/null bs=1 count=10 > /dev/null 2>&1) ; then
+                   echo 1>&2 "$PRG: /dev/nvram: No such device"
+                   echo 1>&2 "$PRG: Warning: nvram will not be updated"
+                   nonvram=1
                else
                    nonvram=1
                    echo 1>&2 "$PRG: Warning: Incompatible version of \`nvsetenv', nvram will not be updated"
@@ -544,7 +555,7 @@ if (command -v readlink > /dev/null 2>&1) ; then
 else
     readlink()
     {
-       SYMTARGET="$(v=`ls -l "$2" 2>/dev/null` ; echo ${v##*> })"
+       local SYMTARGET="$(v=`ls -l "$2" 2>/dev/null` ; echo ${v##*> })"
        if [ -n "$SYMTARGET" ] ; then
            echo "$SYMTARGET"
            return 0
@@ -600,7 +611,7 @@ convertpath()
     ## figure out bootstrap device OF pathname if user did not supply it.
     if [ -z "$ofboot" ] ; then
        [ "$VERBOSE" = 1 ] && echo "$PRG: Finding OpenFirmware device path to \`$boot'..."
-       ofboot="$(ofpath $boot)"
+       ofboot="$($OFPATH $boot)"
        if [ $? != 0 ] ; then
            echo 1>&2 "$PRG: Unable to find OpenFirmware path for boot=$boot"
            echo 1>&2 "$PRG: Please add ofboot=<path> where <path> is the OpenFirmware path to $boot to $CONF"
@@ -615,7 +626,7 @@ convertpath()
            /dev/*)
                [ "$VERBOSE" = 1 ] && echo "$PRG: Finding OpenFirmware device path to \`$bsd'..."
                local sbsd="$bsd"
-               bsd="$(ofpath $bsd)"
+               bsd="$($OFPATH $bsd)"
                if [ $? != 0 ] ; then
                    echo 1>&2 "$PRG: Unable to determine OpenFirmware path for bsd=$sbsd"
                    echo 1>&2 "$PRG: Try specifying the real OpenFirmware path for bsd=$sbsd in $CONF"
@@ -634,7 +645,7 @@ convertpath()
            /dev/*)
                [ "$VERBOSE" = 1 ] && echo "$PRG: Finding OpenFirmware device path to \`$macos'..."
                local smacos="$macos"
-               macos="$(ofpath $macos)"
+               macos="$($OFPATH $macos)"
                if [ $? != 0 ] ; then
                    echo 1>&2 "$PRG: Unable to determine OpenFirmware path for macos=$smacos"
                    echo 1>&2 "$PRG: Try specifying the real OpenFirmware path for macos=$smacos in $CONF"
@@ -653,7 +664,7 @@ convertpath()
            /dev/*)
                [ "$VERBOSE" = 1 ] && echo "$PRG: Finding OpenFirmware device path to \`$macosx'..."
                local smacosx="$macosx"
-               macosx="$(ofpath $macosx)"
+               macosx="$($OFPATH $macosx)"
                if [ $? != 0 ] ; then
                    echo 1>&2 "$PRG: Unable to determine OpenFirmware path for macosx=$smacosx"
                    echo 1>&2 "$PRG: Try specifying the real OpenFirmware path for macosx=$smacosx in $CONF"
@@ -672,7 +683,7 @@ convertpath()
            /dev/*)
                [ "$VERBOSE" = 1 ] && echo "$PRG: Finding OpenFirmware device path to \`$darwin'..."
                local sdarwin="$darwin"
-               darwin="$(ofpath $darwin)"
+               darwin="$($OFPATH $darwin)"
                if [ $? != 0 ] ; then
                    echo 1>&2 "$PRG: Unable to determine OpenFirmware path for darwin=$sdarwin"
                    echo 1>&2 "$PRG: Try specifying the real OpenFirmware path for darwin=$sdarwin in $CONF"