Runtime Package Management: When, Why & How
2021-05-26, 17:05–17:20 (UTC), Presentation Room

Setting up an HTTP remote package server and pointing your target clients at it is easier than you might think. Python's built-in http.server module can be used to quickly serve up ipk package feeds from your Yocto build machine. I will demonstrate how to add the opkg package manager to a distro layer and configure the tool to download and install a newly-built package on demand.


Runtime package management is a controversial topic in the embedded Linux community. It is a known attack vector for hijacking consumer devices and can result in inconsistent states or even bricking when relied on for OTA updates. We will look at what conveniences runtime package management offers software development teams and which stages of the product development cycle does it make the most sense.

See also: Slides

Frank Vasquez is a Senior Staff Firmware Engineer at Lunar Energy. He has over a decade of experience designing and building embedded Linux systems. During that time, he has shipped numerous devices including a rackmount DSP audio server, a diver-held sonar camcorder, and a consumer IoT hotspot. Before his career as an embedded Linux engineer, Frank was a database kernel developer at IBM where he worked on DB2. He lives in Silicon Valley.