Hello!
I ran sudo pacman -Syu
this morning, saw that both Linux and Linux-LTS kernels were available so I went ahead and installed them. By default, I’ve been using the LTS kernel to boot into. After running the upgrade and reboot, I chose the LTS kernel to boot into from the limine bootloader. Received a kernel panic:
Failed to execute /init (error -2)
Kernel panic - not syncing: no working init found. try passing init= option to kernel. See linux documentation/init.txt for guidance.
I then had to hard reboot my system, choose the Linux kernel instead (not LTS), was able to boot into. Started doing research. I first tried to rebuild initramfs using sudo dracut --regenerate-all
but the command failed saying something along the lines of:
dracut: Executing: /usr/bin/dracut --kver=6.6.10-arch1-1 dracut: Can't write to /boot/efi/331c2b9ba8d141d282ee9e26cf3c5626/6.6.10-arch1-1: Directory /boot/efi/331c2b9ba8d141d282ee9e26cf3c5626/6.6.10-arch1-1 does not exist or is not accessible.
I then tried to figure more out about this, and stumbled upon this post from our beloved forum:
After reading this, I used sudo dracut-rebuild
and my issue was resolved; rebooting and choosing either Linux or Linux-LTS kernels boot my system fine.
My question is, after looking through the related binaries and their associated comments, I can’t seem to find this answer: what is the difference between these commands, why did one work, but the other didn’t?
Thanks so much in advance for any information or insight! Gratefully, my issue is resolved, but I’m just curious about this so I can learn.
As a final side note, I use limine as my bootloader and utilize other packages to automatically make kernel upgrades init images to limine, this is probably the 4th time I’ve had a kernel update in my current system and haven’t ever encountered this issue before this morning.