docs/build: specify system requirements

Signed-off-by: Leah Rowe <leah@libreboot.org>
master
Leah Rowe 2025-01-04 17:07:27 +00:00
parent 08f35ff1b6
commit e6e952ac11
2 changed files with 132 additions and 21 deletions

View File

@ -15,13 +15,66 @@ do nicely.
Introduction Introduction
============ ============
libreboot's build system is named `lbmk`, short for `LibreBoot MaKe`, and this Libreboot's build system is named `lbmk`, short for `LibreBoot MaKe`, and this
document describes how to use it. With this guide, you can know how to compile document describes how to use it. With this guide, you can know how to compile
libreboot from the available source code. libreboot from the available source code.
The following document describes how `lbmk` works, and how you can make changes The following document describes how `lbmk` works, and how you can make changes
to it: [libreboot maintenance manual](../maintain/) to it: [libreboot maintenance manual](../maintain/)
System requirements
===================
This concerns system requirements when *building* Libreboot.
Operating system
----------------
Any sensible Linux distribution will do. Libreboot's build system is regularly
testing on all the major distros. Please do report bugs if you encounter
issues.
Host CPU
--------
At least an Intel Core 2 Duo, though we recommend much faster CPUs if building
entire release archives, e.g. quad-core Haswell CPU or better.
NOTE: x86 boards require an *x86_64* host CPU with appropriate host toolchains
and libraries. We don't yet cross-compile x86 payloads.
NOTE2: ARM64 mainboards *are* cross compiled, so you can build for AArch64
machines quite easily, from x86 or ARM64 machines.
NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but
MemTest86\+ is only compiled for 64-bit, and not cross compiled, so builds
are disabled when lbmk detects a 32-bit host CPU.
Memory
------
At least 2GB per CPU core, ideally 4GB; for example, 16GB RAM is recommended
if you're compiling an a quad-core CPU.
NOTE: `XBMK_THREADS` environmental variable defaults to 1 if unset. This sets
the number of build threads, which you should match to the number of cores.
For example, when you're building on a quad-core, do this prior to building:
export XBMK_THREADS=4
Disk space
----------
About 20GB bare minimum, if only compiling for 1 board. The sources take up a
lot of space. However, Libreboot is always expanding as it's developed.
At least 50GB of free disk space is therefor recommended.
We *actually* recommend 100GB, because Libreboot will also have a Linux distro
in flash on a future release. On our testing, disk I/O does not seem to be a
major bottleneck, so any HDD or SSD will do, but we obviously recommend a
fast NVMe (PCI-E) SSD if you can.
Multi-threaded builds Multi-threaded builds
===================== =====================
@ -51,26 +104,6 @@ This version, if hosted live on libreboot.org, assumes that you are using
the `lbmk` git repository, which the `lbmk` git repository, which
you can download using the instructions on [the code review page](../../git.md). you can download using the instructions on [the code review page](../../git.md).
A note about documentation (and this page)
------------------------------------------
From Libreboot 20231021 onwards, *all* releases (including 20231021)
have `lbwww.git` (the website) and `lbwww-img.git` (images for the website)
archived in the *src* tar archive for that release; older releases were hit
or miss, from 20210522 to 20230625, as to whether they came with documentation;
releases older than 20210522 generally always came with documentation. Modern
Libreboot documentation is written in Markdown (pandoc variant)
If you're working with *release* documentation, you don't get the full HTML
files (such as the one you're viewing now, if you're reading *this* page in a
web browser), so either read the Markdown files directly, or compile them to
HTML using the [Untitled Static Site Generator](https://untitled.vimuser.org/)
(which is what the Libreboot project uses to generate HTML from those files).
NOTE: `av.libreboot.org` is hardcoded as the domain name where images are
pointed to, in `lbwww.git`, so you will need to replace these references in
your local version, unless you're happy to just continue using those.
Git Git
=== ===
@ -261,3 +294,24 @@ example want to modify a config, e.g.:
Or perhaps add a new board! The maintenance manual will teach you how the Or perhaps add a new board! The maintenance manual will teach you how the
Libreboot build system (lbmk) works! Libreboot build system (lbmk) works!
A note about documentation (and this page)
==========================================
From Libreboot 20231021 onwards, *all* releases (including 20231021)
have `lbwww.git` (the website) and `lbwww-img.git` (images for the website)
archived in the *src* tar archive for that release; older releases were hit
or miss, from 20210522 to 20230625, as to whether they came with documentation;
releases older than 20210522 generally always came with documentation. Modern
Libreboot documentation is written in Markdown (pandoc variant)
If you're working with *release* documentation, you don't get the full HTML
files (such as the one you're viewing now, if you're reading *this* page in a
web browser), so either read the Markdown files directly, or compile them to
HTML using the [Untitled Static Site Generator](https://untitled.vimuser.org/)
(which is what the Libreboot project uses to generate HTML from those files).
NOTE: `av.libreboot.org` is hardcoded as the domain name where images are
pointed to, in `lbwww.git`, so you will need to replace these references in
your local version, unless you're happy to just continue using those.

View File

@ -3,6 +3,10 @@ title: Побудова з джерельного коду
x-toc-enable: true x-toc-enable: true
... ...
**TODO: This page needs to be re-translated. Much of the newer sections are
still in English, and there may be some differences aside from translation,
versus the English version.**
WARNING: eCryptfs file name limits WARNING: eCryptfs file name limits
================================= =================================
@ -30,6 +34,59 @@ libreboot з доступного джерельного коду.
Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни Наступний документ описує те, як працює `lbmk`, і як ви можете робити зміни
до нього: [керівництво обслуговування libreboot](../maintain/) до нього: [керівництво обслуговування libreboot](../maintain/)
System requirements
===================
This concerns system requirements when *building* Libreboot.
Operating system
----------------
Any sensible Linux distribution will do. Libreboot's build system is regularly
testing on all the major distros. Please do report bugs if you encounter
issues.
Host CPU
--------
At least an Intel Core 2 Duo, though we recommend much faster CPUs if building
entire release archives, e.g. quad-core Haswell CPU or better.
NOTE: x86 boards require an *x86_64* host CPU with appropriate host toolchains
and libraries. We don't yet cross-compile x86 payloads.
NOTE2: ARM64 mainboards *are* cross compiled, so you can build for AArch64
machines quite easily, from x86 or ARM64 machines.
NOTE3: *32-bit* x86 (i686) machines can be used to compile Libreboot, but
MemTest86\+ is only compiled for 64-bit, and not cross compiled, so builds
are disabled when lbmk detects a 32-bit host CPU.
Memory
------
At least 2GB per CPU core, ideally 4GB; for example, 16GB RAM is recommended
if you're compiling an a quad-core CPU.
NOTE: `XBMK_THREADS` environmental variable defaults to 1 if unset. This sets
the number of build threads, which you should match to the number of cores.
For example, when you're building on a quad-core, do this prior to building:
export XBMK_THREADS=4
Disk space
----------
About 20GB bare minimum, if only compiling for 1 board. The sources take up a
lot of space. However, Libreboot is always expanding as it's developed.
At least 50GB of free disk space is therefor recommended.
We *actually* recommend 100GB, because Libreboot will also have a Linux distro
in flash on a future release. On our testing, disk I/O does not seem to be a
major bottleneck, so any HDD or SSD will do, but we obviously recommend a
fast NVMe (PCI-E) SSD if you can.
Multi-threaded builds Multi-threaded builds
===================== =====================