You are not logged in.
I dualboot Arch Linux and FreeBSD, but I don't use Arch that often (mostly for gaming), so I haven't updated in a while. Today I ran all the upgrades (glibc, /lib-move...) and they all seemed to have worked after some fiddling and tweaking.
However, after the first reboot, Grub2 (installed from and located in FreeBSD) tells me
/init: Line 27 modprobe: not found
...
And then it can't decrypt the root filesystem, because it says sda5 is not a luks container and cryptodev wasn't specified. The entire Arch-partition is encrypted, sda5 IS the container and cryptodev is actually specified:
menuentry "ArchLinux, nomodeset" {
insmod ext2
set root=(hd0,4)
linux /vmlinuz-linux cryptdevice=/dev/sda5:ARCHDECRYPT root=/dev/mapper/ARCHDECRYPT nomodeset ro
initrd /initramfs-linux.img
}Note that I did not change any Grub2 settings. They have worked for more than a year on for FreeBSD and Arch without any problems. The Arch upgrade definitely did not change any grub2-settings, I know, because FreeBSD still boots fine and the config hasnt changed. Its just Arch that won't boot anymore.
Any ideas? Did kernels move to a different place or something like that?
Thank you for your help.
Offline
Likely a problem with your initramfs. Regenerate it (either from a rescue boot entry if you have that, or a live media) using "mkinitcpio -p linux".
Offline
Likely a problem with your initramfs. Regenerate it (either from a rescue boot entry if you have that, or a live media) using "mkinitcpio -p linux".
Thabk you for your help. I regenerated the initrams from a livecd and chroot. That went without Problems, but booting still gives me the Same warnings ![]()
It looks like the right hooks are inserted into the initrams, but that it cant load modules for some reason. i will upload a screenshot in a second.
i also moved around inside the initrd after being dropped there. Apperently something is wrong there. If i Run /bin/modprobe it says Not found, although it even autocompletes for the command. Maybe some things for the initram are out of sync in the userland and the mofprobe being pulled in doesnt work with the Kernel?
Strange that noone Else is seeing this...
Offline
Here's the "screenshot":
http://soulrebel.in-berlin.de/pub/DSC_0005.jpg
Offline
No ideas anyone? I really want to be able to get back in the system ![]()
Offline
Your initramfs image is broken due to lack of the modprobe command. Fix that.
Offline
I guess you should reinstall kmod before running
mkinitcpio -p linuxOffline
Thanks for your help! I have reinstalled kmod and upgraded linux, linux-headers and mkinitcpio in the chroot.
Now the modprobe binary in the initram works (no error regarding that). However the error regarding sda5 not being a LUKS container remains the same. I checked with lsmod that dm_crypt is loaded in the initram, so thats not the problem...
Offline
You said it complained that "cryptdevice" wasn't used but the image says "crypto" which is, indeed, not included in your parameters. I don't know anything about LUKS or using encrypted partitions so maybe this is a red herring but it does seem to be literally correct as a report of the parameters you're passing.
CLI Paste | How To Ask Questions
Arch Linux | x86_64 | GPT | EFI boot | refind | stub loader | systemd | LVM2 on LUKS
Lenovo x270 | Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz | Intel Wireless 8265/8275 | US keyboard w/ Euro | 512G NVMe INTEL SSDPEKKF512G7L
Offline
Ok, I got it fixed. It seems to be a bug in the initram system or the creation thereof.
cryptsetup gets installed to /usr/local/sbin/ in the initramfs, but this dir is not in the initram's PATH, so the command "cryptsetup isLuks ..." fails (because cryptsetup is not found). I have hacked a line into the encrypt-hook that adds the dir to the $PATH, but I think it would be cleaner, if cryptsetup where installed with the other binaries.
Offline
Ok, I got it fixed. It seems to be a bug in the initram system or the creation thereof.
cryptsetup gets installed to /usr/local/sbin/ in the initramfs, but this dir is not in the initram's PATH, so the command "cryptsetup isLuks ..." fails (because cryptsetup is not found). I have hacked a line into the encrypt-hook that adds the dir to the $PATH, but I think it would be cleaner, if cryptsetup where installed with the other binaries.
If cryptsetup is installed to /usr/local/sbin in the initramfs, then it means that /usr/local/sbin/cryptsetup exists in your filesystem. Protip: it shouldn't.
Offline