]> xenbits.xen.org Git - xenclient/build.git/commitdiff
Fix XC-89
authorJames Mckenzie <jamesmck@taoand.(none)>
Thu, 10 Sep 2009 17:12:23 +0000 (18:12 +0100)
committerJames Mckenzie <jamesmck@taoand.(none)>
Thu, 10 Sep 2009 17:12:23 +0000 (18:12 +0100)
target/generic/target_xenclient_installer_skeleton/install/stages/Trash-and-install
target/generic/target_xenclient_installer_skeleton/install/stages/Upgrade
target/generic/target_xenclient_installer_skeleton/install/stages/functions

index a591dbe3dc722f567bddeb8e9eefd65868ffea7c..a97bf9d2839d67625ad8a5695be7d75383082e9b 100755 (executable)
@@ -71,32 +71,6 @@ write_dom0_rootfs()
     return 0
 }
 
-mount_dom0_rootfs()
-{
-    mkdir -p /mnt/xenclient || return 1
-    mount /dev/xenclient/root /mnt/xenclient || return 1
-    mkdir -p /mnt/xenclient/config || return 1
-    mount /dev/xenclient/config /mnt/xenclient/config || return 1
-    mkdir -p /mnt/xenclient/storage || return 1
-    mount /dev/xenclient/storage /mnt/xenclient/storage || return 1
-    mount --bind /dev /mnt/xenclient/dev || return 1
-    mount --bind /proc /mnt/xenclient/proc || return 1
-    return 0
-}
-
-umount_dom0_rootfs()
-{
-    umount /mnt/xenclient/dev
-    umount /mnt/xenclient/proc
-    umount /mnt/xenclient/config
-    sync
-    for TAP in /sys/class/blktap2/blktap* ; do
-        [ ! -e "${TAP}/remove" ] || echo 1 > "${TAP}/remove"
-    done
-    umount /mnt/xenclient/storage
-    umount /mnt/xenclient
-}
-
 install_dom0()
 {
     DOM0_ROOTFS="$1"
index 2ff45d6a43a9176907cb8cdf2f7bbd25bb035d7b..14eab2c03941df09c0eea7e89de19015d552d59d 100755 (executable)
@@ -68,6 +68,22 @@ upgrade_iovm()
 }
 iterate_over_packages upgrade_iovm
 
+GRUB_ACTIVE_PARTITION="hd0,1"
+XC_PARTITION=$( pvdisplay -c | awk -F: '{ if ( $2 == "xenclient" ) print $1; }' )
+
+do_cmd mount_dom0_rootfs >&2 || return 1
+do_cmd chroot /mnt/xenclient "/usr/share/xenclient/install-bootloader" \
+                          "${XC_PARTITION}" "${GRUB_ACTIVE_PARTITION}" >&2
+RET="$?"
+do_cmd umount_dom0_rootfs >&2
+
+if [ $RET -ne 0 ]; then
+            echo "Error reinstalling the bootloader">&2
+            exit ${Abort}
+fi
+
+
+
 mixedgauge "Upgrade successful" 100
 
 # FIXME:
index ef0c23d60cb691f48a44a040756166d2ce33d2ef..196427ca661e0121ba13d53bf96bb1434c1ed43d 100644 (file)
@@ -440,3 +440,34 @@ iterate_over_packages()
     return 0
         
 }
+
+#-----------------------------------------------------------
+
+mount_dom0_rootfs()
+{
+    mkdir -p /mnt/xenclient || return 1
+    mount /dev/xenclient/root /mnt/xenclient || return 1
+    mkdir -p /mnt/xenclient/config || return 1
+    mount /dev/xenclient/config /mnt/xenclient/config || return 1
+    mkdir -p /mnt/xenclient/storage || return 1
+    mount /dev/xenclient/storage /mnt/xenclient/storage || return 1
+    mount --bind /dev /mnt/xenclient/dev || return 1
+    mount --bind /proc /mnt/xenclient/proc || return 1
+    return 0
+}
+
+#-----------------------------------------------------------
+
+umount_dom0_rootfs()
+{
+    umount /mnt/xenclient/dev
+    umount /mnt/xenclient/proc
+    umount /mnt/xenclient/config
+    sync
+    for TAP in /sys/class/blktap2/blktap* ; do
+        [ ! -e "${TAP}/remove" ] || echo 1 > "${TAP}/remove"
+    done
+    umount /mnt/xenclient/storage
+    umount /mnt/xenclient
+}
+