Skip to content
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

[RFC] Loader protocol with support for device path resolution and loading executables #656

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

kukrimate
Copy link

This rebases the current loader protocol work on main and adds support for loading executables if only a device path is provided. Currently the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL and EFI_LOAD_FILE2_PROTOCOL are supported, which should be sufficient for most users.

@kukrimate kukrimate force-pushed the loader-protocol branch 3 times, most recently from d57be0b to b997ca7 Compare April 18, 2024 10:54
Don't return an error if the firmware's event log is
full. The PCR should still be extended in this case
so there is no reason to make the system unbootable.
loader-proto.c Outdated Show resolved Hide resolved
loader-proto.c Show resolved Hide resolved
ardbiesheuvel and others added 7 commits May 24, 2024 10:55
Define a new protocol for loading and starting images, encapsulating
shim's PE loading facilities and verification/authentication against the
same set of certificates that shim_lock::verify() authenticates against.

This removes the need for loaders like GRUB to implement their own PE
loader in order to be able to invoke loaded images as PE applications,
rather than implementing a bespoke OS dependent handover protocol (e.g.,
invoke Linux via its EFI stub)

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Currently the EFI_SIMPLE_FILE_SYSTEM_PROTOCOL and EFI_LOAD_FILE2_PROTOCOL
are supported.

Signed-off-by: Mate Kukri <mate.kukri@canonical.com>
This will bring SBAT enforcement in-line with the shim_lock protocol.
…in_protocol

This isn't desirable when GRUB has control of the screen, and would mess
its content up.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants