Google Pushes "Project PIANO" Into Coreboot
TianoCore is the open-source implementation of UEFI from Intel. TianoCore itself doesn't provide for any hardware initialization support but does complement Coreboot quite nicely for completing the stack.
Piquing interest today was a commit entitled Project PIANO aka tianocoreboot. The commit was done by Stefan Reinauer, part of Google's Chrome OS team where he focuses upon making Chrome OS devices boot very fast using Coreboot rather than a traditional BIOS/UEFI system. Reinauer is one of the original Coreboot developers and also the most prolific contributor. As detailed last week at Phoronix, Google Is One Of The Biggest Backers Of Coreboot.
Reinauer's large Project PIANO commit today carries a description of, "This is a Tiano Core loader payload based on libpayload. It will load a Tiano Core DXE core from an UEFI firmware volume stored in CBFS." This work though is still in progress, "Currently Tiano Core dies because it does not find all the UEFI services it needs."
Basically this work comes down to integrating a TianoCore payload into the mainline Coreboot code-base. Enabling PAYLOAD_TIANOCORE when building Coreboot will provide it with a Coreboot image containing the TianoCore payload. Dropping in this payload is quite big.
Details on other Coreboot payloads can be found on the Coreboot.org Wiki. Aside from TianoCore, there's payloads of bootloaders for SeaBIOS, GRUB2, OpenBIOS, and OpenFirmware. There's also support for booting directly to Linux, various BSD distributions, and even Windows or other OS-level projects like Memtest86.
Coreboot will be talked about more this weekend at FOSDEM.