README: use inline links
It seems gitea doesn't like number references in markdown.
This commit is contained in:
parent
c20aae9cca
commit
79657e20b3
35
README.md
35
README.md
@ -2,9 +2,9 @@
|
|||||||
|
|
||||||
### Simple declarative and reproducible coreboot images
|
### Simple declarative and reproducible coreboot images
|
||||||
|
|
||||||
This repository contains a minimal interface to build coreboot images using Nix.
|
This repository contains a minimal interface to build coreboot images using
|
||||||
Coreboot is already near 100% binary reproducible and can be configured via
|
Nix. Coreboot is already near 100% binary reproducible and can be configured
|
||||||
[Kconfig](https://doc.coreboot.org/getting_started/kconfig.html); however
|
via [Kconfig](https://doc.coreboot.org/getting_started/kconfig.html); however
|
||||||
the process is somewhat involved: it requires maintaining a local checkout of
|
the process is somewhat involved: it requires maintaining a local checkout of
|
||||||
the coreboot source, several config files and shell scripts. Nixboot automates
|
the coreboot source, several config files and shell scripts. Nixboot automates
|
||||||
this process and allows to control it declaratively from a single file.
|
this process and allows to control it declaratively from a single file.
|
||||||
@ -24,9 +24,9 @@ Other payloads (including secondaries) can be very easily added.
|
|||||||
|
|
||||||
### 1. Fetching sources
|
### 1. Fetching sources
|
||||||
|
|
||||||
Go to the board [status page](1) and find the latest tested revision for your
|
Go to the board [status page](https://coreboot.org/status/board-status.html)
|
||||||
mainboard, or pick one yourself. Next, to fetch all the source archives needed
|
and find the latest tested revision for your mainboard, or pick one yourself.
|
||||||
to build coreboot, run:
|
Next, to fetch all the source archives needed to build coreboot, run:
|
||||||
|
|
||||||
scripts/gen-sources.sh REV > sources.nix
|
scripts/gen-sources.sh REV > sources.nix
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ build its own compiler toolchain from source.
|
|||||||
### 2. Configuring
|
### 2. Configuring
|
||||||
|
|
||||||
Once the `sources.nix` has been generated, to configure coreboot and the
|
Once the `sources.nix` has been generated, to configure coreboot and the
|
||||||
payload, write a `board.nix`, like:
|
payload, write a `board.nix`, like this one:
|
||||||
```
|
```
|
||||||
{ pkgs ? import <nixpkgs> { } }:
|
{ pkgs ? import <nixpkgs> { } }:
|
||||||
|
|
||||||
@ -75,9 +75,10 @@ pkgs.callPackage ./coreboot.nix {
|
|||||||
|
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
The configuration options can be found on the coreboot [website](2). The names
|
The configuration options can be found on the coreboot
|
||||||
are case-insensitive and options with the same prefix (for example `PCIEXP_`)
|
[website](https://coreboot.org/status/kconfig-options.html). The names are
|
||||||
can be conveniently grouped into a set.
|
case-insensitive and options with the same prefix (for example `PCIEXP_`) can
|
||||||
|
be conveniently grouped into a set.
|
||||||
|
|
||||||
Valid option values includes:
|
Valid option values includes:
|
||||||
|
|
||||||
@ -87,8 +88,8 @@ Valid option values includes:
|
|||||||
- paths (will be copied into the Nix store)
|
- paths (will be copied into the Nix store)
|
||||||
- derivations (will be converted to store paths)
|
- derivations (will be converted to store paths)
|
||||||
|
|
||||||
[1]: https://coreboot.org/status/board-status.html
|
|
||||||
[2]: https://coreboot.org/status/kconfig-options.html
|
|
||||||
|
|
||||||
|
|
||||||
### 3. Building
|
### 3. Building
|
||||||
@ -97,18 +98,16 @@ Simply run
|
|||||||
|
|
||||||
nix build -f board.nix coreboot
|
nix build -f board.nix coreboot
|
||||||
|
|
||||||
This will build the toolchain,
|
This will build the toolchain, the full configuration and use them to build
|
||||||
the full configuration and use them to build coreboot itself. The output
|
coreboot itself. The output consist of:
|
||||||
consist of:
|
|
||||||
|
|
||||||
result/
|
result/
|
||||||
├── config
|
├── config
|
||||||
├── coreboot.rom
|
├── coreboot.rom
|
||||||
└── defconfig
|
└── defconfig
|
||||||
|
|
||||||
where `config` contains the full coreboot configuration, `defconfig` only
|
where `config` contains the full coreboot configuration, `defconfig` only the
|
||||||
the non-default ones and `coreboot.rom` is the final image, ready to be
|
non-default ones and `coreboot.rom` is the final image, ready to be flashed.
|
||||||
flashed.
|
|
||||||
|
|
||||||
It's also possible to only build the toolchain using the `toolchain` attribute
|
It's also possible to only build the toolchain using the `toolchain` attribute
|
||||||
and see the defconfig before building with `defConfig`.
|
and see the defconfig before building with `defConfig`.
|
||||||
|
Loading…
Reference in New Issue
Block a user