Hi everyone, I’m relatively new to Linux and entirely new to EndeavourOS. I’ve been trying to follow This guide , and I ran into some issues.
$ sudo downgrade linux
# select 5.12.15-arch1-1
$ sudo downgrade linux
So far, I’ve been unable to generate an initramfs to boot this kernel version. I’m using Dracut 059 and GRUB2. My goal is to maintain a GRUB menu entry that allows me to boot into either 6.6.23-1-lts or the latest kernel, separately from an entry for 5.12.15-arch1-1, which I would prefer for virtual machine experimentation.
However, for some reason, the 5.12.15-arch1-1 kernel won’t boot. My grub.cfg file currently looks like this for the 6.6.23-1-lts (which boots fine):
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-6af8be56-b217-4098-b6be-008e2a91e2c9' {
menuentry 'Arch Linux, linux-lts' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-advanced-6af8be56-b217-4098-b6be-008e2a91e2c9' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root F1A5-5169
echo 'Loading Linux linux-lts ...'
linux /vmlinuz-linux-lts root=UUID=6af8be56-b217-4098-b6be-008e2a91e2c9 rw rootflags=subvol=@ loglevel=3 quiet intel_iommu=on iommu=pt vfio_iommu_type1.allow_unsafe_interrupts=1 kvm.ignore_msrs=1 modprobe.blacklist=nouveau usbcore.autosuspend=-1 snd_hda_intel.power_save=0
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux-lts.img
}
Here, after the “Loading vmlinux-linux-lts and initramfs” messages, it immediately prompts for the encryption key and boots normally. However, for the entry:
menuentry 'Arch Linux, linux 5.12.16-arch1-1 ' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-6af8be56-b217-4098-b6be-008e2a91e2c9' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
search --no-floppy --fs-uuid --set=root F1A5-5169
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=6af8be56-b217-4098-b6be-008e2a91e2c9 rw rootflags=subvol=@ intel_iommu=on iommu=pt vfio_iommu_type1.allow_unsafe_interrupts=1 kvm.ignore_msrs=1 modprobe.blacklist=nouveau usbcore.autosuspend=-1 snd_hda_intel.power_save=0
echo 'Loading initial ramdisk ...'
initrd /intel-ucode.img /initramfs-linux-5.12.15-arch1-1.img
}
With this configuration, I encounter the same issue as the OP from this thread.
It seems like Dracut times out while waiting for the LUKS partition to become available in /dev/mapper/luks-UUID/. From rdsosreport.txt:
[ 137.642155] dracut-initqueue[635]: Warning: dracut-initqueue timeout, still waiting for the following initqueue hooks:
[ 137.645434] dracut-initqueue[635]: Warning: /lib/dracut/hooks/initqueue/finished/devexists-\x2fdev\x2fdisk\x2fby-uuid\x2f6af8be56-b217-4098-b6be-008e2a91e2c9.sh: "if ! grep -q After=remote-fs-pre.target /run/systemd/generator/systemd-cryptsetup@*.service 2>/dev/null; then
[ 137.645434] pgpc dracut-initqueue[635]: [ -e "/dev/disk/by-uuid/6af8be56-b217-4098-b6be-008e2a91e2c9" ]
It eventually times out, warns that /dev/mapper/luks-UUID does not exist, and enters an emergency shell. I suspect this might be an issue with Dracut, given that the 6.8 image works fine with the same setup. Is there perhaps a switch, setting, or command line option, or a module that needs to be explicitly included in Dracut for older kernels to boot on LUKS partitions?
Here are my configuration files:
$ sudo cat /etc/dracut.conf.d/*
# Configuration file automatically written by the Calamares system installer
# (This file is written once at install time and is safe to edit.)
# Enables support for LUKS full disk encryption with single sign-on from GRUB.
# force installing /etc/crypttab even if hostonly="no"
install_items+=" /etc/crypttab "
add_device+=" /dev/mapper/luks-207e5827-32f3-4f45-8037-c82bf5a592ba "
omit_dracutmodules+=" network cifs nfs nbd brltty "
compress="zstd"
add_dracutmodules+=" resume "
add_drivers+=" vfio vfio_iommu_type1 vfio_pci vfio_virqfd "
In the attached thread (while he was using systemd and I am using GRUB), it seems his issue was resolved after moving to mkinitcpio, which I've tried. However, not even the 6.8 Kernel initramfs seems to boot. I guess I need to find a way to generate an mkinitcpio.conf that translates exactly to whatever Dracut is currently doing.
Any thoughts?
Thank you.