But you have to find something. These things do not happen. Do your research in pacman and journal log and add something to the story.
Look into your kernels’ modules folders and see if the lost modules are there, or not.
# Get path and info from a module
# Check paths for files
ls -l /lib/modules/$(uname -r)/kernel/drivers/block/drbd/
ls -l /lib/modules/$(uname -r)/kernel/drivers/block/
ls -l /lib/modules/$(uname -r)/kernel/drivers/
# Get verbose info
sudo mkinitcpio -v -p linux
When posting terminal output, logs, etc, post complete, and with the input command as well.
If the reboot still fails, I can only guess the following two directories may be damaged (They are created during installation through hardware detection).
I have overcome many arch based os’s installation or booting failures, even ever migrated one-partition legacy bios boot to reproduce into two-partition uefi boot in the above same procedure, but the reboot failure now is beyond my help.
Sorry, I will try to describe my problem more precisely with the information I found:
Updating the kernel of my EndeavourOS system using pacman leads to a unbootable system.
During the installation/update process of the kernel the initramfs is re-generated using mkinitcpio.
This is where I think the problem is coming from. mkinitcpio can’t find any kernel modules (see log of installation) and thus creates a initramfs missing important kernel modules for a bootable system.
I do know how to fix the problem. However, this fix is only temporary and needs to be done every time I update the kernel:
After updating the kernel using pacman before rebooting or in a backup system with chroot (when it is already to late) run:
depmod -a 6.2.1-arch1-1 // or whatever the newest installed kernel name is
mkinitcpio -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
I don’t know what depmod does, however after running it mkinitcpio can find the modules which were previously missing and my system boots normally next boot.
Seems like all ‘missing’ modules are in lib/modules/…
Output of mkinitcpio -v doesn’t give any useful error messages aside from the ones about missing modules.
between Arming ConditionNeedsUpdate... and Updating linux initcpios... there should be the line Updating module dependencies... which indicates that the hook /usr/share/libalpm/hooks/60-depmod.hook is run.
Please check if you have this hook-file.
It should look like that: