You are not logged in.

#1 2024-01-07 00:46:24

crazzyfool
Member
Registered: 2014-04-07
Posts: 33

Grub timed out waiting for device

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

#2 2024-01-07 02:58:37

ponyrider
Member
Registered: 2014-11-18
Posts: 112

Re: Grub timed out waiting for device

you claim your ESP was mounted at /efi, yet your configuration shows 

linux   /boot/vmlinuz-linux 

it ought to be /efi/vmlinuz-linux

Offline

#3 2024-01-07 03:01:11

Scimmia
Fellow
Registered: 2012-09-01
Posts: 13,727

Re: Grub timed out waiting for device

ponyrider wrote:

you claim your ESP was mounted at /efi, yet your configuration shows 

linux   /boot/vmlinuz-linux 

it 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

#4 2024-01-07 03:06:08

ponyrider
Member
Registered: 2014-11-18
Posts: 112

Re: Grub timed out waiting for device

But you don't know that for sure. wouldn't it depend upon what grub-install command he typed?

Offline

#5 2024-01-07 03:07:41

Scimmia
Fellow
Registered: 2012-09-01
Posts: 13,727

Re: Grub timed out waiting for device

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

#6 2024-01-07 17:33:56

crazzyfool
Member
Registered: 2014-04-07
Posts: 33

Re: Grub timed out waiting for device

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

#7 2024-01-07 18:12:24

crazzyfool
Member
Registered: 2014-04-07
Posts: 33

Re: Grub timed out waiting for device

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

#8 2024-01-07 18:18:51

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,044

Re: Grub timed out waiting for device

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

#9 2024-01-07 22:40:25

crazzyfool
Member
Registered: 2014-04-07
Posts: 33

Re: Grub timed out waiting for device

I'm not sure I fully understand but here it is anyway.

https://0x0.st/HIs_.cfg

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):

https://0x0.st/HIsp.cfg

Hopefully its helps shed some light on it.

Offline

#10 2024-01-07 23:01:05

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,044

Re: Grub timed out waiting for device

Your OP wrote:

[ 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

#11 2024-01-08 00:21:53

crazzyfool
Member
Registered: 2014-04-07
Posts: 33

Re: Grub timed out waiting for device

seth wrote:

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.cfg

The 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% /mnt

Offline

#12 2024-01-08 00:53:22

crazzyfool
Member
Registered: 2014-04-07
Posts: 33

Re: Grub timed out waiting for device

Here is a photo of the actual boot error:

https://0x0.st/HIzM.01.jpeg

Offline

#13 2024-01-08 07:44:34

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,044

Re: Grub timed out waiting for device

source $prefix/custom.cfg

Please try to inline that.

Offline

#14 2024-01-08 09:43:05

crazzyfool
Member
Registered: 2014-04-07
Posts: 33

Re: Grub timed out waiting for device

seth wrote:

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

#15 2024-01-08 13:23:59

crazzyfool
Member
Registered: 2014-04-07
Posts: 33

Re: Grub timed out waiting for device

Okay I've done what I think you're asking me to do..........

Upon reboot I enter the encryption password:

https://0x0.st/HIHT.jpeg


Now just one menu item appears ("My Arch Linux"):

https://0x0.st/HIHA.jpeg


And here is the menu entry (identical to that in https://0x0.st/HIsp.cfg):

https://0x0.st/HIHm.jpeg


When I try to boot from it - I do get an additional error that I did not get before:

https://0x0.st/HIHm.jpeg


Followed by the same error as before:

https://0x0.st/HIHS.jpeg



Thanks.

Offline

#16 2024-01-08 14:15:56

seth
Member
From: Won't reply 2 private help req
Registered: 2012-09-03
Posts: 76,044

Re: Grub timed out waiting for device

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

Board footer

Powered by FluxBB