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##*/}"
+ABSPRG="$0"
SIGINT="$PRG: Interrupt caught ... exiting"
-VERSION=1.3.11-UNRELEASED_UNSUPPORTED
+VERSION=1.3.13
DEBUG=0
VERBOSE=0
TMP="${TMPDIR:-/tmp}"
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"
;;
--debug)
DEBUG=1
+ ARGS="$ARGS $1"
shift
;;
-v|--verbose)
VERBOSE=1
+ ARGS="$ARGS $1"
shift
;;
-f|--force)
FORCE=yes
+ ARGS="$ARGS $1"
shift
;;
-b|--boot)
if [ -n "$2" ] ; then
- boot="$2"
+ if [ "$boot" = "unconfigured" ]; then
+ boot="$2"
+ else
+ boot="$boot $2"
+ fi
ARGBT=1
shift 2
else
if [ -n "$2" ] ; then
ofboot="$2"
ARGOB=1
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
if [ -n "$2" ] ; then
install="$2"
ARGBF=1
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
CONF="$2"
bootconf="$2"
ERR=" Error in $CONF:"
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
if [ -n "$2" ] ; then
magicboot="$2"
ARGWP=1
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
if [ -n "$2" ] ; then
fstype="$2"
ARGFS=1
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
--nobless)
bless=no
ARGBS=1
+ ARGS="$ARGS $1"
shift
;;
-M|--mount)
usemount=yes
ARGMT=1
+ ARGS="$ARGS $1"
shift
;;
--protect)
protect=yes
ARGPT=1
+ ARGS="$ARGS $1"
shift
;;
--hide)
hide=yes
ARGHD=1
+ ARGS="$ARGS $1"
shift
;;
--nonvram)
nonvram=1
ARGNV=1
+ ARGS="$ARGS $1"
shift
;;
--device)
device="$2"
bootconf=auto
echo 1>&2 "$PRG: WARNING: Deprecated option --device"
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
timeout="$2"
bootconf=auto
echo 1>&2 "$PRG: WARNING: Deprecated option --device"
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
image="$2"
bootconf=auto
echo 1>&2 "$PRG: WARNING: Deprecated option --device"
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
label="$2"
bootconf=auto
echo 1>&2 "$PRG: WARNING: Deprecated option --device"
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
partition="$2"
bootconf=auto
echo 1>&2 "$PRG: WARNING: Deprecated option --device"
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
root="$2"
bootconf=auto
echo 1>&2 "$PRG: WARNING: Deprecated option --device"
+ ARGS="$ARGS $1 $2"
shift 2
else
echo 1>&2 "$PRG: option requires an argument $1"
[ $(parseconf flag enableofboot) = 0 ] && of=yes
[ $(parseconf flag brokenosx) = 0 ] && brokenosx=yes
+bootparts=0
+for i in $boot; do
+ bootparts=$(($bootparts + 1))
+done
+if [ "$bootparts" -gt 1 ]; then
+ [ "$VERBOSE" = 1 ] && echo "$PRG: Iterating through list of boot partitions..."
+ rc=0
+ for i in $boot; do
+ [ "$VERBOSE" = 1 ] && echo "$ABSPRG $ARGS -b $i"
+ $ABSPRG $ARGS -b $i || rc=$?
+ done
+ exit $rc
+fi
+
## ffs!! rtfm! foad!
if [ "$boot" = unconfigured ] ; then
echo 1>&2 "$PRG: You must specify the device for the bootstrap partition. (ie: boot=/dev/hdaX)"