]> git.ozlabs.org Git - yaboot.git/blobdiff - ybin/yabootconfig
Merge ubuntu ofpath fixes
[yaboot.git] / ybin / yabootconfig
index f343a7dad1f3ba74f9894bbac5849b6f2c14d4fc..1c5f4a33bc0c4a95ae95e0900d5615a243146303 100755 (executable)
@@ -27,7 +27,7 @@ if [ -n "$PATH_PREFIX" ] ; then
     PATH="${PATH}:${PATH_PREFIX}/sbin:${PATH_PREFIX}/bin:${PATH_PREFIX}/usr/sbin:${PATH_PREFIX}/usr/bin:${PATH_PREFIX}/usr/local/sbin:${PATH_PREFIX}/usr/local/bin"
 fi
 PRG="${0##*/}"
-VERSION=1.0.8-UNSUPPORTED_UNRELEASED_DEVEL
+VERSION=1.0.8
 CHROOT=/
 ## $CONFIG is relative to $CHROOT
 CONFIG=etc/yaboot.conf
@@ -69,7 +69,7 @@ fi
 
 ## make fake `id' if its missing, outputs 0 since if its missing we
 ## are probably running on boot floppies and thus are root.
-if (command -v id > /dev/null 2>&1) ; then 
+if (command -v id > /dev/null 2>&1) ; then
     true
 else
     id()
@@ -270,7 +270,7 @@ cleanup()
 
 if [ $# != 0 ] ; then
     while true ; do
-        case "$1" in 
+        case "$1" in
             -V|--version)
                 version
                 exit 0
@@ -390,6 +390,21 @@ if [ -z "$ROOT" ] ; then
     fi
 fi
 
+## dereference label or uuid if necessary
+case "$ROOT" in
+    LABEL=*|UUID=*)
+       if ! (command -v findfs > /dev/null 2>&1) ; then
+           echo 1>&2 "$PRG: Unable to locate findfs, aborting..."
+           exit 1
+       fi
+       ROOT="$(findfs "$ROOT")"
+       if [ -z "$ROOT" -o $? != 0 ] ; then
+           echo 1>&2 "$PRG: Could not determine root partition, aborting..."
+           exit 1
+       fi
+       ;;
+esac
+
 ## make sure root device exists
 if [ ! -e "$ROOT" ] ; then
     echo 1>&2 "$PRG: $ROOT: No such file or directory"
@@ -679,7 +694,7 @@ if [ "$(v=`cat /proc/cpuinfo 2>/dev/null | grep pmac-generation` ; echo ${v##*:}
        echo 1>&2 "$PRG: yaboot is not installed correctly"
        exit 1
     fi
-fi    
+fi
 
 ## check for properly (read debian) packaged yaboot.
 if [ -d ${CHROOT}usr/share/doc/yaboot/examples ] ; then
@@ -710,7 +725,7 @@ GLOBAL="## yaboot.conf generated by $PRG $VERSION
 ##
 ## run: \"man yaboot.conf\" for details. Do not make changes until you have!!
 ${HEADER}##
-## For a dual-boot menu, add one or more of: 
+## For a dual-boot menu, add one or more of:
 ## bsd=/dev/hdaX, macos=/dev/hdaY, macosx=/dev/hdaZ\n
 boot=${BOOT}${DEVICE:-}
 partition=$PARTITION