Description
Description: After unlocking a LUKS-encrypted root partition (/dev/sda1), Dracut fails to mount the root filesystem. It incorrectly references /dev/mapper/luks-d0e2cc38-... (UUID of the LUKS partition) instead of the decrypted filesystem's UUID (90abb01c-...).
Error 'dracut Warning: /dev/disk/by-uuid/d0e2cc38-8c50-4cfd-96f8-2a4eb01651af does not exist'
Distro: Gentoo Linux (Custom Kernel)
Dracut Version: 106
Init System: OpenRC
Steps to Reproduce
- Install Gentoo on x32 hardware (VIA KT400 chipset).
- Configure LUKS encryption for /dev/sda1.
- Generate initramfs with default settings.
- Boot with root=UUID=d0e2cc38-... (UUID of the LUKS partition).
Observed Behavior:
- Dracut decrypts the partition but creates /dev/mapper/luks-90abb01c-... (filesystem UUID).
- Fails to mount rootfs because it searches for /dev/disk/by-uuid/d0e2cc38-... (LUKS UUID).
Expected Behavior:
Dracut should either:
Mount the rootfs using the decrypted filesystem’s UUID (90abb01c-...), or
Name the mapper device as /dev/mapper/luks-d0e2cc38-... (LUKS UUID) to match root=UUID=....
Suspected Cause:
Dracut uses the LUKS partition’s UUID to name the mapper device or resolve root=UUID=..., but the decrypted filesystem has a different UUID. This creates a mismatch between the expected and actual device paths.