Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [SOLVED] kernel doesn't support EFI handover (Read 1959 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

[SOLVED] kernel doesn't support EFI handover

TL;DR: Artix kernel will be supporting EFI handover protocol?

I'm not able to boot into my system with the lastest kernel version.
Code: [Select]
error: kernel doesn't support EFI handover.
error: you need to load the kernel first.

Press any key to continue..._
I updated yesterday but booted today. The new kernel (6.2.2.artix-1) has this weird change that made my computer unable to boot. Doing some research on the web I found this posts but I don't fully understand what's going on.
Reddit: Kernel doesn’t support EFI handover
fosstodon: Julian Andres Klode 🏳️‍🌈
So i asked on Artix's Telegram Group and a guy (God Emperator) give this link Github: archlinux/svntogit-packages where apparently is fixed on the Arch distro and said I have to make my own custom kernel where I enable the EFI handover protocol until I gets to the Artix distro.
The esiest way to get into my system was to boot from an old usb with an Artix iso and install the previous kernel (6.1.8.artix1-1) I had from the cache.
So, do I have to build my custom kernel for the EFI handover protocol from now to run the newest kernel or I should wait until the Aritx distro make the change to be able to boot?
I'm using the PRIME A320M-K motherboard, so all this situation means that my hardware is old and incompatible? On five years never happed something like this to me ha, ha.

EDIT: Just trying random stuff, I reinstalled the grub and now I booted with the last kernel (6.2.2.artix-1)... ( I hate when posting for help got solved something five minutes after, please don't kill me). I don't yet understand what's going on? Why all of this happed?

Re: [SOLVE]kernel doesn't support EFI handover

Reply #1
I don't yet understand what's going on? Why all of this happed?
From reading the links you provided it seems that what bit you was the grub you were using was not an Artix/Arch Grub. It was a Grub from a previous distro like Ubuntu etc.

Some other distros used patches to Grub that meant Grub used this 'EFI handover' protocol to load the kernel.

The 'EFI handover' method got deprecated and the Arch,and therefore the Artix, kernel recently remove the support
Quote
CONFIG_EFI_HANDOVER_PROTOCOL is not set
So your non Artix/Arch Grub could not load the latest Artix kernel since the change.

You installed a normal Artix/Arch Grub and could load the newer kernels again.

I think the change was probably worthy of of a news item/warning on the Arch frontpage but there is none.
I sort of understand why the thinking might be that if someone's using Arch they should/will have the Arch version of Grub.
But there's a lot of distrohopping goes on. And a lot of dual booting (One user on here seems to state they use different distro's based on the day of the week). So I imagine many people have been caught out by this?

Re: [SOLVE]kernel doesn't support EFI handover

Reply #2
Hi,
this affected me today, I'm using a Unified Kernel Image using systemd-stub as the UEFI stub and until I enabled EFI_HANDOVER_PROTOCOL in the kernel config I wasn't able to boot using kernel 6.2.2. BTW seems like Archlinux already re-enabled this option in the kernel config [1]

PS. My issue has to do with using /boot/efi as the ESP, once I switched to the recommended /efi location problem went away even without EFI_HANDOVER_PROTOCOL

[1] https://github.com/archlinux/svntogit-packages/commit/b4aaa848fd1b95f945b386ea8b60ce8354023f4f#diff-6503b30d816e211d1909eed3e1eff5f9105fdc48f5735921a59f4906f99415be

 

Re: [SOLVE]kernel doesn't support EFI handover

Reply #3
BTW seems like Archlinux already re-enabled this option in the kernel config
Thanks for the update on that. I think it's a wise move on their part. No idea of the overhead of having it enabled but doubt it's that bad? Dual booter's etc having a non booting system is very bad imho.