Bug#789798: grub-installer: add option to _not_ install to UEFI boot order
On Wed, Jun 24, 2015 at 04:02:28PM +0100, Ian Campbell wrote:
>I have a need to repeatedly install Debian from PXE on systems which are UEFI
>only (arm64 as it happens but I think all of the below applies to x86 UEFI
>too). When we want to actually boot the installed OS we chainload from the PXE
>grub.efi to the one on the ESP (using grub-installer/force-efi-extra-removable
>for simplicity, but that's by the by, I think).
>This is for automated testing which does a fresh install before most tests.
>The problem is that during install Debian inserts itself into the UEFI boot
>order _before_ the PXE entry, this happens via grub-installer.udeb ->
>grub-install (from the main grub deb) -> efibootmgr -c.
>This means that when we come to want to regroove the box it won't boot from PXE.
>grub-install offers an option to avoid this (--no-nvram) which is passed by
>grub-installer under some very specific circumstances (known broken hardware)
>but it would be very useful if this was a pre-seedable option so it could be
>used in circumstances such as the above as well.
>The attached patch adds a preseedable grub-installer/no-nvram (heavily inspired
>by the grub-installer/force-efi-extra-removable option) which forces the
>--no-nvram option to be used. I've tested this by rebuilding the Jessie
>installer with a patched version of grub-installer. The English text could
>probably do with some review on the appropriate list.
Mostly looks good to me, just one minor wording tweak that I'd
>Author: Ian Campbell <email@example.com>
>Date: Fri Jun 19 15:17:40 2015 +0100
> Add preseedable option to allow avoiding installation to NVRAM. (Closes: #xxxxxx)
>diff --git a/debian/changelog b/debian/changelog
>index cf6fda2..47a679c 100644
>@@ -1,3 +1,10 @@
>+grub-installer (1.124) UNRELEASED; urgency=medium
>+ * Add preseedable option to allow avoiding installation to NVRAM.
>+ (Closes: #xxxxxx)
>+ -- Ian Campbell <firstname.lastname@example.org> Fri, 19 Jun 2015 15:16:47 +0100
> grub-installer (1.123) unstable; urgency=medium
> [ Updated translations ]
>diff --git a/debian/grub-installer.templates b/debian/grub-installer.templates
>index e294afb..e5d090b 100644
>@@ -285,3 +285,15 @@ _Description: Force GRUB installation to the EFI removable media path?
> installing GRUB there will make that operating system temporarily
> unbootable. GRUB can be manually configured later to boot it if
>+_Description: Avoid adding GRUB to Firmmware NVRAM configuration?
>+ By default GRUB will be registered into NVRAM on platforms where this is
>+ required. e.g. UEFI Boot Manager or OpenFirmware boot device.
>+ This is sometimes not desirable, e.g. for systems which PXE boot and chainload
>+ instead and do not want the firmware configuration adjusted. Answering no here
>+ will avoid make such adjustments.
s/make such/making such/ ?
>diff --git a/grub-installer b/grub-installer
>index 777b3b2..ee186d2 100755
>@@ -813,6 +813,18 @@ grub2/force_efi_extra_removable boolean true
>+ # Should we avoid installing/registering GRUB in NVRAM?
>+ db_input low grub-installer/no-nvram || [ $? -eq 30 ]
>+ db_go || exit 10
>+ db_get grub-installer/no-nvram
>+ if [ "$RET" = true ]; then
>+ grub_install_params="$grub_install_params --no-nvram"
>+ # Make sure this happens on upgrades too
>+ $chroot $ROOT 'debconf-set-selections' <<EOF
>+grub-installer/no-nvram boolean true
> if [ "$ARCH" = "powerpc/chrp_pegasos" ] ; then
> # nvram is broken here
> grub_install_params="$grub_install_params --no-nvram"
Steve McIntyre, Cambridge, UK. email@example.com
"Managing a volunteer open source project is a lot like herding
kittens, except the kittens randomly appear and disappear because they
have day jobs." -- Matt Mackall