(debian-boot is the Debian installer mailing list, so redirecting this
discussion to grub package maintainers' mailing list)
On 02/02/2026 at 20:48, Volodymyr Mutel wrote:
So, in postinst script, unicode.pf2 is copied into /boot/grub/ ,
supposedly to improve its accessibility chances.
While in grub-mkconfig it is searched and found as its original under /
usr/share/grub/ if not set explicitly as GRUB_FONT= in /etc/default/grub .
You should also mention that the postinst script runs grub-install which
copies unicode.pf2 into /boot/grub/fonts/, where 'loadfont unicode' will
look for it.
I just tried to set up a Debian Trixie instance with /boot on vfat
volume and / (root fs) on a loop image residing on the same vfat volume,
and I got this in /boot/grub/grub.cfg :
(...)
set root=(loop0)
font="/usr/share/grub/unicode.pf2"
fi
Note that this stanza is the other alternative of
if [ x$feature_default_font_path = xy ] ; then
font=unicode
else
The test is true ($feature_default_font_path = y), so $font = unicode
and the font is loaded from /boot/grub/fonts/unicode.pf2 installed by
grub-install.
(Actually, when booting with a monolithic signed GRUB image, which is
the default, the font is loaded from an embedded file
(memdisk)/fonts/unicode.pf2, because loading a font file from outside of
the image is prohibited if secure boot is enabled)
So, my question is, were there any ideas and proposals to align the
intentions of postinst script with the logic of 00_header ?
My first idea would be that postinst stops copying the font into
/boot/grub/ which seems to be useless.
My second idea would be that grub.cfg should not rely on anything
outside the filesystem containing /boot, so anything else GRUB needs at
boot time should be copied into /boot/grub. This is already done with
the background picture when its original location is not readable by GRUB.