Subject: bug#48649: Guix doesn't boot with LUKS root partition

From: Juraj Hlista <[email-masked]>
Date: Tue, 25 May 2021 09:24:39 +0000

Hi,

I have Librem 14 (coreboot/seaBIOS) with Samsung 970 Evo Plus 2TB SSD. I installed Guix manually, the disk has MBR partition table and these partitions:

/dev/nvme0n1p1 - 1GB, Linux (83), bootable
/dev/nvme0n1p2 - 1.8TB, Linux (83)

The nvme0n1p1 (/boot) is unencrypted with ext4:
mkfs.ext4 -L system-boot /dev/nvme0n1p1

The nvme0n1p2 (/) is encrypted using LUKS and on top is ext4:
cryptsetup luksFormat /dev/nvme0n1p2
cryptsetup open /dev/nvme0n1p2 luks
mkfs.ext4 -L system-root /dev/mapper/luks

mount LABEL=system-root /mnt
mkdir /mnt/etc /mnt/boot
mount LABEL=system-boot /mnt/boot

herd start cow-store /mnt

The relevant part on /mnt/etc/config.scm:

(bootloader
  (bootloader-configuration
    (bootloader grub-bootloader)
    (target "/dev/nvme0n1")))
(mapped-devices
  (list (mapped-device
          (source (uuid "..."))
          (target "luks")
          (type luks-device-mapping))))
(file-systems
  (cons* (file-system
           (mount-point "/")
           (device "/dev/mapper/luks")
           (type "ext4")
           (dependencies mapped-devices))
         %base-file-systems)))

guix system init /mnt/etc/config.scm /mnt

Installation is without any errors. After rebooting grub asks for a password to decrypt LUKS partition, then gives me the boot menu. When I hit enter, the laptop gets stuck, I can't do ctrl+alt+f3,f4... only ctrl+alt+del works.

Attached are pictures from grub.

I also tried to use unencrypted root partition (basically the same as above, but without LUKS) and it works.

Thanks,
J