summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog6
-rwxr-xr-xscripts/install-system3
-rwxr-xr-xscripts/vyatta-grub-setup23
3 files changed, 29 insertions, 3 deletions
diff --git a/debian/changelog b/debian/changelog
index 58aa23ab..224cfc21 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+vyatta-cfg-system (0.15.22) unstable; urgency=low
+
+ * fix xen kernel handling for union install
+
+ -- An-Cheng Huang <ancheng@vyatta.com> Thu, 09 Apr 2009 13:49:59 -0700
+
vyatta-cfg-system (0.15.21) unstable; urgency=low
* Resolve problems with syslog.conf
diff --git a/scripts/install-system b/scripts/install-system
index 17d847d7..2e821397 100755
--- a/scripts/install-system
+++ b/scripts/install-system
@@ -833,8 +833,7 @@ install_root_filesystem () {
echo Copying squashfs image...
cp /live/image/live/filesystem.squashfs $rootfsdir/boot/$version/$version.squashfs
echo Copying kernel and initrd images...
- cp -ar /boot/initrd.img-* $rootfsdir/boot/$version/
- cp -ar /boot/vmlinuz-* $rootfsdir/boot/$version/
+ cp -a /boot/* $rootfsdir/boot/$version/
else
echo Copying image files...
cp -ar /live/image/boot/$version $rootfsdir/boot/
diff --git a/scripts/vyatta-grub-setup b/scripts/vyatta-grub-setup
index e3438ec8..4ac8cd92 100755
--- a/scripts/vyatta-grub-setup
+++ b/scripts/vyatta-grub-setup
@@ -89,7 +89,16 @@ fi
if eval "$UNION"; then
GRUB_OPTIONS="boot=live live-media-path=/boot/$livedir module=$livedir quiet persistent noautologin nonetworking nouser hostname=vyatta"
- union_kernel_versions=$(ls $ROOTFSDIR/boot/$livedir/vmlinuz-* 2> /dev/null | grep -v xen | awk -F/ '{ print $6 }' | sed 's/vmlinuz//g' | sort -r)
+ union_xen_kernel_version=$(ls $ROOTFSDIR/boot/$livedir/vmlinuz*-xen* \
+ 2>/dev/null \
+ | awk -F/ '{ print $6 }' \
+ | sed 's/vmlinuz//g' | sort -r)
+ union_xen_version=$(ls $ROOTFSDIR/boot/$livedir/xen-*.gz 2> /dev/null \
+ | head -1 | awk -F/ '{ print $6 }' | sort -r)
+ union_kernel_versions=$(ls $ROOTFSDIR/boot/$livedir/vmlinuz-* \
+ 2> /dev/null | grep -v xen \
+ | awk -F/ '{ print $6 }' | sed 's/vmlinuz//g' \
+ | sort -r)
else
# Read UUID off of filesystem and use it to tell GRUB where to mount drive
# This allows device to move around and grub will still find it
@@ -177,6 +186,18 @@ fi
done
fi
+ if [ -n "$union_xen_kernel_version" ]; then
+ for xversion in $union_xen_kernel_version; do
+ echo
+ echo
+ echo -e "menuentry \"Vyatta Xen linux$xversion dom0\" {"
+ echo -e "\tmultiboot /boot/$livedir/$union_xen_version "
+ echo -e "\tmodule /boot/$livedir/vmlinuz$xversion $GRUB_OPTIONS $vga_logo $vty_console"
+ echo -e "\tmodule /boot/$livedir/initrd.img$xversion"
+ echo -e "}"
+ done
+ fi
+
if [ -f "$ROOTFSDIR/boot/vmlinuz" ] && ! eval $UNION ; then
# Set first system boot option. Make KVM the default console in this one.
echo -e "menuentry \"Vyatta (KVM console)\" {"