It’s a pleasure to meet you! I’m Sven Rademakers, and together with Ruslan, we’re the fresh faces stepping up as the new stewards of the BMC firmware repository. The Turing Pi comes pre-equipped with firmware, a contribution that’s already been significant for our community. However, we’re convinced that we’ve only just begun to tap into its potential. Eager to explore every avenue, we’re thrilled to take you through our high-level vision and strategic direction for the firmware’s future in this blog post.
A Community-Centric Firmware
We’re determined to transform the firmware into a product that is by the community, for the community, and of the community. We’re committed to ensuring that every feature, update, and enhancement mirrors the needs and aspirations of our users.
Redefining Developer Experience
Our aim is to create a space where developers feel not just welcome, but enthusiastic about returning and contributing. In pursuit of this goal, we’re concentrating on the following core areas:
- Optimal Development Environment: We want developers to have a setup that’s easy to use and does not require alterations to or demand specific configurations from the host system. We envision an environment that behaves predictably.
- Speedy, Reproducible Builds: We understand the importance of time, hence quick and reproducible builds are a priority.
- Continuous Deployment: Our aim is to offer swift CI, a robust test harness, quality PR merges, and the flexibility to designate builds as the release.
A Strategic Roadmap
We’ve chosen to build upon the V1.X.X version of the firmware, which is functional and compatible with our goals, thanks to the buildroot system. Our strategy includes rewriting the userspace programs to address technical debt, bolster safety, build more sustainable components, and roll out enhanced features. We plan on making incremental improvements to the bootloader, drivers, and kernel, avoiding any drastic changes for the moment.
You’re welcome to follow the progress of our development on our GitHub page. The milestones page will keep you updated on our current and upcoming targets. We’ll be regularly assessing the synergy between our system and the GitHub issue tracker, and should we identify areas for improvement, rest assured, we’ll communicate about any new implementations.
Stability & Reliability
During our development process, our priority will be to ensure the stability of the master branch. This includes supporting the existing API and TPI tool. We encourage users to start leveraging it and exploring its features. We believe this approach will enrich the quality and features of our offering in the long run. Please note, the existing API (BMC) will soon transition to a new API.
The Wenyi0421 Repository
The Wenyi0421 repository was formerly used for firmware development. We’ve decided to branch off and commit our fresh inputs to this new branch, which implies that we’ll gradually phase out the Wenyi0421 repository.
Exciting Features on the Horizon
Stay tuned for regular updates on the thrilling features we’re working on. We may shuffle our priorities based on the evolving needs of our community. Our first offering will be the ability to flash nodes via our firmware (track issue here). Following this, we’ll be setting up a new gRPC API. A failsafe boot feature is also on the cards (see details here).
Join the Innovation
You can connect with me on Discord (svenrademakers#5793) for a chat about the firmware or even random topics – I’m quite fond of Rust, split keyboards, and sports in general!
Also, be sure to visit our Discord channel. If you have innovative ideas you’d like to discuss, the BMC Firmware wishlist is your go-to platform.
If you spot any bugs or have feature requests, please use the issue tracker on our GitHub page. We’ll soon have a contribution guide for those interested in lending a hand.
Let’s continue this journey of exploration and innovation together.