Subrata Banik

Subrata Banik

Subrata Banik is a Firmware Engineer with twelve years of industry experience in system firmware design,
development and debugging across various firmware architectures like EDK, coreboot, Slim bootloader etc. for x86
and ARM platforms. Subrata has experience working for all leading PC-makers. Subrata is an active member of open
source firmware development across different projects like coreboot, oreboot, EDKII etc., where he is one of the top
ten contributors in the open firmware (coreboot) community. Subrata has 17 US Patents approved and is very
passionate about learning new technology and sharing knowledge among enthusiast engineers. Subrata has
presented his technical talk at industry events such as Open Source Firmware conference, Institute for Security and
Technology, Intel Developer Forum etc. Subrata is also a first-time author working with Apress publication on
publishing two of his books on essentials of System Firmware and Firmware Development.

MicroPython based interactive platform configuration for Coreboot

MicroPython as a full Python compiler and runtime that runs on the bare-metal, presents very light weight use cases of executable scripts for microcontrollers and embedded devices today. It is useful and beneficiary because python script can be executed without having a fully running operating system such as Linux/Windows.

This presentation talks about some work done in enabling MicroPython in Coreboot with libpayload, and some potential future use case enabling that can comes with it. The platform that was used for this enabling activity is x86 QEMU.

Currently coreboot limits the update of certain FSP related boot parameters during compile time only. This limits developers/advanced user to make changes rapidly. Idea here is to have Micropython based UI which allows user to modify boot parameters without having to re-compile the code. Micropython can be run as alternative payload so it doesn't hinder current user experience but can provide useful tool to developers to tinker multiple parameters without re-compiling code multiple times.