adapt to recent build system changes

Signed-off-by: Leah Rowe <leah@libreboot.org>
master
Leah Rowe 2023-08-17 12:05:33 +01:00
parent 02e9811c8f
commit 82218b0759
17 changed files with 59 additions and 65 deletions

View File

@ -165,7 +165,7 @@ If your board does not have blob sources available, then you must extract them f
You must point libreboot to the backup rom and tell the build system which board you want to extract blobs for. You must point libreboot to the backup rom and tell the build system which board you want to extract blobs for.
For example, to extract blobs for the t440p you must run: For example, to extract blobs for the t440p you must run:
./blobutil extract t440p_12mb /path/to/12mb_backup.rom ./update blobs extract t440p_12mb /path/to/12mb_backup.rom
You can then build the rom for this board as normal: You can then build the rom for this board as normal:
@ -182,28 +182,25 @@ the [libreboot maintenance manual](../maintain/); lbmk is designed to be modular
which means that each script *can* be used on its own (if that's not true, for which means that each script *can* be used on its own (if that's not true, for
any script, it's a bug that should be fixed). any script, it's a bug that should be fixed).
It's as simple as that: Check the list of downloadable modules by reading `resources/git/revisions`.
./download all
The above command downloads all modules defined in the libreboot build system.
However, you can download modules individually.
This command shows you the list of available modules:
./download list
Example of downloading an individual module: Example of downloading an individual module:
./download coreboot ./fetch seabios
./download seabios ./fetch grub
./download grub ./fetch flashrom
./download flashrom Coreboot and u-Boot are handled by a separate script:
./download u-boot ./fetch_trees coreboot
./fetch_trees u-boot
The 'fetch_trees` script creates multiple directories
based on revisions, and patches per revision, whereas
the `fetch` script only does one revision.
Third, build all of the modules: Third, build all of the modules:
-------------------------------- --------------------------------

View File

@ -165,7 +165,7 @@ lbmk.
Ви маєте вказати libreboot резервну копію rom та сказати системі побудові те, для якої плати ви хочете видобути блоби Ви маєте вказати libreboot резервну копію rom та сказати системі побудові те, для якої плати ви хочете видобути блоби
Наприклад, щоб видобути блоби для t440p, ви маєте виконати: Наприклад, щоб видобути блоби для t440p, ви маєте виконати:
./blobutil extract t440p_12mb /path/to/12mb_backup.rom ./update blobs extract t440p_12mb /path/to/12mb_backup.rom
Ви потім можете побудувати rom для цієї плати нормально: Ви потім можете побудувати rom для цієї плати нормально:
@ -182,28 +182,25 @@ lbmk.
що означає те, що кожен сценарій *може* бути використано самостійно (якщо це не є правдою, для що означає те, що кожен сценарій *може* бути використано самостійно (якщо це не є правдою, для
будь-якого сценарія, це є помилкою, яка має бути виправлена). будь-якого сценарія, це є помилкою, яка має бути виправлена).
Це настільки просто, як це: Check the list of downloadable modules by reading `resources/git/revisions`.
./download all
Вищезазначена команда завантажує всі модулі, які означено в системі побудови libreboot.
Однак, ви можете завантажити модулі індивідуально.
Ця команда показує вам список доступних модулів:
./download list
Приклад завантаження індивідуального модуля: Приклад завантаження індивідуального модуля:
./download coreboot ./fetch seabios
./download seabios ./fetch grub
./download grub ./fetch flashrom
./download flashrom Coreboot and u-Boot are handled by a separate script:
./download u-boot ./fetch_trees coreboot
./fetch_trees u-boot
The 'fetch_trees` script creates multiple directories
based on revisions, and patches per revision, whereas
the `fetch` script only does one revision.
Третє, побудова кожного з модулів: Третє, побудова кожного з модулів:
-------------------------------- --------------------------------

View File

@ -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:
./download coreboot default ./fetch_trees 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

@ -130,7 +130,7 @@ Obtaining the VGA Option ROM (Nvidia)
------------------------------------- -------------------------------------
Libreboot does not (and will not) directly distribute the Nvidia ROM, but this Libreboot does not (and will not) directly distribute the Nvidia ROM, but this
WIP branch has logic added to `blobutil`, which automatically fetches Dell WIP branch has logic added to blob scripts, which automatically fetches Dell
update files and extracts the Video BIOS from it. This is inserted during update files and extracts the Video BIOS from it. This is inserted during
the build process, *automatically*. Everything has been figured out *for you*, the build process, *automatically*. Everything has been figured out *for you*,
as is the purpose of Libreboot's [automated build system](../maintain/). as is the purpose of Libreboot's [automated build system](../maintain/).
@ -159,7 +159,7 @@ confirmed to work, as of 9 May 2023):
With build dependencies installed, and Git configured, you may then run With build dependencies installed, and Git configured, you may then run
lbmk commands to compile the ROM image. lbmk commands to compile the ROM image.
Libreboot's `blobutil`, while in the `e6400nvidia_wip` branch, can be Libreboot's blob scripts, while in the `e6400nvidia_wip` branch, can be
executed like so: executed like so:
./blobutil download e6400nvidia_4mb ./blobutil download e6400nvidia_4mb

