-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- README was really out-of-date at this point, so here is an update - fixed few things here and there in the getting started section Signed-off-by: AtomicFS <vojtech.vesely@9elements.com>
- Loading branch information
Showing
7 changed files
with
44 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,30 @@ | ||
# Compile Firmware | ||
# Firmware-Action | ||
|
||
[![Lint](https://github.com/9elements/firmware-action/actions/workflows/lint.yml/badge.svg)](https://github.com/9elements/firmware-action/actions/workflows/lint.yml) | ||
[![pytest](https://github.com/9elements/firmware-action/actions/workflows/pytest.yml/badge.svg)](https://github.com/9elements/firmware-action/actions/workflows/pytest.yml) | ||
[![dagger](https://github.com/9elements/firmware-action/actions/workflows/docker-build-and-test.yml/badge.svg)](https://github.com/9elements/firmware-action/actions/workflows/docker-build-and-test.yml) | ||
[![go test](https://github.com/9elements/firmware-action/actions/workflows/go-test.yml/badge.svg)](https://github.com/9elements/firmware-action/actions/workflows/go-test.yml) | ||
|
||
This repository contains tools to simplify builds of firmware stacks. | ||
Firmware-Action is a tool to simplify building firmware. Think of it as `Makefile` or `Taskfile` but specifically for firmware. The tool it-self is written entirely in [Golang](https://go.dev/). | ||
|
||
At the moment it supports: | ||
Motivation behind the creation is to unify building of firmware across development environments. The goal of firmware action is to run on your local machine but also in your CI/CD pipeline, with the same configuration producing the same output. | ||
|
||
There is also a independent python tool to prepare Docker containers to be used with Firmware-Action. These are hosted in GitHub and are freely available (no need to build any Docker containers yourself). | ||
|
||
There is also a GitHub action integration allowing you to use Firmware-Action in your GitHub CI/CD. | ||
|
||
At the moment Firmware-Action supports: | ||
- [coreboot](https://coreboot.org/) | ||
- [linux](https://www.kernel.org/) | ||
- [tianocore / edk2](https://www.tianocore.org/) | ||
- firmware stitching (populating IFD regions with binaries) | ||
- [u-root](https://github.com/u-root/u-root) | ||
|
||
This list should expand in the future (see [issue 56](https://github.com/9elements/firmware-action/issues/56)). | ||
|
||
Motivation behind the creation is to unify building of firmware across development. The same code and configuration should run in CI/CD pipeline just as well as on your local machine. | ||
Firmware-Action is using [dagger](https://docs.dagger.io/) under the hood, which makes it rather versatile tool. When Firmware-Action is used, it automatically downloads user-specified Docker container in which it will attempt to build the firmware. | ||
|
||
Initially it was meant only as GitHub-specific action, but it should be universal thanks to [dagger](https://docs.dagger.io/). | ||
If your firmware consists of multiple components, such as `coreboot` with `linux` as payload, you can simply define each as module and define dependency between them. Each module is build separately, but can use output of another module as input. In the `coreboot` + `linux` example, you can call Firmware-Action to build `coreboot` recursively, which will also build `linux` due to the dependency definition. This way, you can build complex stacks of firmware in single call. | ||
|
||
[Documentation is hosted in pages](https://9elements.github.io/firmware-action/). | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 4 additions & 3 deletions
7
docs/src/firmware-action/get_started/04_get_firmware_action.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
# Get firmware-action | ||
|
||
Either [clone the repository and build the executable yourself](../usage_local.md), or just download pre-compiled executable from [releases](https://github.com/9elements/firmware-action/releases). | ||
|
||
For Arch Linux there is also a [AUR package](https://aur.archlinux.org/packages/firmware-action) available. | ||
You can get Firmware-Action multiple ways: | ||
- clone the repository and [build the executable yourself](../usage_local.md) | ||
- download pre-compiled executable from [releases](https://github.com/9elements/firmware-action/releases). | ||
- Arch Linux [AUR package](https://aur.archlinux.org/packages/firmware-action) | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters