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]

