This repository contains the Linux Firmware package for balenaOS. It is deployed as a Balena Block.
This block provides the necessary firmware files for hardware support on balenaOS devices. It is intended for host OS system level use.
[!NOTE] While the
balenabranch contains workflows and deploy infra, themainbranch is a mirror of the upstream linux-firmware repo and is force-synced regularly. Local changes tomainwill not persist.
This repository includes automated workflows for maintenance and deployment:
- Repo Sync: A daily cron job (
repo-sync.yml) synchronizes themainbranch and tags from the upstream repository. - Deploy: Triggered by new tags or manually (
deploy.yml). It builds and deploys the firmware to thebalena_os/linux-firmware-x86andbalena_os/linux-firmware-armfleets.
| Trigger | Release Created | Finalized |
|---|---|---|
Pull Request to balena branch |
✅ Yes | ❌ No (draft) |
| Manual dispatch (default) | ✅ Yes | ❌ No (draft) |
Manual dispatch with finalize: true |
✅ Yes | ✅ Yes |
| Repo Sync completes (new upstream tags) | ✅ Yes | ✅ Yes |
When manually triggering the deploy workflow, the allow-revisions input
(default: true) controls behavior when a finalized release already exists for
the specified firmware tag:
allow-revisions: true— A new release (revision) is pushed regardless of existing releases.allow-revisions: false— No new release is created if a matching finalized release already exists.
Important
Merging changes to the balena branch does not automatically create a new
release. Releases are only created when triggered by the deploy workflow—either
manually or after the repo sync workflow detects new upstream tags.
This block is primarily used by balenaOS build systems.