From c93cd7e86fd88dc5fd4dd647ef0f10e7b0632fc9 Mon Sep 17 00:00:00 2001 From: Evan Broder Date: Tue, 27 Jan 2009 01:36:49 -0500 Subject: [PATCH 1/1] Add a script to automate updating the autoinstaller guest. svn path=/trunk/packages/invirt-autoinstaller/; revision=2018 --- debian/changelog | 6 +++++ host/usr/sbin/invirt-update-ai-guest | 43 ++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100755 host/usr/sbin/invirt-update-ai-guest 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 -- 1.7.9.5