audit6.md: mark the interesting changes in bold

i forgot to do this. it's something that i started
doing since audit 5, to help lazy people who tl;dr

Signed-off-by: Leah Rowe <info@minifree.org>
master
Leah Rowe 2024-07-19 19:00:32 +01:00
parent ed8ccc47a7
commit 54962a782c
1 changed files with 21 additions and 17 deletions

View File

@ -68,6 +68,10 @@ that will be available, in the next Libreboot release.
Summarised list of changes Summarised list of changes
========================== ==========================
The most interesting changes are marked in **bold**. "Interesting" means that
the change greatly improves the usefulness/reliability of Libreboot, or that it
affects the user in a profound and noticeable way.
Changes are in order per category, from newest to oldest: Changes are in order per category, from newest to oldest:
Feature changes Feature changes
@ -81,8 +85,8 @@ improve the redundancy of certain operations, and overall reliability in lbmk.
The changes are as follows: The changes are as follows:
* Put the cache directory location in an environmental variable, * **Put the cache directory location in an environmental variable,
named `XBMK_CACHE`. If unset, it defaults to `$PWD/cache`, where PWD is the named `XBMK_CACHE`.** If unset, it defaults to `$PWD/cache`, where PWD is the
current location that the instance of lbmk is running from, otherwise if current location that the instance of lbmk is running from, otherwise if
defined, the location is used. This means that the same cached files are defined, the location is used. This means that the same cached files are
re-used on the lbmk copy created when running `./update release`, thus re-used on the lbmk copy created when running `./update release`, thus
@ -100,10 +104,10 @@ The changes are as follows:
adding a payload, because it's a given that then coreboot's own build system adding a payload, because it's a given that then coreboot's own build system
would have done it. Libreboot will always enable `CONFIG_PAYLOAD_NONE` on would have done it. Libreboot will always enable `CONFIG_PAYLOAD_NONE` on
all official targets, so this feature is only intended for power users. all official targets, so this feature is only intended for power users.
* Unified cache file handling for vendor files, and files defined as modules * **Unified cache file handling** for vendor files, and files defined as modules
for specific projects. They are now cached within the same base directory. for specific projects. They are now cached within the same base directory.
* `script/trees`: Automatically re-download and re-build a given project, when * **`script/trees`: Automatically re-download and re-build a given project, when
configuration changes, on any file under specific directories in `config/` configuration changes**, on any file under specific directories in `config/`
pertaining to it; this is done by concatenating the sha512sum hashes for pertaining to it; this is done by concatenating the sha512sum hashes for
each of those files, and then making a sha512sum hash from that. The hash each of those files, and then making a sha512sum hash from that. The hash
is stored, and compared to the current one; if it differs, then you know is stored, and compared to the current one; if it differs, then you know
@ -127,7 +131,7 @@ The changes are as follows:
universally, for vendor files and for submodules files (e.g. crossgcc files). universally, for vendor files and for submodules files (e.g. crossgcc files).
This avoids wasting bandwidth when building for multiple coreboot trees, in This avoids wasting bandwidth when building for multiple coreboot trees, in
cases where multiple trees share the same URLs for crossgcc tarballs. cases where multiple trees share the same URLs for crossgcc tarballs.
* `include/git.sh`: Cache all git downloads, reset to `HEAD`, before copying * **`include/git.sh`: Cache all git downloads**, reset to `HEAD`, before copying
to the final location; this is also done on submodules. If a cached repository to the final location; this is also done on submodules. If a cached repository
exists, run `git pull` on it but without an exit under fault conditions; if exists, run `git pull` on it but without an exit under fault conditions; if
a fault occurs, including when trying to reset on a copy of it, fall back to a fault occurs, including when trying to reset on a copy of it, fall back to
@ -135,7 +139,7 @@ The changes are as follows:
destination. This change results in substantially reduced internet bandwidth destination. This change results in substantially reduced internet bandwidth
usage, especially when downloading submodules for multiple coreboot trees, usage, especially when downloading submodules for multiple coreboot trees,
in cases where those trees share common revisions. in cases where those trees share common revisions.
* `script/trees`: Support `-d` (flag) for custom build logic; it does the same * **`script/trees`: Support `-d` (flag) for custom build logic**; it does the same
thing as `-b`, but with a variable named `dry` being set to `:`; this is thing as `-b`, but with a variable named `dry` being set to `:`; this is
prefixed on most build-related commands, and can be further prefixed as prefixed on most build-related commands, and can be further prefixed as
desired, in mkhelper functions. The result is that you can do *dry runs* on desired, in mkhelper functions. The result is that you can do *dry runs* on
@ -155,14 +159,14 @@ The changes are as follows:
reason for implementing this is precisely so that project-specific hacks can reason for implementing this is precisely so that project-specific hacks can
be removed; the `trees` script now contains much more generalised logic, be removed; the `trees` script now contains much more generalised logic,
and project-specific logic was moved to mkhelper functions. and project-specific logic was moved to mkhelper functions.
* SeaBIOS-only images are no longer provided, where GRUB is specified on a * **SeaBIOS-only images are no longer provided,** where GRUB is specified on a
given mainboard; similarly, GRUB-first images are not provided. If GRUB is given mainboard; similarly, GRUB-first images are not provided. If GRUB is
enabled on a board, *SeaGRUB* is provided. The get SeaBIOS-only startup, you enabled on a board, *SeaGRUB* is provided. The get SeaBIOS-only startup, you
can either remove the `bootorder` file from CBFS, or disable can either remove the `bootorder` file from CBFS, or disable
GRUB in `target.cfg` before building, for a given mainboard. GRUB in `target.cfg` before building, for a given mainboard.
* `script/trees`: A `premake` variable is supported in `mkhelper.cfg` files, * **`script/trees`: A `premake` variable is supported in `mkhelper.cfg`** files,
defining a function to be executed *before* running `make`, on a given project. defining a function to be executed *before* running `make`, on a given project.
* `script/trees`: A `postmake` variable is supported in `mkhelper.cfg` * **`script/trees`: A `postmake` variable is supported in `mkhelper.cfg`**
and `target.cfg` files, defining a function to be executed immediately after and `target.cfg` files, defining a function to be executed immediately after
running `make`, on a given project. This is used during coreboot builds, to running `make`, on a given project. This is used during coreboot builds, to
add payloads on a given coreboot image. It can be used for any other purpose. add payloads on a given coreboot image. It can be used for any other purpose.
@ -205,7 +209,7 @@ The changes are as follows:
single-tree projects, defined *by argument*, but it was quite error prone single-tree projects, defined *by argument*, but it was quite error prone
and there's no clean way to otherwise do it. We don't use the script this and there's no clean way to otherwise do it. We don't use the script this
way, anywhere in lbmk, and users are advised the same. way, anywhere in lbmk, and users are advised the same.
* `script/roms`: *Only* Support SeaBIOS and Sea*GRUB*, on x86 coreboot targets. * **`script/roms`: *Only* Support SeaBIOS and Sea*GRUB*, on x86 mainboards**.
SeaGRUB is a configuration whereby SeaBIOS starts first, but immediately tries SeaGRUB is a configuration whereby SeaBIOS starts first, but immediately tries
to load GRUB from the flash. This complements the other change, listed below. to load GRUB from the flash. This complements the other change, listed below.
We will no longer provide configurations where GRUB is the primary payload, We will no longer provide configurations where GRUB is the primary payload,
@ -240,7 +244,7 @@ The changes are as follows:
argument on the `grub-mkstandalone` command, and it means that the GRUB argument on the `grub-mkstandalone` command, and it means that the GRUB
images can be used standalone in other build systems. The image is very images can be used standalone in other build systems. The image is very
small, so it's OK to do it this way. small, so it's OK to do it this way.
* `script/roms`: Don't insert GRUB keymaps, at all. This feature was using a * **`script/roms`: Don't insert GRUB keymaps, at all.** This feature was using a
lot of disk space during testing. If no keymap is inserted, GRUB defaults to lot of disk space during testing. If no keymap is inserted, GRUB defaults to
US Qwerty. You can still insert the keymap file as `keymap.gkb` in CBFS, and US Qwerty. You can still insert the keymap file as `keymap.gkb` in CBFS, and
that keymap will be used by GRUB (e.g. US Dvorak, French Azerty, French BEPO). that keymap will be used by GRUB (e.g. US Dvorak, French Azerty, French BEPO).
@ -284,7 +288,7 @@ The changes are as follows:
itself (the coreboot configs all enable `CONFIG_PAYLOAD_NONE`). For cases itself (the coreboot configs all enable `CONFIG_PAYLOAD_NONE`). For cases
where a `target.cfg` file does *not* specify `mkhelper`, a fallback default where a `target.cfg` file does *not* specify `mkhelper`, a fallback default
entry is dictated within `config/data/coreboot/mkhelper.cfg`. entry is dictated within `config/data/coreboot/mkhelper.cfg`.
* GRUB: Only load the `xhci` module from `grub.cfg`; the `install_modules` * **GRUB: Only load the `xhci` module from `grub.cfg`**; the `install_modules`
variable now defines `xhci`, instead of `modules` defining it. This means variable now defines `xhci`, instead of `modules` defining it. This means
that the xHCI module is no longer automatically loaded during GRUB machine that the xHCI module is no longer automatically loaded during GRUB machine
initialisation, but it's then loaded immediately when the GRUB shell starts, initialisation, but it's then loaded immediately when the GRUB shell starts,
@ -323,7 +327,7 @@ The changes are as follows:
the build threads being default (one thread), ensuring that we set it to the build threads being default (one thread), ensuring that we set it to
the value as defined by `XBMK_THREADS`. The bug was triggered when building the value as defined by `XBMK_THREADS`. The bug was triggered when building
the U-Boot images, because U-Boot does not specify `CPUS=` on makeargs. the U-Boot images, because U-Boot does not specify `CPUS=` on makeargs.
* `include/git.sh`: Re-try `git pull` three times, when updating the cache * **`include/git.sh`: Re-try `git pull` three times**, when updating the cache
Git repository for a given project or submodule. This mitigates possible Git repository for a given project or submodule. This mitigates possible
instability in the user's internet connection, where it's online but may instability in the user's internet connection, where it's online but may
otherwise experience jitter (the same issue could also occur on the internet otherwise experience jitter (the same issue could also occur on the internet
@ -381,7 +385,7 @@ The changes are as follows:
declared. The intention is to check both unitialised and empty strings, per declared. The intention is to check both unitialised and empty strings, per
variable. This is a *pre-emptive* bug fix, because this bug did not seemingly variable. This is a *pre-emptive* bug fix, because this bug did not seemingly
cause any issues in practise, but a bug is still a bug. cause any issues in practise, but a bug is still a bug.
* `include/vendor.sh`: Re-added the `modify_gbe()` function, seldom used but * **`include/vendor.sh`: Re-added the `modify_gbe()` function**, seldom used but
nonetheless required; it's called when the user specifies a MAC address, nonetheless required; it's called when the user specifies a MAC address,
during vendorfile insertion on release images. Direct use of `nvmutil` is during vendorfile insertion on release images. Direct use of `nvmutil` is
still recommended, simply to gain an understanding of how it works; the MAC still recommended, simply to gain an understanding of how it works; the MAC
@ -441,7 +445,7 @@ The changes are as follows:
is nameless, because this file is used during the build process when naming is nameless, because this file is used during the build process when naming
release tarballs; theoreticaly, because in practise, lbmk would never remove release tarballs; theoreticaly, because in practise, lbmk would never remove
this file, but the build system is designed to be as adaptable as possible. this file, but the build system is designed to be as adaptable as possible.
* `script/trees`: If the crossgcc build fails, run it *again* first, before * **`script/trees`: If the crossgcc build fails, run it again first**, before
returning with error status. If the second build passes, don't yield an error. returning with error status. If the second build passes, don't yield an error.
Sometimes the crossgcc build can fail for whatever reason, but a second run Sometimes the crossgcc build can fail for whatever reason, but a second run
will succeed. This avoids having to re-run the *rest* of lbmk, just to re-run will succeed. This avoids having to re-run the *rest* of lbmk, just to re-run
@ -475,7 +479,7 @@ Extensive code cleanup has been performed, as was the main purpose of Audit 6.
The changes are as follows: The changes are as follows:
* Removed `util/autoport`, because the Haswell support that we merged for it * **Removed `util/autoport`**, because the Haswell support that we merged for it
is now included in upstream(coreboot), so it will be included in future is now included in upstream(coreboot), so it will be included in future
coreboot revisions for lbmk. coreboot revisions for lbmk.
* `script/trees`: Move dependency building (based on `build_depend`) to a new * `script/trees`: Move dependency building (based on `build_depend`) to a new