X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-autoinstaller.git/blobdiff_plain/da4a13c018dda4214fbd77428c6f2b0d24aab435..refs/heads/hvirt:/common/usr/lib/xen-tools/debian.d/93-setup-grub diff --git a/common/usr/lib/xen-tools/debian.d/93-setup-grub b/common/usr/lib/xen-tools/debian.d/93-setup-grub index 5102c4a..d3ba6fd 100755 --- a/common/usr/lib/xen-tools/debian.d/93-setup-grub +++ b/common/usr/lib/xen-tools/debian.d/93-setup-grub @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # # This script sets up the ParaVM to use pygrub # @@ -78,14 +78,21 @@ ROOT_DEV="$(perl -e 'print $ENV{"image-dev"}')" SWAP_DEV="$(perl -e 'print $ENV{"swap-dev"}')" ROOT_UUID="$(vol_id --uuid "$ROOT_DEV")" SWAP_UUID="$(vol_id --uuid "$SWAP_DEV")" -sed -i -e "s#root=[^ ]*#root=UUID=$ROOT_UUID#" ${prefix}/boot/grub/menu.lst -sed -i -e "s#${ROOT_DEV}#${ROOT_UUID}#" ${prefix}/etc/fstab -sed -i -e "s#${SWAP_DEV}#${SWAP_UUID}#" ${prefix}/etc/fstab +for i in $(seq 1 "$NUMPARTITIONS"); do + var="PARTITION${i}" + case "$(echo ${!var} | cut -f1 -d:)" in + disk) ROOT_GUEST="$(echo ${!var} | cut -f8 -d:)";; + swap) SWAP_GUEST="$(echo ${!var} | cut -f8 -d:)";; + esac +done +sed -i -re "s%^(# *kopt=.*root=)[^ ]*%\1UUID=$ROOT_UUID%" ${prefix}/boot/grub/menu.lst +sed -i -e "s%${ROOT_GUEST}%UUID=${ROOT_UUID}%" ${prefix}/etc/fstab +sed -i -e "s%${SWAP_GUEST}%UUID=${SWAP_UUID}%" ${prefix}/etc/fstab # -# Regenerate automagic kernels list +# Regenerate automagic kernels list, saving our changes # -chroot ${prefix} /usr/sbin/update-grub -y +chroot ${prefix} env UCF_FORCE_CONFFOLD=1 /usr/sbin/update-grub -y # # Log our finish