Hi

I've built a new coreboot payload in rust: CrabEFI (The rust mascot Ferris
is a crab).
https://review.coreboot.org/c/coreboot/+/91074 is the integration for it in
coreboot.

Currently, it supports booting from ACHI, xHCI, EHCI, NVMe, SDHCI, OHCI and
UHCI (last 3 only tested in qemu). It has initial secureboot support. It is
able to boot Linux with grub and systemd as UEFI bootloaders as well as
boot into the windows 11 install ISO.

For variable store it has its own SPI/NVM drivers that work on Intel
(thinkpad x220 and t480 tested), AMD (untested) and qemu. Variables get
stored in memory and authenticated and stored in NVM on a warm reset.
Locking down SPI flash NVM region is a TODO.  If needed I might add
SMMSTORE on platforms that don't support warm reset. I don't like SMM so
lets see how far we get without it.

CrabEFI's design is much simpler than tianocore: No DXE, just one binary
that does it all. This also is reflected in its size on flash: compressed
CrabEFI is now 300K, where EDK2 is 1.5M or more?

It's still in early development, so expect rough edges and missing
functionality but the goal is to be a viable alternative to EDK2 on at
least laptops, but also servers and embedded, without being too bloated and
packed with antifeatures (I am rather opinionated on EFI ;-)). On the
roadmap is adding AARCH64 support and be compliant with ARM specs and pass
their test suite (pass ARMs Test suites for BBR (EBBR, SBBR, ... ) ). I
also want to pass Windows HLK tests.

Arthur Heymans
_______________________________________________
coreboot mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to