#!/bin/bash # IBM(c) 2010 EPL license http://www.eclipse.org/legal/epl-v10.html #(C)IBM Corp # #----------------------------------------------------------------------------- # #setbootfromdisk # The script is used to set harddisk(sda) to be the default bootup devices # on Redhat-family OSes with POWER system # #----------------------------------------------------------------------------- OS=`uname` if [[ $OS = "Linux" ]]; then if [[ $OSVER = fedora* ]] || [[ $OSVER = rhels5* ]] || [[ $OSVER = rhel6* ]] || [[ $OSVER=rhels6* ]] || [[ -f /etc/fedora-release ]] || [[ -f /etc/redhat-release ]]; then if [[ -f /usr/sbin/bootlist ]] ; then # determine which harddisk should be the default one # /dev/sda3 /boot ext4 rw,seclabel,relatime,barrier=1,data=ordered 0 0 BOOTENTRY=`cat /proc/mounts |grep /boot` if [[ -z $BOOTENTRY ]]; then BOOTENTRY=`grep ^\/dev /proc/mounts |grep " / "` fi BOOTDEVICE=`echo $BOOTENTRY | awk '{print $1}'` if [[ -f /sbin/multipath ]] ; then MPATH=`/sbin/multipath -ll` fi #software raid, assume sda and sdb if echo $BOOTDEVICE | grep "md" then if echo $MPATH | grep "sdc" then if echo $MPATH | grep "sdd" then logger -t xcat -p local4.info setbootfromdisk: Setting sda sdb sdc sdd to be the default bootup device echo "setbootfromdisk: setting up sda sdb sdc sdd to be the default bootup device" bootlist -m normal sda sdb sdc sdd exit 0 fi fi logger -t xcat -p local4.info setbootfromdisk: Setting sda sdb to be the default bootup device echo "setbootfromdisk: setting up sda sdb to be the default bootup device for software raid" bootlist -m normal sda sdb exit 0 fi if echo $BOOTDEVICE | grep "mpath" then found=0 for i in $MPATH do if echo $BOOTDEVICE | grep "$i" then found=1 else if echo $i | grep "mpath" then found=0 fi fi if [[ $found = 1 ]] then if echo $i | grep "sda" then logger -t xcat -p local4.info setbootfromdisk: Setting sda sdb to be the default bootup device echo "setbootfromdisk: setting up sda sdb to be the default bootup device" bootlist -m normal sda sdb exit 0 elif echo $i | grep "sdc" then logger -t xcat -p local4.info setbootfromdisk: Setting sdc sdd to be the default bootup device echo "setbootfromdisk: setting up sdc sdd to be the default bootup device" bootlist -m normal sdc sdd exit 0 fi fi done if echo $MPATH | grep "sdb" then logger -t xcat -p local4.info setbootfromdisk: Setting sda sdb to be the default bootup device echo "setbootfromdisk: setting up sda sdb to be the default bootup device" bootlist -m normal sda sdb exit 0 fi fi if [[ -z $BOOTDEVICE ]]; then logger -t xcat -p local4.err setbootfromdisk: cannot find the booting device else logger -t xcat -p local4.info setbootfromdisk: Setting $BOOTDEVICE to be the default bootup device echo "setbootfromdisk: setting up $BOOTDEVICE as the default bootup device" bootlist -m normal $BOOTDEVICE exit 0 fi else logger -t xcat -p local4.err Could not find /usr/sbin/bootlist echo "setbootfromdisk: could not find /usr/sbin/bootlist" exit -1 fi fi fi