My grub2 is strange

Hi,

I’m wasting time trying to add a background image to my boot screen.
I noticed that some basic options like GRUB_TIMEOUT work, so I’m sure that the config is being modified, however GRUB_TERMINAL=“gfxterm” looks to have some problem, in the end I filmed the boot process with my phone and noticed an error that I was not able to read before

error: ../../grub-core/commands/terminal.c:138:terminal gfxterm’ isn’t found.`

Witch explains why I was going nowhere with the image configuration. I did some googling but found no fix, there are others getting this error but they say that after it works ok, witch is not my case.

Do I have a stripped down version of grub ?
I don’t think this is an important problem, it is just something I’m playing with in a lazy Sunday, but I’d love to have this fixed. Thanks in advance

I have this rpms installed:

# rpm -qa | grep grub
grubby-8.40-61.el9.x86_64
grub2-common-2.06-46.el9_1.5.rocky.0.2.noarch
grub2-tools-minimal-2.06-46.el9_1.5.rocky.0.2.x86_64
grub2-tools-2.06-46.el9_1.5.rocky.0.2.x86_64
grub2-efi-x64-2.06-46.el9_1.5.rocky.0.2.x86_64
grub2-tools-extra-2.06-46.el9_1.5.rocky.0.2.x86_64
grub2-tools-efi-2.06-46.el9_1.5.rocky.0.2.x86_64
grub2-pc-modules-2.06-46.el9_1.5.rocky.0.2.noarch
grub2-pc-2.06-46.el9_1.5.rocky.0.2.x86_64
grub-customizer-5.2.2-2.el9.x86_64

file:/etc/default/grub

GRUB_TIMEOUT="10"
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT="saved"
GRUB_DISABLE_SUBMENU="true"
GRUB_TERMINAL="gfxterm"
GRUB_GFXMODE="1024x768x16,auto"
GRUB_GFXPAYLOAD_LINUX="keep"
GRUB_CMDLINE_LINUX="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/rl-swap rd.lvm.lv=rl/root rd.lvm.lv=rl/swap"
GRUB_DISABLE_RECOVERY="false"
GRUB_ENABLE_BLSCFG="true"
GRUB_BACKGROUND="/boot/efi/EFI/rocky/rocky-default-9-onyx-mountains.png"
export GRUB_COLOR_NORMAL="black/black"
export GRUB_COLOR_HIGHLIGHT="white/blue"
GRUB_FONT="/boot/efi/EFI/rocky/LiberationMono-Regular.pcf"

I’m using a lenovo laptop with intel graphics, as far as I know the graphic driver is i915 but it does not show up if I do a lsmod in the grub command line, I don’t know if this is relevant…
The config process looks to be working ok

# grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg
Generating grub configuration file ...
Found background: /boot/efi/EFI/rocky/rocky-default-9-onyx-mountains.png
Found Windows Boot Manager on /dev/sda2@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings ...
#

First, don’t use grub-customizer. It is incompatible with the the boot loader system used by Redhat and derivatives, rocky, fedora, alma, etc…
Are you using Secure boot? If so custom fonts and images may not be loadable. I have F37 running on a lenovo t460 and when I enabled secure-boot my custom font was no longer used. It is a known limitation of secure-boot. I was not loading any custom background. I documented this somewhere but will have to search to see if I can find.

Just a pointer: Do not use the way via GRUB_BACKGROUND instead use GRUB_THEME …

Yes, I already noticed that grub-customizer does not work well here.
Can’t remove it, because it says

Problem: The operation would result in removing the following protected packages: grub2-pc

# mokutil --sb-state
SecureBoot disabled

In the end I did not find a solution to boot in gfxterm mode.
I’m ok with the text mode menu, I only wish it did not change to a small font from the one used for the BIOS POST messages for instance, this one is ok in an external monitor but too small when booting from the internal lcd.
The only place where I was able to change the colors was in /etc/grub.d/40_custom

(...)
set color_normal=light-gray/black
set color_highlight=white/red

In the end the result is not too bad, I guess KISS is the right way to go :slight_smile: