Hello, I recently updated my artix runit install to get the latest graphics drivers. When I rebooted I was greeted with an error message saying it cannot find my UEFI boot partition on my nvme ssd. I have tried many different things, regenerating the fstab, reinstalling grub, and using efibootmgr to create a new boot option pointing to the drive, and none of them work. I believe the issue is with runit but I do not know for sure. I do have matlib32 enabled for steam, I don't know if that matters but I'll mention it anyway. I have attached an image of the error code.
I'm not sure since it's still on initramfs stage, the but looks like the UUID of your partition might have changed. You may want to check that.
So I checked again and i had the UUIDs mixed up. The UUID it can't find is the root partition and specifically the Filesystem UUID. The partitions I have for the main drive are /dev/nvme0n1p1 boot, /dev/nvme0n1p2 root, and /dev/nvme0n1p3 home. I'd rather not reinstall but if that is needed I am willing to do so.
So I switched from grub to efistub to see if the issue was grub and I still got the same issue. I downgraded the kernel and headers to the previous version that worked, kernel version 5.7.6, and i still got the same issue. I then tried to downgrade the linux-firmware but pacman would not let me, the error was /usr/bin/tmpfiles: /sys/devices/system/cpu/microcode/reload: cannot create [Read-only file system]. However, I was able to uninstall the linux-firmware but now I do not have it installed because I get the same issue with pacman and with basestrap when I try to install the kernel. I don't know if this is important or not but I noticed that the error mentioned /usr/bin/tmpfiles and when I would boot the same message would show up saying /usr/bin/tmpfiles cannot be used in a function or something like that.
What if you change your GRUB configuration from using UUID to using its partition directly (eg. root=/dev/nvme0n1p2 instead of root=UUID=abcd-abcd)? I really cannot reproduce this.
I did try that and it brings up the same error. When im in the emergency shell and I ls /dev I can see my other drives but the nvme drive. I might just reinstall since it shouldn't take too long.
I was able to downgrade the linux-firmware to version 20200519 and the kernel to 5.7.6 and now I am able to boot. The issue seems to be that when the kernel/firmware is upgraded the system no longer see my nvme drive.
So the issue seems to be caused by the kernel because I tried the zen kernel which is version 5.7.9 and the nvme drive does not show up in the /dev folder. I going to change the title to Linux Kernel cannot see my nvme ssd.
The issue is with the Kernel. It seems to be a bug with kernel 5.* and was fixed for a bit but seems to be back. My current solution was to downgrade the Kernel to version 5.7.6 and downgrade all Nvidia drivers to 440.100.
Man, kernel and drivers are really hit and miss. Glad you can solve the problem.
Since this is not a runit problem, I'm moving this to somewhere else.