#!/bin/bash
#
# Simple script to Update Linux-Xen DomU with Dom0 kernel
# Use with own risk - Modify to fit your needs.
# Dom0 kernel should be up2date b4 you upgrade DomU
#

LVMVG="/dev/VG0/"
DOMU=$1

check_xm_alive() {
 xm list $DOMU &> /dev/null
 EC=$?
 if [ $EC = "0" ];then
  # DomU alive
  return 0
 fi
 return 1
}

if [ "$DOMU" != "" ] && [ -b $LVMVG/$DOMU-disk ];then 
 
 check_xm_alive
 if [ $EC = "0" ];then 
  echo "Shutting down $DOMU..."
  xm shutdown $DOMU
  while check_xm_alive; do sleep 5; date; echo "Waithing...."; done
  echo "$DOMU is halted..."
 fi
 
 echo "$DOMU seems to be halted... proceeding..."
 sleep 3
 mkdir -p /mnt/$1
 mount -v $LVMVG/$1-disk /mnt/$1
 KERNEL=`uname -r`
 cp -va /lib/modules/$KERNEL  /mnt/$1/lib/modules/
 depmod -v -b /mnt/$1/|wc -l
 umount -v /mnt/$1

 echo " Now edit: /etc/xen/$1.cfg "
 echo " To use correct kernel and ramdisk: "
 echo ""
 echo "kernel      = '/boot/vmlinuz-$KERNEL' "
 echo "ramdisk     = '/boot/initrd.img-$KERNEL' "
 echo ""

 exit 0
fi

echo " Usage: $0 <domU> "

# edward dot fjellskal <@> redpill-linpro dot com