View File

@ -89,7 +89,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:
./blobutil inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz ./update blobs 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/`
@ -98,12 +98,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:
./blobutil inject -r x230_libreboot.rom -b x230_12mb ./update blobs 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:
./blobutil inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd ./update blobs 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
================================== ==================================

View File

@ -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:
./blobutil inject /path/to/libreboot-20230319-18-g9f76c92_t440pmrc_12mb.tar.xz ./update blobs 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:
./blobutil inject -r x230_libreboot.rom -b x230_12mb ./update blobs 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:
./blobutil inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd ./update blobs 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
================================== ==================================

View File

@ -367,7 +367,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
./download flashrom ./fetch flashrom
./build module flashrom ./build module flashrom
If the `ubuntu2004` script complains about missing dependencies, just modify If the `ubuntu2004` script complains about missing dependencies, just modify

View File

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

View File

@ -25,19 +25,19 @@ 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:
./blobutil inject /path/to/libreboot-20230423_t420_8mb.tar.xz ./update blobs inject /path/to/libreboot-20230423_t420_8mb.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/`
Alternatively, you may patch only a single rom file. Alternatively, you may patch only a single rom file.
./blobutil inject -r t420_libreboot.rom -b t420_8mb ./update blobs inject -r t420_libreboot.rom -b t420_8mb
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:
./blobutil inject -r t420_libreboot.rom -b t420_8mb -m 00:f6:f0:40:71:fd ./update blobs inject -r t420_libreboot.rom -b t420_8mb -m 00:f6:f0:40:71:fd
Disassembly Disassembly
----------- -----------

View File

@ -28,7 +28,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:
./blobutil inject /path/to/libreboot-20230319-18-g9f76c92_t440_12mb.tar.xz ./update blobs inject /path/to/libreboot-20230319-18-g9f76c92_t440_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/`
@ -36,21 +36,21 @@ You can then find flash-ready ROMs in `/bin/release/`
Alternatively, you may patch only a single rom file. Alternatively, you may patch only a single rom file.
For example (libre replacement of `mrc.bin`): For example (libre replacement of `mrc.bin`):
./blobutil inject -r t440p_libreboot.rom -b t440p_12mb ./update blobs inject -r t440p_libreboot.rom -b t440p_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:
./blobutil inject -r t440p_libreboot.rom -b t440p_12mb -m 00:f6:f0:40:71:fd ./update blobs inject -r t440p_libreboot.rom -b t440p_12mb -m 00:f6:f0:40:71:fd
If you're flashing a ROM that needs blob `mrc.bin`, you would do one of these If you're flashing a ROM that needs blob `mrc.bin`, you would do one of these
instead, for example: instead, for example:
./blobutil inject -r t440p_libreboot.rom -b t440pmrc_12mb ./update blobs inject -r t440p_libreboot.rom -b t440pmrc_12mb
or (inserting a different MAC address) or (inserting a different MAC address)
./blobutil inject -r t440p_libreboot.rom -b t440pmrc_12mb -m 00:f6:f0:40:71:fd ./update blobs inject -r t440p_libreboot.rom -b t440pmrc_12mb -m 00:f6:f0:40:71:fd
NOTE: this makes use of `nvmutil`, which you can read more about in NOTE: this makes use of `nvmutil`, which you can read more about in
the [nvmutil documentation](nvmutil.md). the [nvmutil documentation](nvmutil.md).

View File

@ -30,7 +30,7 @@ The script can determine the board automatically if you have not changed the nam
In order to inject the necessary blobs into a rom image, run the script from the root of lbmk and point to the rom image. In order to inject the necessary blobs into a rom image, run the script from the root of lbmk and point to the rom image.
Run the injection script pointing to the release archive you downloaded: Run the injection script pointing to the release archive you downloaded:
./blobutil inject /path/to/libreboot-20230319-18-g9f76c92_t440_12mb.tar.xz ./update blobs inject /path/to/libreboot-20230319-18-g9f76c92_t440_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/`
@ -38,12 +38,12 @@ You can then find flash-ready ROMs in `/bin/release/`
Alternatively, you may patch only a single rom file. Alternatively, you may patch only a single rom file.
For example: For example:
./blobutil inject -r x230_libreboot.rom -b x230_12mb ./update blobs 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:
./blobutil inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd ./update blobs inject -r x230_libreboot.rom -b x230_12mb -m 00:f6:f0:40:71:fd
NOTE: this makes use of `nvmutil`, which you can read more about in NOTE: this makes use of `nvmutil`, which you can read more about in
the [nvmutil documentation](nvmutil.md). the [nvmutil documentation](nvmutil.md).

View File

@ -60,7 +60,7 @@ of the libreboot Git repository.
Then, download coreboot: Then, download coreboot:
./download coreboot ./fetch_trees coreboot
Finally, compile the `cbutils` module: Finally, compile the `cbutils` module:

View File

