-
-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kexec is broken with lanzaboote #143
Comments
Can you show the command line that used to work for you before?
I'm pretty sure kexec doesn't support UEFI binaries. You need to specify the kernel directly for |
It looks like you are right about the UEFI binaries, when I disable lanzaboote, it runs load with one of those bzImage files and it works well.
So it seems like when lanzaboote is enabled it tries to load a UEFI binary for some reason. |
Looked into it and it seems like kexec has yet to add support for Unified Kernel Images1. As lanzaboote only emits UKI's onto your ESP that one won't work, as a workaround try to use the kernel and init path provided by Footnotes |
I ran into this same problem a few weeks ago. If no kernel is manually loaded for kexec, systemd will try to load the one in the default boot loader entry. Run The solution seems to be to enable/run the |
It looks like systemd can either parse the systemd-boot conf to determine the linux kernel to kexec or it just looks in I did look into the systemd source code though and noticed there is a functionality to allow other bootloaders to specify this sort of information: https://github.com/systemd/systemd/blob/v253/src/shared/bootspec.c#L1154-L1159
So we could just synthesize a |
This service is already enabled, but for some reason it doesn't get run automatically. |
I meant enable as in run on startup, like the
|
systemd.services."prepare-kexec".wantedBy = [ "multi-user.target" ]; I added to my configuration and the problems are fixed! |
This seems like something that should be sent to NixOS upstream by pinging the @NixOS/systemd team. |
If someone can retest kexec on master, let me know. I will try to write test for it before. |
I am trying to reboot via kexec my computer using
systemdctl kexec
. This used to work just fine with normal nixos, but I am trying out lanzaboote (very cool btw :)) and it is not working at all anymore.I now get this error.
Is there something I can do to fix this, or is kexec just something that is broken right now?
The text was updated successfully, but these errors were encountered: