X-Git-Url: http://git.ozlabs.org/?p=yaboot.git;a=blobdiff_plain;f=ybin%2Fyabootconfig;h=1c5f4a33bc0c4a95ae95e0900d5615a243146303;hp=f343a7dad1f3ba74f9894bbac5849b6f2c14d4fc;hb=cd202d3404a953404f59453e8998a9fa13fa8ccf;hpb=e19f440a0df591a3e5174218d3bcc6d01ffb07ee diff --git a/ybin/yabootconfig b/ybin/yabootconfig index f343a7d..1c5f4a3 100755 --- a/ybin/yabootconfig +++ b/ybin/yabootconfig @@ -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