I'm running Fedora 31 on a Lenovo T470p, with GNU GRUB version 2.03 platform x86_64-efi .
I wish to have a far larger font.
As many, many suggestions on the internet advise:
1] I've added the GRUB_FONT
line to my /etc/default/grub:
GRUB_FONT=/boot/grub2/DejaVuSans-Bold.pf2
GRUB_TIMEOUT=-1
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="resume=/dev/mapper/fedora_localhost--live-swap rd.lvm.lv=fedora_localhost-live/root rd.lvm.lv=fedora_localhost-live/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
GRUB_GFX_MODE=960x540
2] I've done the following:
grub2-mkfont -s 24 -o /boot/grub2/DejaVuSans-Bold.pf2 /usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
grub2-mkconfig -o /etc/grub2-efi.cfg
If I grep /etc/grub2-efi.cfg
for the new timeout I changed at the same time (-1) I see it.
If I grep /etc/grub2-efi.cfg
for font (case-insensitive) or part of the font name (Dej
) I do not. If all the info grub uses at startup is in /etc/grub2-efi.cfg
, then it seems grub2-mkconfig
is not putting it in there, and that would be the problem.
When I boot, I indeed do see the effect of my timeout change. (There is no timeout. Good.) But I see the same old tiny font.
When I boot and use "c" to get to a prompt, and try the lsfonts
command, I see Loaded fonts:
followed by another prompt. In other words, no fonts. I don't know if that means anything.
One approach I've read on the 'net is to set GRUB_GFX_MODE=640x480
but that change has no effect. The GNU doc for 2.0.6 suggests using a GRUB command videoinfo
, I assume at the GRUB prompt, but I don't seem to have that command available at the prompt reached by hitting "C" at the menu.
https://www.gnu.org/software/grub/manual/grub/grub.html#gfxmode
Looking at /etc/grub.d/00_header, it seems to be doing some check on my font file and if it doesn't like it for some reason (I don't know sh as I started programming when perl4 was just getting big) it won't output anything. And indeed, in my /etc/grub2-efi.cfg, I see comments showing the beginning and end of processing without any mention of font.
Looking further at that file, it seems like a variable gfxterm
is set only if GRUB_TERMINAL_OUTPUT="gfxterm"
... something that none of the many pages telling how to set font size mention. I would change my GRUB_TERMINAL_OUTPUT
thusly, but when googling for it, I see mention that at least on some systems it's resulting in blank screens and unbootable systems. This leads to a final subquestion: if I render the system unbootable with an edit of /etc/default/grub
... how do I boot it?