update user docs as per current lbmk

docs/maintain/ not updated yet. i'll do that
separately to the user documentation.

Signed-off-by: Leah Rowe <leah@libreboot.org>
master
Leah Rowe 2023-10-10 17:58:18 +01:00
parent 84d35d77c2
commit f9f3171e0f
25 changed files with 119 additions and 104 deletions

View File

@ -3,6 +3,26 @@ title: Build from source
x-toc-enable: true x-toc-enable: true
... ...
WARNING: Flash from bin/, NOT elf/
==================================
**WARNING: When you build a ROM image from the Libreboot build system, please
ensure that you flash the appropriate ROM image from `bin/`, NOT `elf/`.
The `elf/` coreboot ROMs do not contain payloads. Libreboot's build system
builds no-payload ROMs under `elf/`, and payloads separately under `elf/`. Then
it copies from `elf/` and inserts payloads from `elf/`, and puts the final ROM
images (containing payloads) in `bin/`. This design is more efficient, and
permits many configurations without needless duplication of work. More info
is available in the [lbmk maintenance manual](../maintain/)**
Also, this page currently only refers to the build system as it exists
in `lbmk.git`. A massive re-design of lbmk has been in progress, since the
Libreboot 20230625 release. When the next version after 20230625 comes out,
this page will once again match the current tarball release.
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.
@ -77,23 +97,23 @@ if the required utilities for GRUB are not built, to produce payloads.
As a result, you can now (after installing the correct build dependencies) run As a result, you can now (after installing the correct build dependencies) run
just a single command, from a fresh Git clone, to build all ROM images: just a single command, from a fresh Git clone, to build all ROM images:
./build boot roms all ./build fw coreboot all
or even just build specific ROM images, e.g.: or even just build specific ROM images, e.g.:
./build boot roms x60 ./build fw coreboot x60
or get a list of supported build targets: or get a list of supported build targets:
./build boot roms list ./build fw coreboot list
If you wish to build payloads, you can also do that. For example: If you wish to build payloads, you can also do that. For example:
./build grub payload ./build fw grub
./handle make config -b seabios ./update project trees -b seabios
./handle make config -b u-boot ./update project trees -b u-boot
Previous steps will be performed automatically. However, you can *still* run Previous steps will be performed automatically. However, you can *still* run
individual parts of the build system manually, if you choose. This may be individual parts of the build system manually, if you choose. This may be

View File

@ -3,6 +3,28 @@ title: Побудова з джерельного коду
x-toc-enable: true x-toc-enable: true
... ...
WARNING: Flash from bin/, NOT elf/
==================================
TODO: translate this section into ukrainian language
**WARNING: When you build a ROM image from the Libreboot build system, please
ensure that you flash the appropriate ROM image from `bin/`, NOT `elf/`.
The `elf/` coreboot ROMs do not contain payloads. Libreboot's build system
builds no-payload ROMs under `elf/`, and payloads separately under `elf/`. Then
it copies from `elf/` and inserts payloads from `elf/`, and puts the final ROM
images (containing payloads) in `bin/`. This design is more efficient, and
permits many configurations without needless duplication of work. More info
is available in the [lbmk maintenance manual](../maintain/)**
Also, this page currently only refers to the build system as it exists
in `lbmk.git`. A massive re-design of lbmk has been in progress, since the
Libreboot 20230625 release. When the next version after 20230625 comes out,
this page will once again match the current tarball release.
Introduction
============
Система побудови libreboot, називається `lbmk`, скорочення від `LibreBoot MaKe`, і цей Система побудови libreboot, називається `lbmk`, скорочення від `LibreBoot MaKe`, і цей
документ описує те, як використовувати її. З цим керівництвом ви можете узнати те, як побудувати документ описує те, як використовувати її. З цим керівництвом ви можете узнати те, як побудувати
libreboot з доступного джерельного коду. libreboot з доступного джерельного коду.
@ -77,23 +99,23 @@ libreboot Make (lbmk) автоматично виконує всі необхі
В якості результату, ви тепер можете (після встановлення правильних залежностей побудови) виконати В якості результату, ви тепер можете (після встановлення правильних залежностей побудови) виконати
лише одну команду, з свіжого Git clone, для побудови образів ROM: лише одну команду, з свіжого Git clone, для побудови образів ROM:
./build boot roms all ./build fw coreboot all
або навіть побудувати конкретні образи ROM, такі як: або навіть побудувати конкретні образи ROM, такі як:
./build boot roms x60 ./build fw coreboot x60
or get a list of supported build targets: or get a list of supported build targets:
./build boot roms list ./build fw coreboot list
Якщо ви бажаєте побудувати корисні навантаження, можете зробити це. Наприклад: Якщо ви бажаєте побудувати корисні навантаження, можете зробити це. Наприклад:
./build grub payload ./build fw grub
./handle make config -b seabios ./update project trees -b seabios
./handle make config -b u-boot ./update project trees -b u-boot
Попередні кроки буде виконано автоматично. Однак, ви можете *досі* виконати Попередні кроки буде виконано автоматично. Однак, ви можете *досі* виконати
окремі частини системи побудови власноруч, якщо виберете. Це може бути окремі частини системи побудови власноруч, якщо виберете. Це може бути

