Among many challanges around initializing hardware, security, and booting into operating systems, firmware also needs to provide an interface for the user to change settings, set up a trust anchor, or simply enjoy colorful graphics. This talk summarizes approaches from (U)EFI dating back to 2003, looking at modern OEM UIs in comparison to open implementations such as the menu in webboot, those from System76, EDK2, and Dasharo, and showcasing prototyping environments for further development, finishing with a short discussion of reusable and portable abstractions for designing APIs.
Speakers: Daniel Maslowski