eOS
A custom Yocto Linux distribution for the Raspberry Pi 5
eOS is a from-scratch embedded Linux platform built on Yocto/OpenEmbedded for the Raspberry Pi 5 (16GB). It pairs A/B RAUC OTA updates with an MQTT service bus, SQLite persistence, a Qt6/QML local UI, a Rust sensor-fusion framework, and a fully on-device voice subsystem.
- Platform
- Raspberry Pi 5 (16GB)
- OS
- Yocto / OpenEmbedded
- Update
- A/B RAUC OTA
- Bus
- MQTT · D-Bus
- Stack
- Rust · Qt6/QML · SQLite
Engineering detail
- Authored and extended Yocto recipes (.bb/.bbappend) across the meta-eos layer, with BitBake PR bumps, AUTOREV pinning, and IPK packaging for incremental on-device deployment
- Built the Linux subsystem stack: systemd unit design, D-Bus interfaces (org.eos.Config1, RoomCommands1, RoomAggregates1), a Mosquitto MQTT broker hardened with TLS and ACLs, and SQLite schema migrations with multi-writer concurrency tuning
- Wrote a generic Rust RoomAggregator framework for per-room sensor fusion across thermal, mmWave radar, air-quality, ambient-light, and PIR motion inputs, with D-Bus calibration and SQLite-backed persistence
- Owned the build and deploy flow end to end: extended kas orchestration plus an in-house eos-build CLI, cross-compilation, WIC image builds, bmaptool SD flashing, and RAUC A/B verification