View File

@ -76,10 +76,10 @@ Modify the MAC address in the file `rt8168-macaddress` and then:
Now you have a different MAC address hardcoded. In the above example, the ROM Now you have a different MAC address hardcoded. In the above example, the ROM
image is named `libreboot.rom` for your board. You can find cbfstool image is named `libreboot.rom` for your board. You can find cbfstool
under `coreboot/default/util/cbfstool/` after running the following command under `cbutils/` after running the following command
in the build system: in the build system:
./build module cbutils ./update project trees -b coreboot utils
You can learn more about using the build system, lbmk, here:\ You can learn more about using the build system, lbmk, here:\
[libreboot build instructions](../build/) [libreboot build instructions](../build/)

View File

@ -72,7 +72,7 @@ Build ROM image from source
The build target, when building from source, is thus: The build target, when building from source, is thus:
./build boot roms hp2170p_16mb ./build fw coreboot hp2170p_16mb
Installation Installation
============ ============

View File

@ -60,7 +60,7 @@ about this:
Refer to the coreboot guide for flashing instructions, and you can build the Refer to the coreboot guide for flashing instructions, and you can build the
images for it in Libreboot like so: images for it in Libreboot like so:
./build boot roms hp2560p_8mb ./build fw coreboot hp2560p_8mb
More information about building ROM images can be found in More information about building ROM images can be found in
the [build guide](../build/). the [build guide](../build/).

View File

@ -99,7 +99,7 @@ a SOIC-16 chip instead of SOIC-8. Follow these instructions:
Refer to that coreboot guide for flashing instructions, and you can Refer to that coreboot guide for flashing instructions, and you can
build the images for it in Libreboot like so: build the images for it in Libreboot like so:
./build boot roms hp2570p_16mb ./build fw coreboot hp2570p_16mb
More information about building ROM images can be found in More information about building ROM images can be found in
the [build guide](../build/). the [build guide](../build/).

View File

@ -88,7 +88,7 @@ to recover from an unbootable BIOS:
You can build the images for it in Libreboot like so: You can build the images for it in Libreboot like so:
./build boot roms hp8200sff_8mb ./build fw coreboot hp8200sff_8mb
More information about building ROM images can be found in More information about building ROM images can be found in
the [build guide](../build/). the [build guide](../build/).
@ -151,14 +151,14 @@ Pin-Strap is set". If it doesn't, start again from the beginning.
Now build the **4** MiB Libreboot image. Now build the **4** MiB Libreboot image.
./build boot roms hp8200sff_4mb ./build fw coreboot hp8200sff_4mb
More information about building ROM images can be found in More information about building ROM images can be found in
the [build guide](../build/). the [build guide](../build/).
Also build `ifdtool`. It will be needed soon. Also build `ifdtool`. It will be needed soon.
cd coreboot/default/util/ifdtool cd src/coreboot/default/util/ifdtool
make make
sudo make install sudo make install
@ -256,7 +256,7 @@ the *ROM* by using the `-C` option in nvramtool. You can find this under the
directory `coreboot/default/util/nvramtool` when downloading coreboot inside directory `coreboot/default/util/nvramtool` when downloading coreboot inside
of lbmk by running the command: of lbmk by running the command:
./fetch_trees coreboot default ./update project trees -f coreboot default
Go in there and type `make` to build nvramtool. Simply run nvramtool without Go in there and type `make` to build nvramtool. Simply run nvramtool without
arguments, and it will show a list of options. arguments, and it will show a list of options.

