Bug#997844: grub2-common: GRUB_THEME setting broken when used with encrypted disks
Andres Salomon
dilinger at queued.net
Sat Apr 1 19:20:54 BST 2023
On Mon, 25 Oct 2021 15:08:31 -0400
=?utf-8?b?4LKa4LK/4LKw4LK+4LKX4LONIOCyqOCyn+CysOCyvuCynOCzjQ==?=
<debbugs at chiraag.me> wrote:
> Package: grub2-common
> Version: 2.04-20
> Severity: normal
> X-Debbugs-Cc: debbugs at chiraag.me
>
> Dear Maintainer,
>
> My setup is as follows. I have 2 storage disks, one SATA HDD and one
M.2 NVME SSD. Both disks are encrypted, and the layout is as follows:
>
> NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
> sda 8:0 0 1.8T 0 disk
> └─sda1 8:1 0 1.8T 0 part
> └─sda1_crypt 254:3 0 1.8T 0 crypt
> └─Crypto--Data-Home 254:4 0 1.8T 0 lvm /home
> nvme0n1 259:0 0 465.8G 0 disk
> ├─nvme0n1p1 259:1 0 476M 0 part /boot/efi
> ├─nvme0n1p2 259:2 0 477M 0 part /boot
> └─nvme0n1p3 259:3 0 464.8G 0 part
> └─nvme0n1p3_crypt 254:0 0 464.8G 0 crypt
> ├─Crypto-Root 254:1 0 425.6G 0 lvm /
> └─Crypto-Swap 254:2 0 29.8G 0 lvm [SWAP]
>
> That is, the NVME SSD is split into 3 partitions: one for /boot/efi,
one for /boot, and one encrypted partition which provides both / and
swap through LVM partitions. The HDD is quite simple — just one giant
encrypted partition with a single LVM partition inside (mainly for
consistency). That's the setup.
>
> Okay, so here's the issue. I don't normally view the GRUB menu (I
have a hidden timeout and I normally go straight to my plymouth splash
screen), but I'd like it to look nice if I ever have to open it up.
Accordingly, I set a theme by putting
GRUB_THEME="/usr/share/grub/themes/starfield/theme.txt" in
/etc/default/grub. I even get the appropriate output when I run sudo
update-grub (also reflected by the /boot/grub/grub.cfg attached by
reportbug):
>
> Generating grub configuration file ...
> Found theme: /usr/share/grub/themes/starfield/theme.txt
> Found background image:
/usr/share/images/desktop-base/desktop-grub.png
> Found linux image: /boot/vmlinuz-5.14.0-3-amd64
> Found initrd image: /boot/initrd.img-5.14.0-3-amd64
> Found linux image: /boot/vmlinuz-5.14.0-2-amd64
> Found initrd image: /boot/initrd.img-5.14.0-2-amd64
> Adding boot menu entry for EFI firmware configuration
> done
>
> However, the menu still takes on the default look (blue menu, no
background image, etc). What I realized is that GRUB doesn't seem to
copy the background image into /boot/grub/, and since the disk isn't
yet decrypted, it can't access the background image at the place it's
looking for it.
>
> This feels like a bug because there is every indication (including
from update-grub2) that a theme will be used, but then the theme
silently fails.
I noticed this bug as well with a freshly installed copy of bookworm.
(Using a d-i testing snapshot from March 26 2023). I did a pretty
standard amd64 with gnome desktop install, but with the root filesystem
encrypted ("guided, use entire disk". /boot is unencrypted, but with
the splash image in /usr/share, grub can't access it and thus there's
no theming; just the ugly blue default grub screen. Seems like the only
way to work around it is to copy a png file into /boot/grub.
More information about the Pkg-grub-devel
mailing list