even more stragglers

Signed-off-by: Leah Rowe <leah@libreboot.org>
master
Leah Rowe 2023-10-10 22:07:39 +01:00
parent be2ec75a58
commit bd017989ca
4 changed files with 14 additions and 51 deletions

View File

@ -146,45 +146,8 @@ The *Intel* GPU variant of E6400 is more stable, and works fully, with full
acceleration - the Nvidia models can only be run in software, and the BSD
systems only have the slow `nv` driver (which is nonetheless stable).
Obtaining the VGA Option ROM (Nvidia)
-------------------------------------
Libreboot does not (and will not) directly distribute the Nvidia ROM, but lbmk
has logic added to vendor handle scripts, which automatically fetches Dell
update files and extracts the Video BIOS from it. This is inserted during
the build process, *automatically*. Everything has been figured out *for you*,
as is the purpose of Libreboot's [automated build system](../maintain/).
Provided for *after* the Libreboot 20230625 release, this Video BIOS ROM will
*not* be present in releases, but you'll be able to run the same script that
lbmk uses, to manually re-download and re-add it. The Libreboot build system
scrubs certain vendor code, in the scripts from lbmk that create release
archives.
[Please read the Libreboot build guide](../build/) for more general guidance
on compiling Libreboot. This is *required*, until the next release of Libreboot
after 20230625 comes out.
The `./build boot roms` command (see above) automatically inserts this PCI
ROM, and it is downloaded automatically if the PCI ROM is missing; if
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
that the build went successfully. For example, try:
make -BC src/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
named `libreboot.rom`, you would do:
./cbfstool libreboot.rom print
This would print the files that have been inserted into the ROM image (rom
stage, car, payloads etc), and it should list the PCI option ROM as the
following file, by name: `pci10de,06eb.rom`.
DO NOT flash it unless that file is present. If you've confirmed that the ROM
has compiled successfully, you can flash it.
Nvidia errata
-------------
**BEFORE** you flash it, please know that support for Nvidia variants is
a **proof of concept**. Known issues exist. For more information, please

View File

@ -655,7 +655,7 @@ VESA frame buffer (NOT to be confused with the coreboot frame buffer), or just
normal text mode. Text mode startup is always recommended, and in that setup,
GRUB (including coreboot GRUB, but also PC GRUB) can use VGA modes.
The name `libgfxinit` is simply what `./build boot roms` uses, but it may be
The name `libgfxinit` is simply what `./build fw coreboot` uses, but it may be
that a board uses the old-school native video init code written in C. On some
platforms, coreboot implemented a 3rd party library called `libgfxinit`, which
is written in Ada and handles video initialization. In this setup, coreboot
@ -1011,8 +1011,8 @@ all other parts of the Libreboot build system. The rules are as follows:
would execute `script/build/fw/coreboot all` in `sh`.
* `TMPDIR` is exclicitly set, providing a constant location where temporary
files and directories can be made. `TMPDIR` is exported by the parent to
all children; for example, `./build boot roms all` would export it
to `script/build/boot/roms`, and then anything called by *that* will also
all children; for example, `./build fw coreboot all` would export it
to `script/build/fw/coreboot`, and then anything called by *that* will also
inherit it - the main parent process running `lbmk` will then clean up this
`TMPDIR` directory upon any exit.
* All exits from lbmk are handled by this script. *All* exits, zero or non-zero,
@ -1110,8 +1110,8 @@ script/
=======
*All* scripts under `script/` are executed only by the main `lbmk` script,
conforming to the standard `buildpath/mode/option` e.g. `build/boot/roms` - so,
running `./build boot roms` would run `script/build/boot/roms`.
conforming to the standard `buildpath/mode/option` e.g. `build/fw/coreboot` - so,
running `./build fw coreboot` would run `script/build/fw/coreboot`.
script/build/
---------------
@ -1135,7 +1135,7 @@ The `targetname` argument must be specified, chosen from this output:
Pass several board names if you wish to build only for specific targets. For
example:
./build boot roms x60 x200_8mb
./build fw coreboot x60 x200_8mb
To build *all* targets, specify:
@ -1186,7 +1186,7 @@ for `romtype`:
* If no declaration is made, or a declaration is made contrary to the above,
no special modifications will be made.
If no payload is defined in `target.cfg`, the `roms_helper` script will exit
If no payload is defined in `target.cfg`, the `build/fw/coreboot` script will exit
with error status.
If SeaBIOS is to be used, on `libgfxinit` setups, SeaVGABIOS will also be
@ -1217,12 +1217,12 @@ Libreboot!
### script/build/fw/grub
This builds the `grub.elf` file and keymap configuration files, placing these
under `elf/grub/` for use by `script/build/boot/roms`.
under `elf/grub/` for use by `script/build/fw/coreboot`.
Command: `./build fw grub`
This builds the `grub-mkstandalone` utility under `src/grub/`, which is used
by `script/build/boot/roms` to insert GRUB payloads inside coreboot ROM
by `script/build/fw/coreboot` to insert GRUB payloads inside coreboot ROM
images.
### script/build/fw/serprog
@ -1380,7 +1380,7 @@ coreboot ROM images.
NOTE: the `coreboot` projectname here shall cause the ROM images to go
under `elf/` - this is the no-payload ROM images, which are later used
separately by `script/build/boot/roms_helper` to provide full images, with
separately by `script/build/fw/coreboot` to provide full images, with
payloads inserted. It is an intentional design choice of Libreboot, to split
it up this way and *not* use coreboot's own build system to handle payloads.

View File

@ -147,7 +147,7 @@ One task, one script
====================
Not literally *one task*, but one theme, one *kind* of overall task. For
example, `script/build/boot/roms_helper` builds final ROM images of coreboot,
example, `script/build/fw/coreboot` builds final ROM images of coreboot,
containing payloads; that same script does not also build cross compilers or
tell you the current weather forecast. This is an analog of the Unix design
philosophy which says: write one program that does one thing well, and then

View File

@ -21,7 +21,7 @@ and the build dependencies are installed like so, from `lbmk/` as root:
./build dependencies debian
This installs everything needed for `./build boot roms`, and part of the
This installs everything needed for `./build fw coreboot`, and part of the
build process makes use of coreboot's own cross-compile toolchain.
[QEMU x86/ARM64 virtual machines](../misc/emulation.md) are also