@ -84,7 +84,7 @@ You can build `cbfstool` in the libreboot build system. Run this command:
This assumes that you already downloaded coreboot: This assumes that you already downloaded coreboot:
./download coreboot ./fetch_trees 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:
@ -156,7 +156,7 @@ 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:
./download grub ./fetch_trees grub
./build module grub ./build module grub

View File

@ -337,7 +337,7 @@ apply custom patches to GRUB.
This runs scripts in `resources/scripts/download`. For example: This runs scripts in `resources/scripts/download`. For example:
./download coreboot ./fetch_trees coreboot
This would run: This would run:
@ -345,7 +345,7 @@ This would run:
Additional parameters can be given, for example: Additional parameters can be given, for example:
./download coreboot default ./fetch_trees coreboot default
This would run: This would run:

View File

@ -117,10 +117,10 @@ You'll need a unified rom for dual chip setups; see [the ivybridge haswell guide
for instructions on creating a unified rom image. for instructions on creating a unified rom image.
Extracting the blobs from a vendor rom image is automated in lbmk. Extracting the blobs from a vendor rom image is automated in lbmk.
Simply run `./blobutil extract [board] [/path/to/backup.bin]` Simply run `./update blobs extract [board] [/path/to/backup.bin]`
For example: For example:
./blobutil extract t420s_12mb t420s_backup.bin ./update blobs extract t420s_12mb t420s_backup.bin
You can then modify your coreboot configs again and set the path for the You can then modify your coreboot configs again and set the path for the
intel firmware descriptor, intel management engine, and gigabit ethernet firmware. intel firmware descriptor, intel management engine, and gigabit ethernet firmware.

View File

@ -114,10 +114,10 @@ libreboot як `плата.`
для інструкцій про створення уніфікованого образу rom. для інструкцій про створення уніфікованого образу rom.
Витягнення блобів з образа rom постачальника автоматизовано в lbmk. Витягнення блобів з образа rom постачальника автоматизовано в lbmk.
Просто виконайте `./blobutil extract [плата] [/path/to/backup.bin]` Просто виконайте `./update blobs extract [плата] [/path/to/backup.bin]`
Наприклад: Наприклад:
./blobutil extract t420s_12mb t420s_backup.bin ./update blobs extract t420s_12mb t420s_backup.bin
Ви можете потім модифікувати ваші конфігурації coreboot знову та встановити шлях для Ви можете потім модифікувати ваші конфігурації coreboot знову та встановити шлях для
intel firmware descriptor, intel management engine, та прошивки gigabit ethernet. intel firmware descriptor, intel management engine, та прошивки gigabit ethernet.

View File

@ -106,7 +106,7 @@ Build system changes:
fixes this issue which has existed in coreboot *for years*: fixes this issue which has existed in coreboot *for years*:
<https://browse.libreboot.org/lbmk.git/plain/resources/grub/patches/0005-at-keyboard-timeout.patch?id=20192c08488104f5cacc1f3842ae8e0ee74c44ef> <https://browse.libreboot.org/lbmk.git/plain/resources/grub/patches/0005-at-keyboard-timeout.patch?id=20192c08488104f5cacc1f3842ae8e0ee74c44ef>
* `build/release/roms`: HP KBC1126 EC firmware scrubbed from release ROMs, for * `build/release/roms`: HP KBC1126 EC firmware scrubbed from release ROMs, for
re-insertion later via `./blobutil download` and `./blobutil inject` like re-insertion later via `./update blobs download` and `./update blobs inject` like
with ME images via `me_cleaner` - for HP laptops. Patch courtesy Leah Rowe. with ME images via `me_cleaner` - for HP laptops. Patch courtesy Leah Rowe.
* `build/dependencies/parabola`: New script for installing build dependencies * `build/dependencies/parabola`: New script for installing build dependencies
in Parabola GNU+Linux, courtesy of Riku Viitanen (`Riku_V` on Libreboot IRC) in Parabola GNU+Linux, courtesy of Riku Viitanen (`Riku_V` on Libreboot IRC)
@ -124,7 +124,7 @@ Build system changes:
* `blobutil/download`: support downloading KBC1126-based EC firmware for HP * `blobutil/download`: support downloading KBC1126-based EC firmware for HP
laptops. (patch by Leah Rowe) laptops. (patch by Leah Rowe)
* `blobutil/download`: Support extracting `me.bin` from full archives, when * `blobutil/download`: Support extracting `me.bin` from full archives, when
running `./blobutil download` - this is done, using the `-M` option running `./update blobs download` - this is done, using the `-M` option
in `me_cleaner` (some vendors put whole ROM images with IFD, GBE, ME and BIOS in `me_cleaner` (some vendors put whole ROM images with IFD, GBE, ME and BIOS
regions in them, inside their BIOS update archives - we only need to get ME regions in them, inside their BIOS update archives - we only need to get ME
from them, to run through `me_cleaner`) in `me_cleaner`. Ninja'd into lbmk by from them, to run through `me_cleaner`) in `me_cleaner`. Ninja'd into lbmk by