Public bug reported:

The grub.cfg generated by update-grub for both UEFI and BIOS includes
the following logic:

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
        set gfxpayload="${1}"
        if [ "${1}" = "keep" ]; then
                set vt_handoff=vt.handoff=7
        else
                set vt_handoff=
        fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode

[...]

menuentry [...]
    gfxmode $linux_gfx_mode

This means that in some cases, we are calling 'set gfxpayload="text"' on
UEFI systems.

However, grub-core/loader/i386/linux.c has:

#ifdef GRUB_MACHINE_EFI
#include <grub/efi/efi.h>
#define HAS_VGA_TEXT 0
#define DEFAULT_VIDEO_MODE "auto"
#define ACCEPTS_PURE_TEXT 0
#elif [...]

and if ACCEPTS_PURE_TEXT is 0, grub_linux_boot() masks
GRUB_VIDEO_MODE_TYPE_PURE_TEXT out of the allowed set when calling
grub_video_set_mode().

So our generated grub.cfg should *never* be setting gfxpayload=text on a
UEFI system.  If we do, we get the following error message from grub at
boot:

error: invalid video mode specification `text'.
Booting in blind mode

** Affects: grub2 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1711452

Title:
  grub.cfg fails back to 'text' video mode on UEFI which is not
  supported

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1711452/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to