alex
48e3bc48a9
fix(loader): install the security hook right before LoadImage
...
The hook was installed before retaining the shim protocol and reading
the image, so an error in either step returned without uninstalling
it. Install it immediately before LoadImage instead.
2026-09-26 18:58:54 -07:00
alex
5c2724fd22
fix(env): filter all ASCII control characters from leading args
...
The check for unprintable leading arguments added by firmware used
c < 0x1f, which missed 0x1f itself. Use is_ascii_control() instead.
2026-09-26 18:58:54 -07:00
alex
f7e7a9122b
fix(menu): ignore key events without an available key
...
Some firmware signals the key event without a key being available.
This previously aborted boot with "no key was pressed"; treat it as a
no-op and keep waiting instead.
2026-09-26 18:58:54 -07:00
alex
1f5bc07c22
fix(autoconfigure): match arm64 Image kernels
...
File names are lowercased before matching kernel prefixes, but the
arm64 prefix was "Image", so it could never match and arm64 kernels
were not autoconfigured. Use a lowercase "image" prefix.
2026-09-26 18:58:54 -07:00
alex
29cdc75776
chore(deps): bump rust to 1.98.1, bump all images, and dependencies ( #97 )
2026-09-25 11:28:32 -07:00
alex
0e4452b625
chore(upgrade): upgrade to rust v1.97.1, bump deps and migrate, bump images ( #95 )
2026-08-02 19:02:09 -07:00
alex
aafda6e3da
chore(deps): upgrade spin and shlex ( #86 )
2026-05-19 11:51:37 -05:00
Luca Di Maio
2c1c380ab5
sprout: measure xen and dom0 payloads and cmdlines into PCRs 9/11/12
...
Extend PCR 9 with the initrd, PCR 11 with the dom0 kernel,
and PCR 12 with the Xen options and dom0 cmdline.
Signed-off-by: Luca Di Maio <[email protected] >
2026-05-18 12:43:41 +02:00
alex
6f9c4a2852
chore(deps): upgrade rust and dependencies ( #82 )
2026-04-16 21:43:36 +00:00
Benjamin Leggett
c44b429553
fmt
2026-03-25 16:13:46 -04:00
Benjamin Leggett
c1115af841
Skip the UEFI crates during cargo test
2026-03-25 16:07:21 -04:00
Benjamin Leggett
b53d21cea5
Split out parsing stuff as well, and test it
2026-03-25 16:01:28 -04:00
Benjamin Leggett
133476a0df
Split out some BLS stuff into a separate testable crate without UEFI types
2026-03-25 15:31:47 -04:00
alex
c295de4951
chore(sprout): implement iterator stamping to cleanup code
2026-01-26 20:13:52 -08:00
alex
6a57c72869
feat(boot): introduce sort keys, which are sorted in reverse order, to make boot order more configurable ( #55 )
2025-12-21 14:11:26 -08:00
alex
d50f22a386
chore(docs): fix all rustdoc warnings ( #54 )
2025-12-21 14:11:10 -08:00
alex
81c8217ee0
fix(boot): on boot handoff, clear the screen using clear rather than reset ( #52 )
...
On some Dell firmware, the reset operation doesn't actually clear the screen.
This change uses clear instead of reset to ensure the screen is properly cleared.
2025-12-20 22:29:44 -08:00
alex
17e729d068
fix(eficore): unregister media loader on drop to prevent more opportunities for leaks ( #50 )
2025-12-20 22:01:04 -08:00
alex
2da457ee7c
feat(boot): clear screen before boot handoff, if --retain-boot-console is not specified on the command-line ( #51 )
2025-12-20 21:45:35 -08:00
a dinosaur
5dcd763db9
chore(options):use jaarg alloc-less api, removing map middleman ( #41 )
2025-11-25 21:34:18 -08:00
alex
5ad617c54f
feat(entries): support '*' suffix as a partial match to an entry
2025-11-15 20:36:31 -08:00
alex
0aa7a46808
Merge pull request #27 from edera-dev/feat/jaarg
...
feat(options): replace options parser with jaarg
2025-11-15 18:02:46 -08:00
alex
8711c54074
feat(boot): utilize jaarg for options parsing
2025-11-15 17:31:46 -08:00
alex
c053f62b88
fix(autoconfigure/linux): detect Image as a kernel, which openSUSE uses
2025-11-15 13:41:07 -08:00
alex
c4475ad42d
fix(boot): ensure top-level error is printed
2025-11-06 13:04:05 -05:00
alex
22780e6102
chore(eficore): decouple the shim support from the image load callsites
2025-11-06 11:52:00 -05:00
alex
c52d61b07f
fix(eficore): handle possible leak when the first install protocol interface fails
2025-11-04 14:32:32 -05:00
alex
a1028c629d
fix(eficore/env): improve quirk handling for dell systems
2025-11-03 23:58:48 -05:00
alex
503a9cba0a
chore(code): move load options parsing to crates/eficore
2025-11-03 23:45:35 -05:00
alex
532fb38d5a
chore(code): move crates/sprout to crates/boot and name it edera-sprout-boot
2025-11-03 22:52:54 -05:00
alex
9a803ad355
chore(code): sbat section generator build tool
2025-11-03 22:37:06 -05:00
alex
632781abbf
chore(code): split much of the efi support code to crates/eficore
2025-11-03 20:47:21 -05:00
alex
48497700d8
fix(sprout): make secure boot warning more specific
2025-11-03 15:31:44 -05:00
alex
37abe49347
feat(sprout): implement custom logger which shortens output
2025-11-03 14:45:48 -05:00
alex
ba634ed68a
fix(platform/timer): on x86_64, elide usage of asm!() and use _rdtsc() intrinsic
2025-11-03 02:57:22 -05:00
alex
be63c5171b
chore(doc): add clarifying comments in vercmp
2025-11-03 02:46:41 -05:00
alex
f740c35568
fix(tpm): add clarifying parentheses to version check
2025-11-03 02:37:52 -05:00
alex
8a0b70a99b
chore(doc): add documentation to VariableController::remove
2025-11-03 02:35:57 -05:00
alex
223a00563e
chore(menu): add note as to why we match on the timer event
2025-11-03 02:35:01 -05:00
alex
0017d7874d
feat(sprout): introduce no_std sprout which uses stable rust
2025-11-03 02:04:21 -05:00
alex
ed3bfb77c4
chore(crates): introduce new config crate for sprout configuration
2025-11-02 23:28:31 -05:00
alex
ccc75a2e14
chore(workspace): move most things into the workspace
2025-11-02 22:35:07 -05:00
alex
9c12e5f12f
chore(code): move sprout code to crates/sprout and remove splash support for minimalism
2025-11-02 22:23:00 -05:00