summaryrefslogtreecommitdiff
path: root/scripts/install/install-postinst-new
diff options
context:
space:
mode:
authorBob Gilligan <gilligan@vyatta.com>2011-10-12 17:13:27 -0700
committerBob Gilligan <gilligan@vyatta.com>2011-10-12 17:13:27 -0700
commit1f3e23f7147ef23f338788a223f8a5901546866a (patch)
treef8bae2a9a536254f89bfa9107a3cd59df7da10c9 /scripts/install/install-postinst-new
parent23d33e2d237323d2c13df8339212b84e0b36aeac (diff)
downloadvyatta-cfg-system-1f3e23f7147ef23f338788a223f8a5901546866a.tar.gz
vyatta-cfg-system-1f3e23f7147ef23f338788a223f8a5901546866a.zip
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.
Diffstat (limited to 'scripts/install/install-postinst-new')
-rwxr-xr-xscripts/install/install-postinst-new5
1 files changed, 4 insertions, 1 deletions
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"