-
Notifications
You must be signed in to change notification settings - Fork 293
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
Add support for a LoadOpt Hive #678
Labels
Comments
@vathpela what did you call the key for the path? i.e. the UCS-2 thing we store already? i.e. |
|
hughsie
added a commit
to fwupd/fwupd
that referenced
this issue
Sep 10, 2024
See rhboot/shim#678 for more details.
hughsie
added a commit
to fwupd/fwupd
that referenced
this issue
Sep 10, 2024
See rhboot/shim#678 for more details.
hughsie
added a commit
to fwupd/fwupd
that referenced
this issue
Oct 1, 2024
See rhboot/shim#678 for more details.
hughsie
added a commit
to fwupd/fwupd
that referenced
this issue
Oct 1, 2024
See rhboot/shim#678 for more details.
hughsie
added a commit
to fwupd/fwupd
that referenced
this issue
Oct 3, 2024
See rhboot/shim#678 for more details.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Right now we can only store a UCS2-LE path in the loadopt data for Shim to consume. We now also need to provide that, and a way for customers to add and remove options for kernel command line if we want to remove grub with a 1st stage switchroot/kexec-able kernel like shim.
The other problem is that real-world broken firmware sometimes pads or offsets the loadopt data meaning that we can’t parse strings reliably. We should also make sure that the data inside the hive has not been corrupted, but do not need to cryptographically sign it.
We could create a hive, similar to the BCD hive found in Windows, that includes an extensible and robust key value store:
ShimHiveItem
from offsetShimHive.items_offset
to allow us to add more header items toShimHive
in the future without breaking ABI.ShimHive
should normally be padded out to 512 bytes to ensure thatSetVariable
writes are as atomic as possible. The padding should beNUL
characters./EFI/$x/shim.env
(normal path mangling like for second stage etc). This allows us to workaround hardware bugs and still boot an installer.The text was updated successfully, but these errors were encountered: