[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1034535: marked as done (Installer boot menu displayed in text mode when UEFI secure boot is enabled)



Your message dated Sun, 23 Apr 2023 18:49:38 +0100
with message-id <20230423174938.GA3450960@tack.einval.com>
and subject line Re: Bug#1034535: Installer boot menu displayed in text mode when UEFI secure boot is enabled
has caused the Debian Bug report #1034535,
regarding Installer boot menu displayed in text mode when UEFI secure boot is enabled
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1034535: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034535
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: debian-installer
Severity: minor

Boot method: USB stick
Image version: debian-bookworm-DI-rc1-amd64-netinst.iso
Boot mode: UEFI

When secure boot is disabled, GRUB displays the menu in graphic mode as expected.
When secure boot is enabled, GRUB briefly displays error messages:

 prohibited by secure boot policy
 no video mode activated

and displays the menu in text mode.

This is caused by loadfont failing in /boot/grub/grub.cfg:

if loadfont $prefix/font.pf2 ; then
  set gfxmode=800x600
  set gfxpayload=keep
  insmod efi_gop
  insmod efi_uga
  insmod video_bochs
  insmod video_cirrus
  insmod gfxterm
  insmod png
  terminal_output gfxterm
fi

A recent change in grub prohibits loading fonts from outside the signed image, so loadfont was adapted to try and load the requested font from the embedded memdisk first instead of $prefix.

If I understand correctly, loadfont allows two types of arguments:
- a radix, which is expanded into $prefix/fonts/<radix>.pf2
- a pathname starting with / or (

The "magic" looking up (memdisk) first instead of $prefix works only with a radix whereas grub.cfg uses a full pathname. Also, it tries to load font.pf2 whereas the embedded font file is unicode.pf2.

I tested to replace "$prefix/font.pf2" with "unicode" or "(memdisk)/fonts/unicode.pf2" in /boot/grub/grub.cfg and the graphical menu was back. Actually, if I remove the loadfont command and the 'if' condition, as far as I can see the graphical menu is displayed correctly, except the border frame replaced by "?" in the menu entry editor, so maybe the condition could be removed.

PS: Maybe the issue also exists in live images ? Didn't check.

--- End Message ---
--- Begin Message ---
Tested working today on a daily netinst build.

On Mon, Apr 17, 2023 at 09:37:42PM +0200, Pascal Hambourg wrote:
>Package: debian-installer
>Severity: minor
>
>Boot method: USB stick
>Image version: debian-bookworm-DI-rc1-amd64-netinst.iso
>Boot mode: UEFI
>
>When secure boot is disabled, GRUB displays the menu in graphic mode as
>expected.
>When secure boot is enabled, GRUB briefly displays error messages:
>
> prohibited by secure boot policy
> no video mode activated
>
>and displays the menu in text mode.
>
>This is caused by loadfont failing in /boot/grub/grub.cfg:
>
>if loadfont $prefix/font.pf2 ; then
>  set gfxmode=800x600
>  set gfxpayload=keep
>  insmod efi_gop
>  insmod efi_uga
>  insmod video_bochs
>  insmod video_cirrus
>  insmod gfxterm
>  insmod png
>  terminal_output gfxterm
>fi
>
>A recent change in grub prohibits loading fonts from outside the signed
>image, so loadfont was adapted to try and load the requested font from the
>embedded memdisk first instead of $prefix.
>
>If I understand correctly, loadfont allows two types of arguments:
>- a radix, which is expanded into $prefix/fonts/<radix>.pf2
>- a pathname starting with / or (
>
>The "magic" looking up (memdisk) first instead of $prefix works only with a
>radix whereas grub.cfg uses a full pathname. Also, it tries to load font.pf2
>whereas the embedded font file is unicode.pf2.
>
>I tested to replace "$prefix/font.pf2" with "unicode" or
>"(memdisk)/fonts/unicode.pf2" in /boot/grub/grub.cfg and the graphical menu
>was back. Actually, if I remove the loadfont command and the 'if' condition,
>as far as I can see the graphical menu is displayed correctly, except the
>border frame replaced by "?" in the menu entry editor, so maybe the condition
>could be removed.
>
>PS: Maybe the issue also exists in live images ? Didn't check.
-- 
Steve McIntyre, Cambridge, UK.                                steve@einval.com
  Armed with "Valor": "Centurion" represents quality of Discipline,
  Honor, Integrity and Loyalty. Now you don't have to be a Caesar to
  concord the digital world while feeling safe and proud.

--- End Message ---

Reply to: