#1004514 grub-common: background images don't work with luks encrypted lvm root partition

Package:
grub-common
Source:
grub2
Description:
GRand Unified Bootloader (common files)
Submitter:
"khimaros"
Date:
2023-01-08 22:03:03 UTC
Severity:
important
Tags:
#1004514#5
Date:
2022-01-29 18:32:48 UTC
From:
To:
the core issue is that grub-probe is not reporting cryptodisk abstraction when the block device below the lvm is luks encrypted.

/usr/share/grub/grub-mkconfig_lib relies on this output to decide whether to create the background cache on the /boot partition. because cryptodisk is not returned as an abstraction, the cache is never created and cannot be displayed at boot time.

this is the output of grub-probe:

# grub-probe -t abstraction /usr/share/images/desktop-base/desktop-grub.png
lvm

however, the file is definitely on an encrypted lvm volume:

# stat --printf="%m\n" /usr/share/images/desktop-base/desktop-grub.png
/

# lsblk
NAME                 MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
nvme0n1              259:0    0 476.9G  0 disk
...
└─nvme0n1p3          259:3    0 476.7G  0 part
  └─nvme0n1p3_crypt  253:0    0 476.7G  0 crypt
    └─fnord--vg-root 253:1    0 476.7G  0 lvm   /

# mount -vf /
mount: /dev/mapper/fnord--vg-root mounted on /.

# pvdisplay
PV Name /dev/mapper/nvme0n1p3_crypt
VG Name fnord-vg
...

# cryptsetup status nvme0n1p3_crypt
/dev/mapper/nvme0n1p3_crypt is active and in use.
  type:     LUKS2
  device:   /dev/nvme0n1p3
...

#1004514#10
Date:
2022-07-11 05:33:47 UTC
From:
To:
This also happens without LVM. My root filesystem is Btrfs on LUKS2 and
grub-probe -t abstraction
/usr/share/desktop-base/homeworld-theme/grub/grub-4x3.png outputs nothing.

#1004514#15
Date:
2022-09-21 10:59:52 UTC
From:
To:
reassign 945404 grub-common
# package usefulness is not really affected
severity 945404 minor
severity 1004514 minor
merge 945404 964859 1004514
thanks

Hi,

as I stumbled over this problem just now I thought I would at least help
a bit by merging the reports about the issue (fingers crossed I got the
control@ right, its a while), which I consider minor as it doesn't
affect the usefulness of grub – it still boots without issue – it is
just not as visually fitting as it could be.

From my PoV I agree with the analyse and patch by Steve McIntyre in
https://bugs.debian.org/945404#35 and have locally applied it at least
until grub upstream understands luks2 and can detect this on its own.

I suppose patching #803995 (Caching background image conceals original
filename when updating) would make sense if we (always) cache. There is
also #692244 which asks for having caching configurable.


Best regards

David Kalnischkies

#1004514#28
Date:
2023-01-08 22:02:20 UTC
From:
To:
Dear Maintainer,

I just made a fresh Debian install using testing installer and confirm the bug
is still here : no background in GRUB after install.

My setup is LUKS2/LVM2/BTRFS.

The problem is the background picture file is not copied in /boot whereas it
obviously can't access it due to encryption of /.

$ grub-probe -t abstraction /usr/share/images/desktop-base/desktop-grub.png
lvm

I used the partitioning assistant in the Debian installer to encrypt my
filesystem. The only thing I changed from the proposed setup is EXT4 -> BTRFS.

I think this is an important issue to not let users consider Debian is easy to
use.

Encryption is supposed to be widely used for laptops as they are likely to be
stolen/lost.

And starting you nice looking laptop with GRUB without background is not very
selling the Debian OS.