From 1f3e23f7147ef23f338788a223f8a5901546866a Mon Sep 17 00:00:00 2001 From: Bob Gilligan Date: Wed, 12 Oct 2011 17:13:27 -0700 Subject: Bugfix 7502: Get "add system image" to work on Xen This fix solves the problem with indirection. We introduce a symlink in /live/image/boot pointing to the current default system image. The pygrub config file in /boot/grub/menu.lst points to the kernel and initrd files in the default image by using this symlink in the pathname. Every time we add, delete or change the default system image, we need to change this symlink to point to the new default image. --- scripts/install/install-postinst-new | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'scripts/install/install-postinst-new') diff --git a/scripts/install/install-postinst-new b/scripts/install/install-postinst-new index d782a5bf..2a9539c6 100755 --- a/scripts/install/install-postinst-new +++ b/scripts/install/install-postinst-new @@ -158,6 +158,9 @@ setup_xen_extras () { echo "kernel $xen_grub_boot_path/vmlinuz root=/dev/$rootdev boot=live vyatta-union=$xen_grub_boot_path console=hvc0" >> $grubfile echo "initrd $xen_grub_boot_path/initrd.img" >> $grubfile + # Add symlink pointing to default image + ln -s $image_name $grub_root/boot/%%default_image + # Add console port entry for the Xen PV console add_console_entry hvc0 "${INST_ROOT}${VYATTA_CFG_DIR}/config.boot" } @@ -191,7 +194,7 @@ image_name=${image_name#$WRITE_ROOT/boot/} # these are the defaults for "union" grub_root=$WRITE_ROOT grub_setup_args="-u $image_name" -xen_grub_boot_path="/boot/$image_name" +xen_grub_boot_path="/boot/%%default_image" if [ "$INSTALL_TYPE" == 'old' ]; then grub_root=$INST_ROOT grub_setup_args="-v $version" -- cgit v1.2.3