(I’ve created this thread with the same title as my last one as this question is closely related to that one)
After updating a laptop of mine with EndeavourOS installed in it, I cannot boot. The boot manager shows only one entry - 'Reboot to Firmware Interface '.
My attempt at fixing it (in steps)-
Boot through live usb.
Run lsblk, identify partitions to mount.
Mount root partition to /mnt/arch/.
Mount efi partition to /mnt/arch/efi
Run ‘sudo arch-chroot /mnt/arch/ /bin/bash’
Within chroot, run ‘pacman -Syu’, then ‘bootctl install’, then ‘bootctl update’.
Then run ‘reinstall-kernels’.
I get the following error after this -
"
Warning: errors were encountered during the build. The image may not be complete.
/usr/lib/kernel/install.d/50-mkinitcpio-fallback.install failed with error status 1.
"
7. Then run “mkinitcpio -P”.
I get this error -
"
ERROR: specified kernel image does not exist: ‘/efi/b27…/6.4.10-arch1-1/linux’
"
I’m lost as to where the issue is from. I tried to reinstall the kernels using Pacman too, that didn’t help.
EndeavourOS does not use mkinitcpio anymore.
If your installation media was rather recent and you followed some guides telling you to install mkinitcpio, that’s the cause why you are having issues.
if your installation media was rather old, you need other guides to chroot in. The one you mentioned in your first post was written for dracut.
As mentioned further above in the thread, recent EnOS installations use dracut as default tool for creating initramfs images.
Understanding reinstall-kernels
The script reinstall-kernels both regenerate the initrds and create/update the boot entries. It works with both dracut and mkinitcpio as long as you have either kernel-install-for-dracut(The default) or kernel-install-mkinitcpio(AUR) installed.
Edit:
But, I get this when I run yay -S kernel-install-mkinitcpio
-> Avoid running yay as root/sudo.
AUR Explicit (1): kernel-install-mkinitcpio-1.5-1
:: (0/1) Downloaded PKGBUILD: kernel-install-mkinitcpio
-> error fetching kernel-install-mkinitcpio: System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
context: exit status 1
And I get this when I run yay -S kernel-install-for-dracut
-> Avoid running yay as root/sudo.
Sync Explicit (1): kernel-install-for-dracut-1.8-1
resolving dependencies...
looking for conflicting packages...
:: kernel-install-for-dracut and mkinitcpio are in conflict. Remove mkinitcpio? [y/N]