You are not logged in.
Pages: 1
Hi. I just completed a fresh install but am unable to get grub to boot. I get prompted for the encryption (LUKS) password and then presented with the boot menu. However, I am unable to boot and get the below error:
[ TIME ] Timed out waiting for device /dev/76b10e-7d09-440f-9866-1fa13ded7422.
[DEPEND] Dependency failed for File System m76b10e-7d09-440f-9866-1fa13ded7422.
[DEPEND] Dependency failed for /sysroot.
[DEPEND] Dependency failed for Initrd Root File System.
[DEPEND] Dependency failed for Mountpoints Configured in the Real Root.
[DEPEND] Dependency failed for Initrd Root Device.I have the ESP on /dev/nvme0n1p1 and it's mounted at /efi. The rest of the filesystem including /boot is on RAID-1 (/dev/md/root) and mounted on /. I also have a RAID-1 device (/dev/md/swap). Both RAID devices are encrypted with LUKS while the ESP partition is unencrypted.
I'm using the sd-encrypt hook in my mkinitcpio.conf and it includes:
FILES=(/crypto_keyfile.bin)
HOOKS=(base systemd autodetect modconf kms keyboard sd-vconsole sd-encrypt block mdadm_udev filesystems fsck resume)I created a custom boot config that currently looks like the below. I added the rd.luks bits but it didn't seem to make any difference:
menuentry 'My Arch Linux' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod part_gpt
insmod diskfilter
insmod mdraid1x
insmod cryptodisk
insmod luks
insmod gcry_rijndael
insmod gcry_rijndael
insmod gcry_sha256
insmod ext2
cryptomount -u 30a4c677-76a8-4976-b172-80bb477e9f84
set root='cryptouuid/30a4c67776a84976b17280bb477e9f84'
search --no-floppy --fs-uuid --set=root --hint='cryptouuid/30a4c67776a84976b17280bb477e9f84' b576b10e-7d09-440f-9866-1fa13ded7422
echo 'Loading Linux linux ...'
linux /boot/vmlinuz-linux rd.luks.name=b576b10e-7d09-440f-9866-1fa13ded7422=root rd.luks.name=323529c4-d889-4469-8efd-9f1526829d6e=swap rd.luks.key=b576b10e-7d09-440f-9866-1fa13ded7422=/crypto_keyfile.bin rd.luks.key=323529c4-d889-4469-8efd-9f1526829d6e=/swap_crypto_keyfile.bin root=/dev/mapper/root resume=/dev/mapper/swap rw loglevel=3 quiet
echo 'Loading initial ramdisk ...'
initrd /boot/intel-ucode.img /boot/initramfs-linux.img
}Can anyone point out what I'm doing wrong? Happy to provide more info if needed. I'm getting prompted for the encryption password and it seems to be getting stuck at the loading ramdisk stage. Any ideas?
Thanks in advance.
Offline
you claim your ESP was mounted at /efi, yet your configuration shows
linux /boot/vmlinuz-linux it ought to be /efi/vmlinuz-linux
Offline
you claim your ESP was mounted at /efi, yet your configuration shows
linux /boot/vmlinuz-linuxit ought to be /efi/vmlinuz-linux
Not true at all, grub would be loading the kernel/initramfs from the root partition, not the ESP.
crazzyfool, maybe try moving the mdadm_udev hook to before sd_encrypt?
Last edited by Scimmia (2024-01-07 03:05:53)
Offline
But you don't know that for sure. wouldn't it depend upon what grub-install command he typed?
Offline
Yes, I know that for sure.
The rest of the filesystem including /boot is on RAID-1...
Plus they have grub decrypting it, and the key files in the kernel command line. They are specifically loading it from the root partiiton.
Last edited by Scimmia (2024-01-07 03:08:46)
Offline
Thanks I really appreciate your help. Unfortunately changing the HOOKS order as suggested didn't seem to make much difference. I first changed it to:
HOOKS=(base systemd autodetect modconf kms keyboard sd-vconsole mdadm_udev sd-encrypt block filesystems fsck resume)This produced an error that was the same but slightly longer with a dependency failure timeout for swap too. I then tried the following:
HOOKS=(base systemd autodetect modconf kms keyboard sd-vconsole block mdadm_udev sd-encrypt filesystems fsck resume)This resulted in exactly the same error I originally had without a swap dependency timeout error. Not sure how relevant this is but thought I'd mention it.
Offline
I have also noticed something rather strange. Again - may or may not be something. The grub error says:
[ TIME ] Timed out waiting for device /dev/76b10e-7d09-440f-9866-1fa13ded7422.
[DEPEND] Dependency failed for File System 76b10e-7d09-440f-9866-1fa13ded7422.However I manually copied that message from screen. The actual message includes an additional character preceding the UUID. The character looks like a square - not sure what it is but can take a picture if it helps. The odd thing is that character seems to be replacing the actual first two characters of the UUID. The actual UUID starts with a b5:
root@archiso ~ # blkid | grep 76b10e-7d09-440f-9866-1fa13ded7422
/dev/mapper/root: UUID="b576b10e-7d09-440f-9866-1fa13ded7422" BLOCK_SIZE="4096" TYPE="ext4"Is 'b5' being misinterpreted as a character or something? Could this be the issue?
Offline
I was gonna point out that the transcript in the OP doesn't fit the config in either instance.
Please upload the actual grub.cfg to eg. 0x0.st
Offline
I'm not sure I fully understand but here it is anyway.
Here's my custom configuration too (which was basically a copy of grub.cfg with the rd.luks bits added on the kernel options line):
Hopefully its helps shed some light on it.
Offline
[ TIME ] Timed out waiting for device /dev/76b10e-7d09-440f-9866-1fa13ded7422.
[DEPEND] Dependency failed for File System m76b10e-7d09-440f-9866-1fa13ded7422.
But the UUID in your config id b576b10e-7d09-440f-9866-1fa13ded7422
Because of your description I wondered whether there're maybe non-printable chars in the file, but it doesn't look like that.
The config in the second file is however not in the first one?
Because of the above it's important to share the actual file in /boot/grub - not some other rendition of it.
Offline
The config in the second file is however not in the first one?
Because of the above it's important to share the actual file in /boot/grub - not some other rendition of it.
I am providing you with the actual configuration files. I'm booting using /boot/grub/custom.cfg which get included by the following in grub.cfg:
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg
fi
### END /etc/grub.d/41_custom ###I'm currently logged in using the live distro and ran:
root@archiso ~ # curl -F'file=@/mnt/boot/grub/grub.cfg' https://0x0.st
https://0x0.st/HIs_.cfg
root@archiso ~ # curl -F'file=@/mnt/boot/grub/custom.cfg' https://0x0.st
https://0x0.st/HIsp.cfgThe only thing I manually copied was the boot error as I don't know how to get a text copy. I'll try and upload a photo so its clearer. In my OP I meant to just exclude the weird character (which I did in the first line) but in the second line I accidently read it and typed it as an "m". So if I replaced the weird character with an underscore the error should have been:
[ TIME ] Timed out waiting for device /_76b10e-7d09-440f-9866-1fa13ded7422.
[DEPEND] Dependency failed for File System _76b10e-7d09-440f-9866-1fa13ded7422.So instead of seeing b5 - I'm seeing a weird (square) character. This is the actual UUID of /dev/mapper/root:
root@archiso ~ # blkid | grep 76b10e-7d09-440f-9866-1fa13ded7422
/dev/mapper/root: UUID="b576b10e-7d09-440f-9866-1fa13ded7422" BLOCK_SIZE="4096" TYPE="ext4"And this is also the UUID I've used in all the config.
Just in case this helps:
root@archiso ~ # lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
loop0 squashfs 4.0 0 100% /run/archiso/airootfs
sda
├─sda1 exfat 1.0 Ventoy 207C-ADD7
│ └─ventoy iso9660 Joliet Extension ARCH_202312 2023-12-01-15-40-55-00
└─sda2 vfat FAT16 VTOYEFI C644-48F2
nvme1n1
├─nvme1n1p1 vfat FAT32 2F08-1758
├─nvme1n1p2 linux_raid_member 1.2 archiso:swap f3d61ef7-6ecb-61fc-6195-c0b15b27e83c
│ └─md127 crypto_LUKS 1 1a782f8d-3eef-424b-b2e7-c285df07c077
│ └─swap swap 1 323529c4-d889-4469-8efd-9f1526829d6e [SWAP]
└─nvme1n1p3 linux_raid_member 1.2 archiso:root f4f4cf9a-2008-e386-8d7b-ac8e56c106a8
└─md126 crypto_LUKS 1 30a4c677-76a8-4976-b172-80bb477e9f84
└─root ext4 1.0 b576b10e-7d09-440f-9866-1fa13ded7422 434.3G 0% /mnt
nvme0n1
├─nvme0n1p1 vfat FAT32 2E7B-304C 1021.6M 0% /mnt/efi
├─nvme0n1p2 linux_raid_member 1.2 archiso:swap f3d61ef7-6ecb-61fc-6195-c0b15b27e83c
│ └─md127 crypto_LUKS 1 1a782f8d-3eef-424b-b2e7-c285df07c077
│ └─swap swap 1 323529c4-d889-4469-8efd-9f1526829d6e [SWAP]
└─nvme0n1p3 linux_raid_member 1.2 archiso:root f4f4cf9a-2008-e386-8d7b-ac8e56c106a8
└─md126 crypto_LUKS 1 30a4c677-76a8-4976-b172-80bb477e9f84
└─root ext4 1.0 b576b10e-7d09-440f-9866-1fa13ded7422 434.3G 0% /mntOffline
Here is a photo of the actual boot error:
Offline
source $prefix/custom.cfg
Please try to inline that.
Offline
source $prefix/custom.cfg
Please try to inline that.
Hi. Sorry - I don't know what you mean. The grub.cfg was generated using grub-mkconfig. Do you want me to try copy the custom.cfg to (overwrite) grub.cfg and try again?
Last edited by crazzyfool (2024-01-08 10:22:30)
Offline
Okay I've done what I think you're asking me to do..........
Upon reboot I enter the encryption password:
Now just one menu item appears ("My Arch Linux"):
And here is the menu entry (identical to that in https://0x0.st/HIsp.cfg):
When I try to boot from it - I do get an additional error that I did not get before:
Followed by the same error as before:
Thanks.
Offline
What I meant is to replace the "source" stanza w/ the actual contents of the file, the smaller file probably lacks some curcial grub setup stuff.
But since the drop-in produces the same error, the indirect loading of the config is probably not the problem.
Offline
Pages: 1