OSFC 2019 - Oreboot
Channel: Open Source Firmware Conference
Date: 02/12/2019

This talk was held at 9elements Cyber Security's Open Source Firmware Conference in Silicon Valley.

Presenter: Ryan O'Leary
Abstract:
Oreboot = Coreboot without C. Oreboot is a fully open-source power-on-reset and romstage firmware written in Rust. By design, the firmware requires all support packages (such as memory init) to be open-source. Currently, Oreboot can boot an AST2500 ARM BMC to Linux with a u-bmc user-mode.
Oreboot rethinks the firmware driver models. Each driver is distilled to four basic functions: init, pread, pwrite and shutdown. This interface allows us to make convenient higher-level drivers such as a "union driver" which duplicates a single write operation to multiple drivers. This makes consoles which have multiple underlying UART drivers elegant.
By using the Rust programming language, Oreboot has a leg-up in terms of security and reliability compared to contemporary firmware written in C or assembly. Rust's borrow-checker ensures pointers are not used after being freed and proves that coroutines are thread-safe at compile time.
In this talk, we will also present a short overview of the basics of Rust, how our driver model incorporates coroutines and the bootflow of Oreboot.

WEBSITE: https://osfc.io
TWITTER: https://twitter.com/osfc_io
FACEBOOK: https://facebook.com/osfc.io
PAPER: https://2019.osfc.io/talks/oreboot.html
ORGANIZER: https://9esec.io