View File

@ -72,7 +72,7 @@ Build ROM image from source
The build target, when building from source, is thus: The build target, when building from source, is thus:
./build boot roms hp8470pintel_16mb ./build fw coreboot hp8470pintel_16mb
Installation Installation
============ ============

View File

@ -47,7 +47,7 @@ Installation of Libreboot
You must first compile the Libreboot ROM You must first compile the Libreboot ROM
./build boot roms hp9470m_16mb ./build fw coreboot hp9470m_16mb
More information about building ROM images can be found in More information about building ROM images can be found in
the [build guide](../build). the [build guide](../build).

View File

@ -70,7 +70,7 @@ Build ROM image from source
The build target, when building from source, is thus: The build target, when building from source, is thus:
./build boot roms t1650_12mb ./build fw coreboot t1650_12mb
Installation Installation
============ ============

View File

@ -171,8 +171,8 @@ downloading and/or extraction (of the Option ROM) fails, the entire build
process will fail (non-zero exit status). DO NOT flash it until you confirm process will fail (non-zero exit status). DO NOT flash it until you confirm
that the build went successfully. For example, try: that the build went successfully. For example, try:
make -BC coreboot/default/util/cbfstool/cbfstool make -BC src/coreboot/default/util/cbfstool/cbfstool
cp coreboot/default/util/cbfstool/cbfstool . cp src/coreboot/default/util/cbfstool/cbfstool .
Then check the E6400 ROM under `bin/`. Let's say the ROM was Then check the E6400 ROM under `bin/`. Let's say the ROM was
named `libreboot.rom`, you would do: named `libreboot.rom`, you would do:

View File

@ -372,6 +372,13 @@ example of the push pin as a proof of concept:
#### ThinkPad X60/X60S/X60T/T60 with Lenovo BIOS {#flashrom_lenovobios} #### ThinkPad X60/X60S/X60T/T60 with Lenovo BIOS {#flashrom_lenovobios}
**NOTE: This section partially relates to `utils` release archive in
Libreboot 20160907, which contains static compiled binaries for things like
bucts and flashrom. It will *still* work on modern distros, and thus is
still referenced here. The `flash` script in that release can be used, with
modern Libreboot ROMs. Current Libreboot releases do not include pre-compiled
utilities, only ROMs.**
NOTE: If BIOS password auth is enabled, you can clear it by shorting pins on NOTE: If BIOS password auth is enabled, you can clear it by shorting pins on
an EEPROM and then resetting the password in Lenovo BIOS, prior to flashing an EEPROM and then resetting the password in Lenovo BIOS, prior to flashing
Libreboot. For T60, see: Libreboot. For T60, see:

View File

