Coreboot: Difference between revisions

From NixOS Wiki
imported>Milahu
m - should
imported>Milahu
+ clone submodules. shallow clone, otherwise needs 10x more diskspace
Line 2: Line 2:
To build your own coreboot bios:
To build your own coreboot bios:


<syntaxHighlight lang=console>
<syntaxHighlight lang=bash>
$ git clone https://review.coreboot.org/coreboot.git --depth 1
git clone https://review.coreboot.org/coreboot.git --depth 1
$ cd coreboot
cd coreboot
$ nix-shell -p ncurses bison flex clang gnat10 zlib acpica-tools pkgconfig
du -sh . # 200 MByte
$ NIX_LDFLAGS="$NIX_LDFLAGS -lncurses" make menuconfig
git submodule update --init --checkout --depth 1
$ make crossgcc
du -sh . # 700 MByte
$ make
 
nix-shell -p ncurses bison flex clang gnat10 gnatboot zlib acpica-tools pkgconfig
NIX_LDFLAGS="$NIX_LDFLAGS -lncurses" make menuconfig
make crossgcc
make
</syntaxHighlight>
</syntaxHighlight>
* gnat10 provides gnat
* gnatboot provides gnat1


=== Compiler version ===
=== Compiler version ===
Line 25: Line 32:


coreboot is pretty picky about the toolchain it is built with and thus using the toolchain it comes with is the easiest path to success. There are commented Nix expressions that build coreboot [https://github.com/blitz/nix-coreboot here].
coreboot is pretty picky about the toolchain it is built with and thus using the toolchain it comes with is the easiest path to success. There are commented Nix expressions that build coreboot [https://github.com/blitz/nix-coreboot here].
== See also ==
* https://www.coreboot.org/Build_HOWTO

Revision as of 07:53, 26 October 2021

Building in nix-shell

To build your own coreboot bios:

git clone https://review.coreboot.org/coreboot.git --depth 1
cd coreboot
du -sh . # 200 MByte
git submodule update --init --checkout --depth 1
du -sh . # 700 MByte

nix-shell -p ncurses bison flex clang gnat10 gnatboot zlib acpica-tools pkgconfig
NIX_LDFLAGS="$NIX_LDFLAGS -lncurses" make menuconfig
make crossgcc
make
  • gnat10 provides gnat
  • gnatboot provides gnat1

Compiler version

gcc (provided by clang) and gnat (the GNU Ada compiler) must have the same version

gcc --version
gnat --version

For example, both have version 10.3.0

Building as derivation

coreboot is pretty picky about the toolchain it is built with and thus using the toolchain it comes with is the easiest path to success. There are commented Nix expressions that build coreboot here.

See also