⭐️ New U-Boot v2025.04 available for the Omega2 ⭐️
-
What’s new:
- A bootloader based on U-boot v2025.04 is now available for the Omega2 modules
- Support for the Omega2 is being upstreamed into mainline u-boot
What can I expect from this bootloader?
U-Boot is a big step up from the legacy bootloader:
- More firmware flashing and recovery options
- Support available for more modern features: enhanced command line utilities, support for scripting, networking
- End-users can customize U-Boot behaviour without rebuilding from source
- Based on an active, maintainable, and extendable code base
The U-Boot bootloader is more developer-focused and does not have web-based firmware recovery like the legacy bootloader. Instead, more flexible command line options for firmware flashing and recovery are available.
How can I get and use this new bootloader?
Try out the new U-Boot on your device by following the upgrade procedure here: https://documentation.onioniot.com/bootloader/upgrading-old-bootloader
Just be aware: updating the bootloader has the potential to be a destructive action and can lead to a device becoming bricked or unusable.
More information on the new bootloader and using it can be found on the new documentation site: https://documentation.onioniot.com/bootloader/overview
There’s articles on:
- Activating the U-Boot Command Prompt
- Flashing Firmware over Ethernet
- Flashing Firmware over Serial
- How to upgrade the U-Boot bootloader
- Stop auto-boot into Linux with keyboard input
How is it built?
The https://github.com/OnionIoT/u-boot-wrapper GitHub repo is used to build and release U-Boot images for the Omega2 family.
This repo has a
profile
configuration file that specifies which repo to use, which commit in that repo, as well as information about the target. It currently points to Onion’s fork of u-boot, but when Omega2 support is upstreamed, it will point to the u-boot/u-boot tree.Users interested in building their own U-Boot can check out the README in the OnionIoT/u-boot-wrapper repo. However, I do encourage you to check out the environment setup and scripting abilities of modern U-Boot to see if that will suit your customization needs before resorting to building your own custom version. More information on U-boot scripting here:
- https://docs.u-boot.org/en/latest/usage/cmdline.html
- https://docs.u-boot.org/en/latest/usage/index.html#shell-commands
Also, based on your feedback of the fragility of the legacy bootloader environment, we’ve created multi-arch Docker images for compiling U-Boot. Learn more about that here:
- https://github.com/OnionIoT/u-boot-wrapper?tab=readme-ov-file#using-docker
- https://github.com/OnionIoT/u-boot-wrapper?tab=readme-ov-file#method-2-using-onions-docker-image
How can I give feedback?
Reply here! I’ll be around to chat!
If you have feedback on an Onion documentation article about U-Boot, please drop a comment in the article itself. If it’s a a more in-depth suggestion or bug report about the documentation, please create an issue in the OnionIoT/documentation repo.
If you have questions or problems U-Boot itself, create an issue in the OnionIoT/u-boot-wrapper repo or post here on the Onion Community Forum
What’s next?
- Support for the Omega2 modules is currently being mainlined into the u-boot tree
- At some point in the future, the new U-Boot bootloader will be flashed on Omega2 devices during production - don’t worry we’ll give plenty of notice before this happens!!
TL;DR
A modern U-Boot bootloader is available for the Omega2 that offers modern, developer-focused functionality.
Try it out by following the instructions on upgrading the old bootloader. Let us know what you think!
-
Yet we dont have the ethernet port connected and also cant use the ethernet eval boards. Is it possible to flash it with uart connection and transfer uboot image over wifi?