#!/bin/bash

createUpdateGrubMenu()
{
    echo "prompt  0" > /tmp/_grub_menu.lst
    echo "timeout 2" >> /tmp/_grub_menu.lst
    echo "default 1" >> /tmp/_grub_menu.lst
    echo "title hmc" >> /tmp/_grub_menu.lst
    echo "    root (hd0,1)" >> /tmp/_grub_menu.lst
    echo "    kernel /boot/bzImage ro root=${DISK}2 vga=0x317 apm=power-off" >> /tmp/_grub_menu.lst
    echo "title altdsk" >> /tmp/_grub_menu.lst
    echo "    root (hd0,5)" >> /tmp/_grub_menu.lst
    echo "    kernel /bzImage ro vga=0x317 apm=power-off media=disk optype=${TYPE} mode=${MODE}" >> /tmp/_grub_menu.lst
    echo "    initrd /initrd.gz" >> /tmp/_grub_menu.lst
    mv -f /boot/grub/menu.lst /boot/grub/menu.lst.prev
    mv -f /tmp/_grub_menu.lst /boot/grub/menu.lst
    chown root.root /boot/grub/menu.lst
    chmod 600 /boot/grub/menu.lst
}
createNormalGrubMenu()
{
    echo "prompt  0" > /tmp/_grub_menu.lst
    echo "timeout 1" >> /tmp/_grub_menu.lst
    echo "default 0" >> /tmp/_grub_menu.lst
    echo "title hmc" >> /tmp/_grub_menu.lst
    echo "    root (hd0,1)" >> /tmp/_grub_menu.lst
    echo "    kernel /boot/bzImage ro root=${DISK}2 vga=0x317 apm=power-off" >> /tmp/_grub_menu.lst
    mv -f /boot/grub/menu.lst /boot/grub/menu.lst.prev
    mv -f /tmp/_grub_menu.lst /boot/grub/menu.lst
    chown root.root /boot/grub/menu.lst
    chmod 600 /boot/grub/menu.lst
}

HD=`/opt/hsc/bin/GetHD`
DISK="/dev/${HD}"

MODE="auto"
TYPE="Upgrade"
STATE="enable"
while getopts m:edhl OPTION
do
   case $OPTION in
     m) TYPE=$OPTARG ;;
     e) STATE="enable" ;;
     d) STATE="disable" ;;
     l) grep -q "default 1" /boot/grub/menu.lst
	exit $?  ;;
     h) echo "$0 -m <mode> -e -d -l -h"
        echo "         -m : Install or Upgrade"
        echo "         -e : Sets to Upgrade/Install at next boot"
        echo "         -d : Resets to boot normally at next boot"
        echo "         -l : Returns state, 0 = Normal, 1 = Install/Upgrade"
        echo "         -h : Prints this help message"
        exit 0 ;;
     *) echo "Invalid argument" ;;
    esac
done 
#if [ "$TYPE" == "Install" ]; then MODE="manual"; fi
if [ "$STATE" == "enable" ]; then
   createUpdateGrubMenu
else
   createNormalGrubMenu
fi