@ -1,10 +1,10 @@
--- ---
title: Insert binary blobs on Sandybridge/Ivybridge/Haswell title: Insert vendor files on Sandybridge/Ivybridge/Haswell
x-toc-enable: true x-toc-enable: true
... ...
**NOTE: This page also applies to PM45 machine Dell Latitude E6400 if it **NOTE: This page also applies to PM45 machine Dell Latitude E6400 if it
contains an Nvidia GPU (Libreboot blob scripts can insert the VGA ROM)** contains an Nvidia GPU (Libreboot vendor scripts can insert the VGA ROM)**
This is not a general purpose installation guide, but you *should read it* This is not a general purpose installation guide, but you *should read it*
before installing Libreboot! *This* guide *must* be followed, no matter what before installing Libreboot! *This* guide *must* be followed, no matter what
@ -21,7 +21,7 @@ do not need to re-compile release ROMs, you should follow these instructions
before reading the instructions below: before reading the instructions below:
<https://libreboot.org/docs/build/#first-install-build-dependencies>** <https://libreboot.org/docs/build/#first-install-build-dependencies>**
Coreboot is nominally free software, but requires binary blobs for certain Coreboot is nominally free software, but requires non-free software for certain
boards, for certain functionalities; it differs per board, and some boards do boards, for certain functionalities; it differs per board, and some boards do
not require blobs of any kind in the flash. We cover this more thoroughly in not require blobs of any kind in the flash. We cover this more thoroughly in
the [Freedom Status](../../freedom-status.md) page and in the [Binary Blob the [Freedom Status](../../freedom-status.md) page and in the [Binary Blob
@ -81,7 +81,7 @@ Injecting Blobs into an Existing Rom
You must determine the correct board name, for your board, based on the list You must determine the correct board name, for your board, based on the list
generated when running this command: generated when running this command:
./build boot roms list ./build fw coreboot list
For example, `t440pmrc_12mb` corresponds to ThinkPad T440p with MRC firmware. For example, `t440pmrc_12mb` corresponds to ThinkPad T440p with MRC firmware.
Whereas `t440plibremrc_12mb` corresponds to T440p with libre MRC firmware. Whereas `t440plibremrc_12mb` corresponds to T440p with libre MRC firmware.
@ -92,7 +92,7 @@ In order to inject the necessary blobs into a rom image, run the script from the
If you only wish to flash a release rom then the process of injecting the necessary blobs is quite simple. If you only wish to flash a release rom then the process of injecting the necessary blobs is quite simple.
Run the injection script pointing to the release archive you downloaded: Run the injection script pointing to the release archive you downloaded:
./update blobs inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz ./update vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz
The script can automatically detect the board as long as you do not change the file name. The script can automatically detect the board as long as you do not change the file name.
You can then find flash-ready ROMs in `/bin/release/` You can then find flash-ready ROMs in `/bin/release/`
@ -101,12 +101,12 @@ Alternatively, you may patch only a single rom file, but you must supply the
correct board target name as alluded to above. correct board target name as alluded to above.
For example: For example:
./update blobs inject -r x230_libreboot.rom -b x230_12mb ./update vendor inject -r x230_libreboot.rom -b x230_12mb
Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
For example: For example:
./update blobs inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd ./update vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
Check that the blobs were inserted Check that the blobs were inserted
================================== ==================================
@ -115,7 +115,7 @@ You *must* ensure that the blobs were inserted.
Some examples of how to do that in lbmk: Some examples of how to do that in lbmk:
./build coreboot utils ./update project trees -b coreboot utils
Now you find `cbutitls/default`, which is a directory containing `cbfstool` Now you find `cbutitls/default`, which is a directory containing `cbfstool`
and `ifdtool`. Do this on your ROM image (`libreboot.rom` in the example and `ifdtool`. Do this on your ROM image (`libreboot.rom` in the example

View File

@ -1,5 +1,5 @@
--- ---
title: Insert binary blobs on Sandybridge/Ivybridge/Haswell title: Insert vendore files on Sandybridge/Ivybridge/Haswell
x-toc-enable: true x-toc-enable: true
... ...
@ -7,7 +7,7 @@ x-toc-enable: true
the english page got heavily re-written.** the english page got heavily re-written.**
**NOTE: This page also applies to PM45 machine Dell Latitude E6400 if it **NOTE: This page also applies to PM45 machine Dell Latitude E6400 if it
contains an Nvidia GPU (Libreboot blob scripts can insert the VGA ROM)** contains an Nvidia GPU (Libreboot vendor scripts can insert the VGA ROM)**
This is not a general purpose installation guide, but you *should read it* This is not a general purpose installation guide, but you *should read it*
before installing Libreboot! *This* guide *must* be followed, no matter what before installing Libreboot! *This* guide *must* be followed, no matter what
@ -24,7 +24,7 @@ do not need to re-compile release ROMs, you should follow these instructions
before reading the instructions below: before reading the instructions below:
<https://libreboot.org/docs/build/#first-install-build-dependencies>** <https://libreboot.org/docs/build/#first-install-build-dependencies>**
Coreboot is nominally free software, but requires binary blobs for certain Coreboot is nominally free software, but requires non-free software for certain
boards, for certain functionalities; it differs per board, and some boards do boards, for certain functionalities; it differs per board, and some boards do
not require blobs of any kind in the flash. We cover this more thoroughly in not require blobs of any kind in the flash. We cover this more thoroughly in
the [Freedom Status](../../freedom-status.md) page and in the [Binary Blob the [Freedom Status](../../freedom-status.md) page and in the [Binary Blob
@ -84,7 +84,7 @@ Injecting Blobs into an Existing Rom
You must determine the correct board name, for your board, based on the list You must determine the correct board name, for your board, based on the list
generated when running this command: generated when running this command:
./build boot roms list ./build fw coreboot list
For example, `t440pmrc_12mb` corresponds to ThinkPad T440p with MRC firmware. For example, `t440pmrc_12mb` corresponds to ThinkPad T440p with MRC firmware.
Whereas `t440plibremrc_12mb` corresponds to T440p with libre MRC firmware. Whereas `t440plibremrc_12mb` corresponds to T440p with libre MRC firmware.
@ -95,7 +95,7 @@ In order to inject the necessary blobs into a rom image, run the script from the
If you only wish to flash a release rom then the process of injecting the necessary blobs is quite simple. If you only wish to flash a release rom then the process of injecting the necessary blobs is quite simple.
Run the injection script pointing to the release archive you downloaded: Run the injection script pointing to the release archive you downloaded:
./update blobs inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz ./update vendor inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz
The script can automatically detect the board as long as you do not change the file name. The script can automatically detect the board as long as you do not change the file name.
You can then find flash-ready ROMs in `/bin/release/` You can then find flash-ready ROMs in `/bin/release/`
@ -104,12 +104,12 @@ Alternatively, you may patch only a single rom file, but you must supply the
correct board target name as alluded to above. correct board target name as alluded to above.
For example: For example:
./update blobs inject -r x230_libreboot.rom -b x230_12mb ./update vendor inject -r x230_libreboot.rom -b x230_12mb
Optionally, you can use this script to modify the mac address of the rom with the `-m` flag. Optionally, you can use this script to modify the mac address of the rom with the `-m` flag.
For example: For example:
./update blobs inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd ./update vendor inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
Check that the blobs were inserted Check that the blobs were inserted
================================== ==================================
@ -118,7 +118,7 @@ You *must* ensure that the blobs were inserted.
Some examples of how to do that in lbmk: Some examples of how to do that in lbmk:
./build coreboot utils ./update project trees -b coreboot utils
Now you find `cbutitls/default`, which is a directory containing `cbfstool` Now you find `cbutitls/default`, which is a directory containing `cbfstool`
and `ifdtool`. Do this on your ROM image (`libreboot.rom` in the example and `ifdtool`. Do this on your ROM image (`libreboot.rom` in the example

View File

@ -461,7 +461,7 @@ install flashrom. Do this after downloading the
NOTE: debian, arch or void can be written instead of ubuntu2004. the debian NOTE: debian, arch or void can be written instead of ubuntu2004. the debian
script is also applicable to newer ubuntu versions script is also applicable to newer ubuntu versions
./handle make file -b flashrom ./update project trees -b flashrom
If the `ubuntu2004` script complains about missing dependencies, just modify If the `ubuntu2004` script complains about missing dependencies, just modify
the dependencies config to remove those dependencies. The script is located the dependencies config to remove those dependencies. The script is located

View File

@ -323,7 +323,7 @@ Flashrom 是用来读出、擦除、重写 NOR flash 内容的软件。
注意:你可以输入 debian、arch 或 void 来替换 ubuntu。debian 脚本也可以用于新版 ubuntu。 注意:你可以输入 debian、arch 或 void 来替换 ubuntu。debian 脚本也可以用于新版 ubuntu。
./handle make file -b flashrom ./update project trees -b flashrom
如果 `ubuntu2004` 报告了依赖缺失,编辑一下这个脚本,把缺失的依赖移除就行了。脚本位于 `config/dependencies/ubuntu2004`,它是写给 Ubuntu 20.04 的,但在其他使用 `apt-get` 包管理器的 Linux 发行版应该也能用。 如果 `ubuntu2004` 报告了依赖缺失,编辑一下这个脚本,把缺失的依赖移除就行了。脚本位于 `config/dependencies/ubuntu2004`,它是写给 Ubuntu 20.04 的,但在其他使用 `apt-get` 包管理器的 Linux 发行版应该也能用。

View File

@ -1,6 +1,6 @@
# Fully Encrypted Boot and Root Partitions with Libreboot # Fully Encrypted Boot and Root Partitions with Libreboot
# THIS ARTICLE IS OBSOLETE # THIS ARTICLE IS OBSOLETE (and will probably be deleted)
See news article: [Encrypted /boot/ on LUKSv2 now possible in Libreboot See news article: [Encrypted /boot/ on LUKSv2 now possible in Libreboot
GRUB (PHC argon2 imported)](../../news/argon2.html) GRUB (PHC argon2 imported)](../../news/argon2.html)

View File

@ -60,11 +60,11 @@ of the libreboot Git repository.
Then, download coreboot: Then, download coreboot:
./update project trees coreboot ./update project trees -f coreboot
Finally, compile the `cbutils` module: Finally, compile the `cbutils` payload (and you will then have the utils):
./build coreboot utils ./build fw grub
Among other things, this will produce a `cbfstool` executable under any of the Among other things, this will produce a `cbfstool` executable under any of the
subdirectories in `coreboot/` under `util/cbfstool/cbfstool subdirectories in `coreboot/` under `util/cbfstool/cbfstool
@ -79,9 +79,9 @@ You will also want to build `flashrom` which libreboot recommends for reading
from and/or writing to the boot flash. In the libreboot build system, you can from and/or writing to the boot flash. In the libreboot build system, you can
build it by running this command: build it by running this command:
./handle make file -b flashrom ./update project trees -b flashrom
An executable will be available at `flashrom/flashrom` after you have done An executable will be available at `src/flashrom/flashrom` after you have done
this. this.
Dump the boot flash Dump the boot flash
@ -93,7 +93,7 @@ your computer, you can use `flashrom` to acquire it.
Simply run the following, after using libreboot's build system to compile Simply run the following, after using libreboot's build system to compile
flashrom: flashrom:
sudo ./flashrom/flashrom -p internal -r dump.bin sudo ./src/flashrom/flashrom -p internal -r dump.bin
If flashrom complains about multiple flash chip definitions, do what it says to If flashrom complains about multiple flash chip definitions, do what it says to
rectify your command and run it again. rectify your command and run it again.

View File

@ -83,11 +83,11 @@ image:
You can build `cbfstool` in the libreboot build system. Run this command: You can build `cbfstool` in the libreboot build system. Run this command:
./build coreboot utils ./update project trees -b coreboot utils
This assumes that you already downloaded coreboot: This assumes that you already downloaded coreboot:
./update project trees coreboot ./update project trees -f coreboot
This, in turn, assumes that you have installed the build dependencies for This, in turn, assumes that you have installed the build dependencies for
libreboot. On Ubuntu 20.04 and other apt-get distros, you can do this: libreboot. On Ubuntu 20.04 and other apt-get distros, you can do this:
@ -159,11 +159,11 @@ GRUB using the libreboot build system. Run the following commands (assuming
you have the correct build dependencies installed) to build GRUB, from the you have the correct build dependencies installed) to build GRUB, from the
libreboot Git repository: libreboot Git repository:
./update project repo grub ./update project trees -f grub
./build grub utils ./build fw grub
The following executable will then be available under the `grub/` directory: The following executable will then be available under the `src/grub/` directory:
grub-mkpasswd-pbkdf2 grub-mkpasswd-pbkdf2

View File

@ -98,9 +98,9 @@ bin/
This directory is created when running any of the following commands, with the This directory is created when running any of the following commands, with the
right arguments: right arguments:
./build boot roms ARGUMENTS_HERE ./build fw coreboot ARGUMENTS_HERE
./build serprog stm32 ./build fw serprog stm32
./build serprog rp2040 ./build fw serprog rp2040
Simply speaking, `bin/` shall contain finished ROM images or firmware, that Simply speaking, `bin/` shall contain finished ROM images or firmware, that
can then be installed (flashed) to the target device. can then be installed (flashed) to the target device.

View File

@ -64,7 +64,7 @@ starting point.
You can then easily modify the existing coreboot configs for you board via lbmk. You can then easily modify the existing coreboot configs for you board via lbmk.
./handle make config -m coreboot t420s_12mb ./update project trees -m coreboot t420s_12mb
This script will provide a curses interface through which you can easily modify the This script will provide a curses interface through which you can easily modify the
necessary variables and settings. necessary variables and settings.
@ -79,7 +79,7 @@ a corebootfb and txtmode config for each board (the script will handle this for
Now you can build and test the rom for `board.` Now you can build and test the rom for `board.`
Once you have finished this, you can try flashing the resulting rom to your board as a test. Once you have finished this, you can try flashing the resulting rom to your board as a test.
./build boot roms t420s_12mb ./build fw coreboot t420s_12mb
If you try to flash this rom and it fails, then there are two probable reasons: If you try to flash this rom and it fails, then there are two probable reasons:
@ -108,30 +108,13 @@ for various rom sizes.
| 12MB | 0xBE0000 | | 12MB | 0xBE0000 |
| 16MB | 0xFE0000 | | 16MB | 0xFE0000 |
Obtaining Blobs
===============
The easiest way to see if your coreboot config is valid is to extract the required
binary blobs from a backup of your vendor rom.
You'll need a unified rom for dual chip setups; see [the ivybridge haswell guide](/docs/install/ivy_has_common.html)
for instructions on creating a unified rom image.
Extracting the blobs from a vendor rom image is automated in lbmk.
Simply run `./update blobs extract [board] [/path/to/backup.bin]`
For example:
./update blobs extract t420s_12mb t420s_backup.bin
You can then modify your coreboot configs again and set the path for the
intel firmware descriptor, intel management engine, and gigabit ethernet firmware.
Getting Help Getting Help
============ ============
Once you have tried everything above, you might find that the board still doesn't Once you have tried everything above, you might find that the board still doesn't
work. work.
If that is the case, then you should contact libreboot developers for more help. If that is the case, then you should contact libreboot developers for more help.
You can ping `shmalebx9` and/or `leah` on irc or submit an issue on git. You can ping `leah` on irc or submit an issue on git.
In either case, make sure to include a detailed description of everything you In either case, make sure to include a detailed description of everything you
tried, and what exactly happened when you tried to flash the rom. tried, and what exactly happened when you tried to flash the rom.
If your board is not supported in libreboot, then you can assume that our If your board is not supported in libreboot, then you can assume that our

View File

@ -61,7 +61,7 @@ libreboot як `плата.`
Ви можете потім легко модифікувати існуючі конфігурації coreboot для вашої плати через lbmk. Ви можете потім легко модифікувати існуючі конфігурації coreboot для вашої плати через lbmk.
./handle make config -m coreboot t420s_12mb ./update project trees -m coreboot t420s_12mb
Цей сценарій надать інтерфейс curses, через який ви можете легко модифікувати Цей сценарій надать інтерфейс curses, через який ви можете легко модифікувати
потрібні змінні та налаштування. потрібні змінні та налаштування.
@ -76,7 +76,7 @@ libreboot як `плата.`
Тепер ви можете побудувати та випробувати rom для `плати.` Тепер ви можете побудувати та випробувати rom для `плати.`
Як тільки ви завершили це, ви можете спробувати прошивку отриманого rom на вашу плату в якості випробування. Як тільки ви завершили це, ви можете спробувати прошивку отриманого rom на вашу плату в якості випробування.
./build boot roms t420s_12mb ./build fw coreboot t420s_12mb
Якщо ви пробуєте прошити цей rom і це провалюється, тоді існує дві можливих причини: Якщо ви пробуєте прошити цей rom і це провалюється, тоді існує дві можливих причини:
@ -105,30 +105,13 @@ libreboot як `плата.`
| 12Мбайт | 0xBE0000 | | 12Мбайт | 0xBE0000 |
| 16Мбайт | 0xFE0000 | | 16Мбайт | 0xFE0000 |
Отримання блобів
===============
Найпростіший шлях побачити те, чи ваша конфігурація coreboot є дійсною - це
витягнути потрібні бінарні блоби з резервної копії rom вашого постачальника.
Вам буде потрібно уніфікований rom для налаштувань з подвійнь з подвійним чіпом; дивіться [керівництво ivybridge haswell](/docs/install/ivy_has_common.uk.html)
для інструкцій про створення уніфікованого образу rom.
Витягнення блобів з образа rom постачальника автоматизовано в lbmk.
Просто виконайте `./update blobs extract [плата] [/path/to/backup.bin]`
Наприклад:
./update blobs extract t420s_12mb t420s_backup.bin
Ви можете потім модифікувати ваші конфігурації coreboot знову та встановити шлях для
intel firmware descriptor, intel management engine, та прошивки gigabit ethernet.
Отримання допомоги Отримання допомоги
============ ============
Коли ви спробували все вищенаведене, ви могли би знайти, що ця плата досі не Коли ви спробували все вищенаведене, ви могли би знайти, що ця плата досі не
працює. працює.
Якщо це той випадок, тоді вам варто зв'язатися з розробниками libreboot для більшої допомоги. Якщо це той випадок, тоді вам варто зв'язатися з розробниками libreboot для більшої допомоги.
Ви можете ping `shmalebx9` та/або `leah` на irc або відкрити проблемне питання на git. Ви можете ping `leah` на irc або відкрити проблемне питання на git.
В обох випадках, переконайтеся, що включено деталізований опис всього, що ви В обох випадках, переконайтеся, що включено деталізований опис всього, що ви
спробували, і що точно сталося, коли ви спробували прошити rom. спробували, і що точно сталося, коли ви спробували прошити rom.
Якщо ваша плата не підтримується в libreboot, тоді ви можете передбачати, що наші Якщо ваша плата не підтримується в libreboot, тоді ви можете передбачати, що наші

View File

@ -17,7 +17,7 @@ Building and Testing
Libreboot can be built for qemu just like any other board. Libreboot can be built for qemu just like any other board.
./build boot roms qemu_x86_12mb ./build fw coreboot qemu_x86_12mb
In order to test the resulting roms, you must have qemu installed on the host machine. In order to test the resulting roms, you must have qemu installed on the host machine.
Test the roms by pointing qemu to the rom in bios mode. Test the roms by pointing qemu to the rom in bios mode.
@ -29,7 +29,7 @@ For example:
There is basic support for an arm64 virtual machine as well, although the payloads are not as developed as the x86 one: There is basic support for an arm64 virtual machine as well, although the payloads are not as developed as the x86 one:
./build boot roms qemu_arm64_12mb ./build fw coreboot qemu_arm64_12mb
``` ```
qemu-system-aarch64 -bios bin/qemu_arm64_12mb/uboot_payload_qemu_arm64_12mb_libgfxinit_corebootfb_noblobs.rom \ qemu-system-aarch64 -bios bin/qemu_arm64_12mb/uboot_payload_qemu_arm64_12mb_libgfxinit_corebootfb_noblobs.rom \

View File

@ -28,7 +28,7 @@ source](../docs/build/) if you wish to use this board. Read those instructions
first; with build dependencies then installed, you can build the board like first; with build dependencies then installed, you can build the board like
so: so:
./build boot roms hp2170p_16mb ./build fw coreboot hp2170p_16mb
Installation instructions are being written for Libreboot, but you can refer Installation instructions are being written for Libreboot, but you can refer
to the coreboot instructions for now. to the coreboot instructions for now.

View File

@ -38,7 +38,7 @@ source](../docs/build/) if you wish to use this board. Read those instructions
first; with build dependencies then installed, you can build the board like first; with build dependencies then installed, you can build the board like
so: so:
./build boot roms hp8470pintel_16mb ./build fw coreboot hp8470pintel_16mb
There is currently no documentation on the coreboot website, but installation There is currently no documentation on the coreboot website, but installation
instructions will be written for the Libreboot website. instructions will be written for the Libreboot website.
@ -76,7 +76,7 @@ Debian Linux).
Here's how to build ROM images for this board (make sure you have performed Here's how to build ROM images for this board (make sure you have performed
the [prerequisite steps](../docs/build/) first: the [prerequisite steps](../docs/build/) first:
./build boot roms t1650_12mb ./build fw coreboot t1650_12mb
If you want GRUB-only setup, you could configure SeaBIOS bootorder to only If you want GRUB-only setup, you could configure SeaBIOS bootorder to only
load the GRUB payload, and disable the SeaBIOS menu. This can be done by load the GRUB payload, and disable the SeaBIOS menu. This can be done by