Indeed, looking at the lucid source, I see that the post_install() calls the execscripts before the --only-chroot checks, whereas hypervisor.py:install_os(), which installs the bootloader, gets called after.
I assume it's there for a reason so don't want to blindly move it. Would like guidance from Soren: was the intent of execscripts to be called after full os install, or after initial chroot build? Should a new --os-execripts or somesuch option be added to allow scripts to be called after full OS install?
As a workaround you should be able to have the early execscript create an /etc/default/grub, though I'm not sure whether dpkg would then require interaction to ask whether to use your existing /etc/default/grub.
Indeed, looking at the lucid source, I see that the post_install() calls the execscripts before the --only-chroot checks, whereas hypervisor. py:install_ os(), which installs the bootloader, gets called after.
I assume it's there for a reason so don't want to blindly move it. Would like guidance from Soren: was the intent of execscripts to be called after full os install, or after initial chroot build? Should a new --os-execripts or somesuch option be added to allow scripts to be called after full OS install?
As a workaround you should be able to have the early execscript create an /etc/default/grub, though I'm not sure whether dpkg would then require interaction to ask whether to use your existing /etc/default/grub.