diff --git a/diskimage_builder/elements/bootloader/README.rst b/diskimage_builder/elements/bootloader/README.rst index 306410de..a5b34367 100644 --- a/diskimage_builder/elements/bootloader/README.rst +++ b/diskimage_builder/elements/bootloader/README.rst @@ -10,6 +10,11 @@ Arguments * ``DIB_GRUB_TIMEOUT`` sets the ``grub`` menu timeout. It defaults to 5 seconds. Set this to 0 (no timeout) for fast boot times. +* ``DIB_GRUB_TIMEOUT_STYLE`` sets the visibility of the ``grub`` menu. + It defaults to ``hidden`` (or ``countdown`` as an alias). Set this to + ``menu`` to display the menu and then wait for the timeout set by + ``DIB_GRUB_TIMEOUT`` to expire before booting the default entry. + * ``DIB_BOOTLOADER_DEFAULT_CMDLINE`` sets parameters that are appended to the ``GRUB_CMDLINE_LINUX_DEFAULT`` values in ``grub.cfg`` configuration. It defaults to ``nofb nomodeset gfxpayload=text``. diff --git a/diskimage_builder/elements/bootloader/finalise.d/50-bootloader b/diskimage_builder/elements/bootloader/finalise.d/50-bootloader index d4bad0e5..21d84f2a 100755 --- a/diskimage_builder/elements/bootloader/finalise.d/50-bootloader +++ b/diskimage_builder/elements/bootloader/finalise.d/50-bootloader @@ -85,6 +85,7 @@ fi echo "GRUB_DEVICE=LABEL=${DIB_ROOT_LABEL}" >> /etc/default/grub echo 'GRUB_DISABLE_LINUX_UUID=true' >> /etc/default/grub echo "GRUB_TIMEOUT=${DIB_GRUB_TIMEOUT:-5}" >>/etc/default/grub +echo "GRUB_TIMEOUT_STYLE=${DIB_GRUB_TIMEOUT_STYLE:-hidden}" >>/etc/default/grub echo 'GRUB_TERMINAL="serial console"' >>/etc/default/grub echo 'GRUB_GFXPAYLOAD_LINUX=auto' >>/etc/default/grub diff --git a/releasenotes/notes/grub-timeout-style-4bb9b2bde4ff2b02.yaml b/releasenotes/notes/grub-timeout-style-4bb9b2bde4ff2b02.yaml new file mode 100644 index 00000000..81f31921 --- /dev/null +++ b/releasenotes/notes/grub-timeout-style-4bb9b2bde4ff2b02.yaml @@ -0,0 +1,7 @@ +--- +features: + - | + The ``bootloader`` element will explicitly set the timeout style to + ``hidden`` to hide the menu. Set ``DIB_GRUB_TIMEOUT_STYLE`` to ``menu`` + to display the menu and then wait for the timeout expire before booting + the default entry.