From: Evan Broder Date: Tue, 27 Jan 2009 06:36:49 +0000 (-0500) Subject: Add a script to automate updating the autoinstaller guest. X-Git-Tag: 0.0.7~1 X-Git-Url: http://xvm.mit.edu/gitweb/invirt/packages/invirt-autoinstaller.git/commitdiff_plain/c93cd7e86fd88dc5fd4dd647ef0f10e7b0632fc9?hp=2b908ddd954fac426e971da70a31fbf9859e0175 Add a script to automate updating the autoinstaller guest. svn path=/trunk/packages/invirt-autoinstaller/; revision=2018 --- diff --git a/debian/changelog b/debian/changelog index 098f5a9..cd6fcac 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +invirt-autoinstaller (0.0.7) unstable; urgency=low + + * Add a script to update the autoinstaller disk from a host. + + -- Evan Broder Mon, 26 Jan 2009 19:47:47 -0500 + invirt-autoinstaller (0.0.6) unstable; urgency=low * Correct for the checksumming issue in /etc/network/interfaces instead diff --git a/host/usr/sbin/invirt-update-ai-guest b/host/usr/sbin/invirt-update-ai-guest new file mode 100755 index 0000000..f06b3ff --- /dev/null +++ b/host/usr/sbin/invirt-update-ai-guest @@ -0,0 +1,43 @@ +#!/bin/bash + +set -e + +export VG=xenvg +export INSTALLLV=s_install_hda +export INSTALLPATH="/dev/$VG/$INSTALLLV" +export UPDATEPATH="/dev/$VG/update_$INSTALLLV" +export MAPPERPATH="/dev/mapper/$VG-update_$INSTALLLV" +export MOUNTDIRS="/dev /proc /sys" + +clean_up() { + set +e + + for i in $MOUNTDIRS; do + umount "/mnt/install$i" + done + + umount /mnt/install + kpartx -d "$UPDATEPATH" + lvchange -a y "$UPDATEPATH" + lvrename "$UPDATEPATH" "$INSTALLPATH" + exit 0 +} + +trap clean_up ERR + +lvchange -a n "$INSTALLPATH" +lvrename "$INSTALLPATH" "$UPDATEPATH" +lvchange -a ey "$UPDATEPATH" +kpartx -a "$UPDATEPATH" + +mkdir -p /mnt/install +mount "${MAPPERPATH}1" /mnt/install + +for i in $MOUNTDIRS; do + mount --bind $i "/mnt/install$i" +done + +chroot /mnt/install apt-get update +chroot /mnt/install apt-get dist-upgrade + +clean_up