README: use inline links

It seems gitea doesn't like number references in markdown.
This commit is contained in:
Michele Guerini Rocco 2021-01-15 15:14:57 +01:00
parent c20aae9cca
commit 79657e20b3
Signed by: rnhmjoj
GPG Key ID: BFBAF4C975F76450

View File

@ -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`.