-
Notifications
You must be signed in to change notification settings - Fork 336
WIP: Switch to upstream gnu-efi (v4.0.4) #777
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
base: main
Are you sure you want to change the base?
Conversation
|
Tagging @gmbr3 and @jmontleon since some of the changes come from them. |
|
The follow-up PR adding riscv64 support is #778. |
|
I'll try and rework some of my commits (which obviously were purely test and look badly formatted early next week) - I should be less busy now since I've left university |
|
@gmbr3 that sounds fantastic, thank you in advance! |
|
In progress |
|
Self reminder: Check shim's LDS |
|
Hey @gmbr3, I was going to ask you for updates about ncroxon/gnu-efi#82 since it had been sitting approved but unmerged for a few weeks, but I see that a couple of days ago you've tweaked it further. Hopefully it will be merged soon. I have confirmed that, with that PR merged, we could drop the revert commit from this PR, since @vathpela can you please take a look at what's here and provide some early feedback? Thanks! |
Replace the shim-specific fork with the upstream version, specifically the most recent release. Some adjustment to shim's code are necessary to adapt to this change. Signed-off-by: Andrea Bolognani <abologna@redhat.com>
shim is a standalone EFI application so it shouldn't be necessary to look at the glibc headers when building it, and in fact attempting to do so results in a build failure. Signed-off-by: Andrea Bolognani <abologna@redhat.com>
We could theoretically set GNU_EFI_USE_REALLOCATEPOOL_ABI=0 to keep using the legacy ABI, but since gnu-efi uses the modern ABI internally and we call into its build systemd directly, doing that messes things up. Switching to the new ABI is just a matter of changing the order of arguments. Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Jason Montleon <jason@montleon.com>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Signed-off-by: Callum Farmer <gmbr3@opensuse.org>
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
7ff4ac3 to
c336ba7
Compare
|
Updating now that ncroxon/gnu-efi#82 has been merged and gnu-efi 4.0.4 has been tagged. With all that in place, I was able to undo the one remaining revert, meaning that a shim binary built from this branch will have feature parity with one built from the main branch. The git history is still a bit of a mess and clearly unfit for merging as is, but I feel that this is the closest we've ever been to finally making this critical step towards riscv64 support! @gmbr3 can you please go through your changes again and polish them up as needed? @vathpela it would be great if you could take a look too. Even in its current state, it should be possible to do at least a first-pass review of the code and provide some high-level feedback that can guide further work. Thank you both in advance! |
This is part of an attempt to bring riscv64 support into shim.
See #420 for the initial attempt and #641 for a revived one; the latter PR contains a lot of discussion, including requests from the maintainers to consolidate the work floating around in various branches into a single PR that could be looked at.
Mandatory disclaimer: I know basically nothing about the shim code base, so what I'm doing here consists in 1) taking code other people have written followed by 2) doing whatever is needed to make the compiler stop shouting at me. I am under no delusion that any of this would clear the bar for merging as is, hence the draft status. It's intended to be primarily a conversation starter. With the maintainers' guidance, hopefully we can refine it into something suitable for upstream.
I will have a second PR building on this one soon, which will take care of actually adding riscv64 support.