#!/bin/ksh -p # # Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved. # PATH="/usr/bin:/usr/sbin:${PATH}"; export PATH ARCH=$(uname -p) KARCH=$(uname -m) LOGDEV=/dev/sysmsg LOGGER=/usr/bin/logger PROGNAME=$0 print_err() { msg=`gettext "Error installing bootloader:"` echo $msg $1 $LOGGER -t $PROGNAME -i -p syslog.err "$msg $1" } if [ "$ARCH" != "i386" -a "$ARCH" != "sparc" ] ; then msg=`gettext "Unknown architecture:"` print_err "$msg $ARCH" exit 1 fi POOL="$1" DEV=$(echo "$2" | sed -e 's+/dsk/+/rdsk/+') if [ -z "${POOL}" -o -z "${DEV}" ]; then msg=`gettext "Invalid usage"` print_err "$* $msg" exit 1 fi CURPOOL=$(df -k / | awk 'NR == 2 {print $1}' | sed 's,/.*,,') BPOOL=$(zfs get -H -o value com.oracle:boot-pool "$CURPOOL" | sed 's/^-$//g') if [ "$CURPOOL" != "$POOL" -a "$BPOOL" != "$POOL" ] ; then fmt=`gettext "Modified pool (%s), must be current root pool (%s)"` print_err "`printf "$fmt" ${POOL} ${CURPOOL}`" exit 1 fi # # /usr/sbin/bootadm install-bootloader ${DEV} 2> $LOGDEV if [ $? != 0 ]; then fmt=`gettext "bootadm install-bootloader failed on %s"` print_err "`printf "$fmt" ${DEV}`" exit 1 fi exit 0