Canoeboot 26.01rc1 “Thrifty Tomato” released!

Leah Rowe

25 December 2025


Return to index

Article published by: Leah Rowe

Date of publication: 25 December 2025

THIS RELEASE IS STILL BUILDING. CHECK BACK LATER FOR TARBALLS / BINARIES.

The codename for this release series is Thrifty Tomato. Today’s release is a beta/RC.

This is the first RC release in the Canoeboot 26.01 release series. It is expected that a new RC will be issued weekly between now and the end of January 2026; the final in January 2026 will become the full Canoeboot 26.01 release.

Binaries are available to download from Canoeboot RSYNC and HTTP mirrors.

Testing very much welcome. Please test this release on your board and contact Canoeboot if you encounter problems. It is expected that all boards will be stable, but as this is an RC release, you should expect bugs. Nearly all of the code revisions have been updated, for instance GRUB and coreboot.

Canoeboot 26.01 RC1 release change log is simply a Git log, relative to the Canoeboot 25.06 release; a proper release page will be written for the full 26.01 release, which will be ready in the final days of January 2026.

But here are some brief mentions of changes, before going into the full git logs:

Several new mainboards have been added, such as:

Numerous build system improvements were made, making the build process more deterministic. Several safety improvements, e.g. reduced use of eval, better hashing of project files (especially checking vendor file extraction).

Several bug fixes, e.g. ThunderBolt supported added to the ThinkPad T480, headphone jack auto-detection on T480 also. (ditto T480s)

A lot more new work will be done between now and the end of January 2026. It is very much the case that Canoeboot 26.01 is an ongoing project. Therefore, this first RC release can be considered a snapshot of that progress. It was always the case that a December 25th release was planned, but this was originally going to be a full Canoeboot 25.12 release - now it will be Canoeboot 26.01.

Work is ongoing to integrate Google Chromebooks, by integrating the MrChromebox distribution of coreboot into Libreboot’s build system. This is based on the same work being done in Libreboot, but the Canoeboot version will support up to and including Intel Haswell series (which can boot with free raminit for example).

Improved safety when handling vendor file downloads. For example, the sbase implementation of sha512sum is now provided by lbmk and compiled by it, rather than relying on the host’s sha512sum implementation. This ensures more consistent functionality, for such a critical tool (lbmk uses sha512sum to hash everything). This is also used when checking project files, to see when a project changed and has to be recompiled.

Minor features added, such as CBFS-based backend courtesy Nicholas Chin, for boards where NVRAM is not used; ThinkPad T480 for example.

First, the shortlog:

* cd47d1bb3f bring cb/default in sync with lbmk 26.01rc1 
* 9afcd12c55 inject: fix mac address insertion 
* 8bd85e924d Libreboot 26.01 RC1 Tenacious Tomato 
* 1c9d30dbc3 update pcsx-redux openbios 
* 94efbdc4d0 bump flashprog rev: ffcf92fb, December 2025 
* c83acb11fe init.sh: Explicitly export UTF-8 locale 
* 2238f824d3 grub modules: add more gcry_ ciphers 
* 2f548c0aa5 bump seabios revision 
* 80d5d8cfe3 update grub again, to 25b7f6b93 
* d5d9d38fec GRUB: update to rev 2.14-rc1 December 2025 
* c68ef0dc20 grub: add a keyboard layout for norway 
* cc16ab949e tree.sh: tidy up check_gnu_path 
* 6b54002a48 lib.sh: reduce indentation in setvars 
* 5fd508070b get.sh: reduce indendation in fetch_targets 
* 7b301c254d get.sh: reduce indentation in clone_project 
* 43e14e7641 WIP: chromebook integration script 
* 09949c222d fam15h: add missing file to nuke.list 
*   270e868802 Merge pull request 'fixed typo in "grub_scan_disk" for macbook11_16mb' (#26) from honzo/cbmk:macbook11_16mb_fixed_typo into master 
|\  
| * 8e500eddb1 fixed typo in "grub_scan_disk" for macbook11_16mb 
* |   8fe97c6c58 Merge pull request 'removed duplicate "payload_uboot" for e6230_12mb' (#25) from honzo/cbmk:e6230_12mb_deduplicated into master 
|\ \  
| |/  
|/|   
| * 65ff6b4362 removed duplicate "payload_uboot" for e6230_12mb 
|/  
* e19c98729d get.sh: return clone_project if multi-tree 
* 9ebd848451 Revert "get.sh: don't frivolously copy tmp git clones" 
* 8d954b5700 Revert "get.sh: remove a redundant check" 
* 08e2dccf71 get.sh: remove a redundant check 
* b99c428d16 get.sh: don't frivolously copy tmp git clones 
* d8c4e62dda Revert "get.sh: make forcepull a macro" 
* b7ff64ecff get.sh: make forcepull a macro 
* b041853100 tree.sh: unify -f/-F in case/switch handling 
* 5cf29c219d tree.sh: convert do_make into a macro 
* 49f3ac4dc4 git: don't use review.coreboot.org as main 
* f19bc135ec xbmk: sort global variables alphabetically 
* 03d1c843c8 get.sh: use the same directory map as --mirror 
* b673643460 get.sh: use --keep-cr on git-am 
* f4950dd2aa get.sh: More reliable git remote caching 
* df9f0ae7fa xbmk: minor code cleanup (79 character rule) 
* 46a4f21949 update config/dependencies 
* d63ba0adee tree.sh: add missing -F flag 
* 30de713fe6 get.sh: use git-show instead, for rev checks 
* 873c3ee28e rom.sh/tree.sh: clean up if_not_dry_build 
* 83e8fcb5a2 rom.sh: use if_dry_build macro 
* 5cd80a5d19 rom.sh: don't run add_cbfs_option on dry builds 
* ea1be97a1f rom.sh: support CBFS coreboot option backend 
* e87ee65e6f init.sh: only create cache/ here 
* 29c53c86fa Revert "init.sh: explicitly create cache/" 
* 2c2163a222 init.sh: explicitly create cache/ 
* ab98359f5f Revert "remove unar from dependencies" 
* 1a642f50f3 xbmk: don't call mkdir. use xbmkdir (new function) 
* 114fe7ffe1 update parabola and trisquel12 dependencies 
* 8d9e37fea6 release.sh: preserve clean sbase before building 
* 289bd9e84b xbmk: use sbase sha512sum, not host sha512sum 
* 6c292bd581 config/git: import suckless sbase 
* 0eee56ac36 xbmk: rename cv variables, for clarity 
* 68c84e4d6b tree.sh: rename xtree to xgcctree, for clarity 
* 123f9c3191 tree.sh: rename btype to buildtype, for clarity 
* 122cd86f4a tree.sh: rename _f to flag, for code clarity 
* 971cf95550 get.sh: delete tmp patch list when done 
* 6ef3eaf197 get.sh: sort patches when applying 
* 2de1f1c22c release.sh: remove eval statement in nuke() 
* e43818a9a4 xbmk: rename the "dry" variable to if_not_dry_run 
* 89e18ea5e4 coreboot/mkhelper: don't use eval 
* 1ad0160019 xbmk: remove even more eval statements 
* 7f61b0da20 xbmk: remove the setcfg function 
* 387f0bbe01 xbmk: clean up a few err calls 
* 609995ed6b xbmk: remove more eval statements 
* 1c778872a2 xbmk: general cleanup: unroll condensed code lines 
* a10826c411 grub/xhci_nvme: fix target.cfg 
* 0d9286c279 add fedora42 dependencies from bauduser 
* c0329efd9f dependency/debian: libstdc++-arm-none-eabi-newlib 
* 5e1a20772e grub/xhci: rename to grub/xhci_nvme 
* 1c76e4f33c tree.sh: remove superfluous eval statements 
* cf62353735 rom.sh: remove superfluous eval statement 
* 87e5704d70 inject: remove superfluous use of eval 
* 552348db6b init.sh: reduce the use of eval statements 
* 6a166843c0 get.sh: reduce the number of eval statements 
* ae5b1cbeb5 get.sh: allow force-pull via -F instead of -f 
* 6c760e1e85 get.sh: only pull if the local revision is missing 
* a0b25c0057 init.sh: break up xbmk_set_env 
* d06402a04a tree.sh: break up check_gnu_path to subfunctions 
* 0da1d6d6e6 add trisquel12 dependencies 
* ceed1d9f17 rom.sh: support "fspgop" init mode (won't be used) 
* 4317de947b libarchive: also copy bsdunzip and bsdcpio 
* dfa5c940aa remove unar from dependencies 
* 82f65c8e66 config/git: Support building libarchive 
* 20e99455cb gru bob/kevin: make u-boot bootflow timeout 8secs 
* 5118bdacb3 rom.sh: remove TODO note 
* 6effdcfc27 inject.sh: don't exit from patch_release 
* ca6be85523 init.sh: remove comment in pybin 
* 88724d234e get.sh: remove unnecessary check in try_copy 
* e724e86715 get.sh: rename try_file to try_fetch 
* cba989b313 xbmk: tidy up some if statements 
* d1d18f80c5 init.sh: remove TODO note 
* 028cc03ead init.sh: create TMPDIR *after* suid check 
* 1471c62976 release.sh: use cache src on release builds 
* 109afed152 init.sh: remove symlink check on XBMK_CACHE 
* 87cc4930b3 init.sh: switch back to old TMPDIR checks 
* 683dec94f0 make notices a bit more readable 
* cd25737e25 release.sh: fix typo in script: ./mk, not ./mx 
* 52f15ebe40 xbmk: cleanup of recent code refactoring 
* b985fcdb9f mk: unroll condensed code lines 
* 25e25144e9 get.sh: unroll condensed code lines 
* 4747bba128 init.sh: unroll condensed code lines 
* e920949da8 inject.sh: unroll condensed code lines 
* 6c308b8b25 lib.sh: unroll condensed code lines 
* 25ae11c2b7 release.sh: unroll condensed code lines 
* 6023e69c40 rom.sh: unroll condensed code lines 
* 897520a003 tree.sh: unroll condensed commands 
* 2fd121f503 init.sh: make TMPDIR *after* calling xbmkpkg 
* ca5bdb4047 Revert "xbmk: don't use backticks for command substitution" 
* a356acad18 tree.sh: fix bad variable reference 
* fcce35d703 xbmk: much more verbose error messages 
* 4c6d317b5b lib.sh: use xprintf in err() 
* a7f88ca425 lib.sh: use xprintf in x_ 
* a40030800c lib.sh: check args for errors in fx_ and dx_ 
* 9fa9cd9a76 inject.sh: add missing semicolon in case 
* 9a2dbd5db8 xbmk: don't use backticks for command substitution 
* 4f05c70c6b Revert "inject.sh: put tmpromdel in xbtmp, not cache/" 
* a8cc2d795f Update arch dependencies 
* e7079e11bd init.sh: write-protect the lock file on startup 
* 45ea594d1d Revert "git/grub: use codeberg as the main mirror" 
* bfe56dcaa4 Revert "change grub git again" 
* 35b0b08752 change grub git again 
* c0d9580493 tree.sh: don't combine remkdir/cd gnupath 
* b993e8322b release.sh: delete xbmkwd on src tarballs 
* fd32a81d42 inject.sh: put tmpromdel in xbtmp, not cache/ 
* 110a3bf6f3 init.sh/tree.sh: put PATH dirs in xbtmp 
* 0dd4d13664 init.sh: bail if date is non-GNU (for now) 
* 43ac862f92 lib/init.sh: sanitize the version string 
* acbaf22f97 release.sh: put vdir in xmtmp, not XBMK_CACHE 
* 4697275691 mk: hardened PWD check (deny symlinks) 
* 27ab9c98fe git/grub: use codeberg as the main mirror 
* 93f69904ba get.sh: put tmpgit in xbtmp 
* 629a1364e7 Revert "get.sh: put tmpclone dirs in xbtmp" 
* c67129c985 Revert "tree.sh: add missing colon at the end of trees()" 
* f784f7daad init.sh: create separate lock in release dirs 
* cecdf23fa1 tree.sh: add missing colon at the end of trees() 
* 66eee27e07 get.sh: put tmpclone dirs in xbtmp 
* c7308f6769 xbmk: remove xbloc, re-use xbtmp instead 
* be4fe8df2d init.sh: put TMPDIR inside xbmkpwd, not /tmp 
* bc133aaaa0 get.sh: remove unnecessary variable, repofail 
* 65baac8eec rom.sh: simplify rmodtool copy handling 
* e958a5069a release.sh: remove support for the -d flag 
* 8b8714af06 get.sh xbget: don't use eval for file/dir checks 
* 154d4c9da1 release.sh: fix broken release lock file handling 
* e31d41edf3 lib.sh and rom.sh: stricter mktemp usage 
* 8f9c8ec960 inject.sh: stricter set + usage 
* a786d3cf32 init.sh: tidy up xbmk_set_env 
* 141632d59d init.sh: tidy up xbmk_child_set_tmp 
* 76453a4a09 init.sh: remove unnecessary lockfile checks 
* 05c7ce99e8 init.sh: move TMPDIR handling to own functions 
* c73ede6578 init.sh: prevent race condition with TMPDIR 
* ed056dad5b init.sh: MUCH safer TMPDIR handling 
* 5a4e5aa1c5 mk: simplify the main script check 
* 70af3c187d config/dependencies: add --no-install-recommends 
* 7698ba930f inject.sh: redirect stderer to /dev/null FIRST 
* 0370760ae5 add missing zero file for coreboot 
* 332731f33f rom.sh: safer use of cat in copyps1bios 
* f2bf56c3a3 tree.sh: tidy up check_cross_compiler 
* 54dbcc53ab tree.sh: don't re-check xgcc needlessly 
* 49003ccb05 tree.sh: check xgcc AFTER checking elfdir 
* 602fc3cfa0 lib.sh: safer pad_one_byte function 
* 948546a684 lib.sh: additional error handling on cat 
* 03061e8316 tree.sh: Delete files *before* updating hashes 
* df15bf8e11 tree.sh: rename hashtype to hashname 
* 4299af2400 tree.sh: rename hashname to hashdir 
* 76df3f3ce2 tree.sh: rename hashvar to badhashvar 
* 5b4ebbaa29 tree.sh: rename function and remove comments 
* df97fe0930 tree.sh: don't delete builds if tree==target 
* ae489f834c tree.sh: re-add comments to check_hashes 
* c4984cc6a2 tree.sh: unified project hash handling 
* 116860abbb rom.sh: Don't run mkhelpers if release=n 
* c945efdb53 coreboot/default: probe EDID twice in libgfxinit 
* bfbc6874ad rom.sh: Don't build coreboot utils if dry=":" 
* b1d24ccd5c cache coreboot builds in elf/ again 
* 2e906fb4d3 tree.sh: delete individual target builds if needed 
* d4cf50173c tree.sh: Remove redundant deletion 
* 82b0b05ed3 tree.sh: Place target builds under tree/target/ 
* 4dda8a24f3 rom.sh: bump pcsx-redux copyright date to 2025 
* 5b47f6b82f pcsx-redux: bump rev 8f8cc3d5, 20 June 2025 
* 57a58a10c4 coreboot/default: bump rev 812d0e2f62, 5 Apr 2025 
* 1dee34148f GRUB: Bump to rev a68a7dece, 23 June 2025 
* bd322c05e2 SeaBIOS/default: Bump to rev b686f460, 28 Jun 2025 
* 6395f3f20f ifd/hppro3500: unlock regions by default 
* fc201b7f08 ifd/hppro3500: set HAP bit by default 
* 0b8cccdcab cb/hppro3500: use seagrub, not grubsea 
* b7c4c41a26 Add HP Pro 3500 Series 
* 09c02817e5 lib.sh: remove erroneous break from fx_ 

Next, the full log:

commit cd47d1bb3ffdaa16169fe380b403386d2a378de0
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Dec 25 16:35:18 2025 +0100

    bring cb/default in sync with lbmk 26.01rc1
    
    and with this, i can make Canoeboot 26.01-rc1 for
    release. yes.
    
    This also includes the following lbmk change:
    
    hp8300cmt and dell 780: use legacy verbs
    
    see patches. coreboot making changes upstream. these
    are used in the meantime.
    
    this prevents build errors. (again, see patches, specifically
    the 780 one explains rationale)
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 9afcd12c55493bc45b7c71a5cc56faf342f8f060
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Dec 25 13:41:37 2025 +0100

    inject: fix mac address insertion
    
    during previous re-factoring, i sorted variable initialisations.
    
    that was all well and good, but prior to that, i initialised
    the new_mac string to empty at first, and then to
    the "xx" letters; the latter made the first initialisation
    redundant, but in the re-factoring, I put the blanking of
    the string afterward.
    
    this disabled mac address insertion, because the way the script
    works is precisely to avoid mac address insertion when the mac
    string is empty. this is used when running the "nuke" command.
    
    silly me.
    
    yes, i'm very silly. very very silly. so silly.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 8bd85e924d089196a5a3215e1379b7697df0f283
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Dec 25 00:44:51 2025 +0100

    Libreboot 26.01 RC1 Tenacious Tomato
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 1c9d30dbc33675bedf227a3c4436280b90d6438d
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Dec 24 19:14:43 2025 +0100

    update pcsx-redux openbios
    
    use revision:
    b745534eb231d3699ec57949f16a9a7bd5b79385
    
    This brings the following upstream changes:
    
    *   b745534e Merge pull request #1957 from wheremyfoodat/splash
    |\
    | *   33adecd6 Merge branch 'main' into splash
    | |\
    | |/
    |/|
    * |   d01e438e Merge pull request #1979 from nicolasnoble/upgrade-fmt
    |\ \
    | * | ae8c5cb8 Updating fmt to 12.1.0
    |/ /
    * |   fd9959a8 Merge pull request #1978 from malucard/all
    |\ \
    | * | 3ecd98e6 change deprecated fmt::localtime to std::localtime
    |/ /
    | * eec812e3 Nix: Stop using the outdated version of stb from nixpkgs (#7)
    | *   836a0e10 Merge branch 'main' into splash
    | |\
    | |/
    |/|
    * |   e90d74d6 Merge pull request #1968 from wheremyfoodat/fix-coroutine
    |\ \
    | * | 62a23f8f Fix coroutine build on AppleClang 17
    * | |   a56a96be Merge pull request #1974 from njfox/aur-ci-dependencies
    |\ \ \
    | * | | 98d10525 add --syncdeps to install missing PKGBUILD dependencies
    | |/ /
    * | |   3c155400 Merge pull request #1977 from aybe/fix-icon-overlay
    |\ \ \
    | * | | 79de997d Fix spurious folder icon overlay
    * | | |   1d573efa Merge pull request #1976 from aybe/fix-missing-directory-extension
    |\ \ \ \
    | * | | | b13b80c7 Render directory node fully (including extension)
    | |/ / /
    * | | |   1a678f42 Merge pull request #1975 from aybe/fix-wrong-c-drive
    |\ \ \ \
    | |/ / /
    |/| | |
    | * | | c37d0597 Fix C:\ showing current directory
    |/ / /
    * / / 47d83a2b Padding isos to 2 minutes instead of 2 seconds.
    |/ /
    * |   718f0912 Merge pull request #1962 from njfox/aur-ci
    |\ \
    | * \   c70d85e4 Merge branch 'main' into aur-ci
    | |\ \
    | |/ /
    |/| |
    * | |   87f8e861 Merge pull request #1964 from nicolasnoble/tpageloc-fix
    |\ \ \
    | * \ \   acdc7e50 Merge branch 'main' into tpageloc-fix
    | |\ \ \
    | |/ / /
    |/| | |
    * | | |   a11e5ed6 Merge pull request #1965 from nicolasnoble/brew-hotfix
    |\ \ \ \
    | * | | | d6e15260 Now fixing psyqo...
    | * | | | a7035f32 Fixing OpenBIOS build under 15.2...
    | * | | | 909eb220 Also patching gcc now.
    | * | | | c319254e Adding zlib patch for binutils on macos...
    | * | | | d56b30e3 Derp.
    | * | | | 00bd1db0 Upgrading gcc and gdb as well...
    | * | | | 27e6fab9 Adding verbose mode.
    | * | | | 5cb9084d Restoring readme properly.
    | * | | | d911c2b1 Updating to binutils 2.45.
    | * | | | a759cb84 Fixing https://github.com/orgs/Homebrew/discussions/6351
    |/ / / /
    | * / / 6de0f096 Properly returning a TPageLoc on TPageAttr::getPageLoc
    |/ / /
    | * |   98c53855 Merge branch 'main' into aur-ci
    | |\ \
    | |/ /
    |/| |
    * | |   a285e14e Merge pull request #1955 from wheremyfoodat/mac-bundle
    |\ \ \
    | * | | 97b9651b MacOS bundle script: Enable game mode support, list app as game
    | * | | 0e0fabf2 MacOS bundle script: Clean up temporary image files
    * | | |   1d54cbe6 Merge pull request #1958 from wheremyfoodat/aa64-flush-cache
    |\ \ \ \
    | * | | | 053eb573 arm64 JIT: Fix broken cache invalidation
    | |/ / /
    * | | |   52d9ddc5 Merge pull request #1956 from wheremyfoodat/jit-fixes
    |\ \ \ \
    | * | | | 4dd04425 a64 JIT: Fix setRWX function returning nothing on Apple
    | |/ / /
    * | | |   4e846d89 Merge pull request #1959 from wheremyfoodat/no-portable
    |\ \ \ \
    | * | | | 169788fb Add --no-portable flag
    | |/ / /
    * | | |   7bce4ecd Merge pull request #1960 from wheremyfoodat/remove-dynarec-dump
    |\ \ \ \
    | * | | | 8c995593 arm64 JIT: Don't unconditionally dump a JIT dump in the user's files
    | |/ / /
    * | | |   3a8ddc79 Merge pull request #1963 from njfox/openbios-fix-function-signatures
    |\ \ \ \
    | |/ / /
    |/| | |
    | * | | 98d9684b move pointer asterisk to be consistent
    | * | | e7ad2b1e fix function definitions to include correct argument types
    |/ / /
    | * | bdaa1fe9 remove duplicate git dependency
    | * | 53326672 combine dependency updates/installation and fix indentation
    | * | f4d1f073 build against PR and push instead of master
    |/ /
    | * cdec82a4 Fix VS project files
    | * 587ce8e9 GUI: Better splash image, bug fixes
    | * 0b73a07a Add splash screen generation script
    | * 3c4afbb6 Initial splash image draft
    |/
    *   4f4a00fe Merge pull request #1953 from cleverca22/fix-submodules
    |\
    | * 2bc000e8 fix submodules
    * |   a4d6bcc4 Merge pull request #1954 from yaz0r/gdb_sharedmem
    |\ \
    | |/
    |/|
    | * 390ccf63 Address comments
    | * 07e9b472 Add monitor command to retrieve the shared memory name. Only for wram so far.
    |/
    *   1b0cbe5e Merge pull request #1952 from yaz0r/gdbfix
    |\
    | * b4e77deb Fix GDB packet p (readRegister)
    |/
    *   a2a6d77c Merge pull request #1951 from nicolasnoble/linuxdeploy
    |\
    | * 2388bcb1 Switching to linuxdeploy.
    |/
    *   ec1154ad Merge pull request #1950 from grumpycoders/revert-1947-appimage-bullshit
    |\
    | * 5a66d37f Revert "Sorting out yet another AppImage breakage."
    |/
    *   a1f02931 Merge pull request #1940 from Forceh91/patch-1
    |\
    | * e23f9d01 Re-adding all examples.
    | * f1b8694b Fixing test suite.
    | *   78b4e9f1 Merge branch 'main' into patch-1
    | |\
    | |/
    |/|
    * |   b62b506f Merge pull request #1944 from eliasdaler/authoring_quiet
    |\ \
    | * \   572e18ba Merge branch 'main' into authoring_quiet
    | |\ \
    | |/ /
    |/| |
    * | |   cb651973 Merge pull request #1946 from nicolasnoble/pcsx-io-fixes
    |\ \ \
    | * \ \   fca66d17 Merge branch 'main' into pcsx-io-fixes
    | |\ \ \
    | |/ / /
    |/| | |
    * | | | b2066c72 Merge pull request #1947 from nicolasnoble/appimage-bullshit
    * | | | e5244aea Sorting out yet another AppImage breakage.
     / / /
    * / / e1be0936 Fixing accesses to the pcsx IO system.
     / /
    * / 0fbc4206 autoring: add -q option
     /
    * eaff5ed2 Merge branch 'main' into patch-1
    * c0fa3b2f chore: nitpick changes from coderabbit
    * 3b3e7986 chore: create readme with community examples
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 94efbdc4d0388c347a18464c6985d35bf66d1fd3
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Dec 24 19:02:08 2025 +0100

    bump flashprog rev: ffcf92fb, December 2025
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit c83acb11fe476137526e698e61b05e2ae8d48653
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Dec 24 15:51:34 2025 +0100

    init.sh: Explicitly export UTF-8 locale
    
    C.UTF-8, instead of just C.
    
    This fixes a build issue in GRUB on my Arch Linux test bench.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 2238f824d359f61928c2e2351ab141de69823845
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Dec 24 02:35:30 2025 +0100

    grub modules: add more gcry_ ciphers
    
    Since the libgcrypt update in GRUB, which imported
    GNU's own Argon2 implementation, other ciphers have
    also been introduced.
    
    This patch adds them to lbmk's GRUB build.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 2f548c0aa59ad9bd3f426ea1cdb62fa714f8b3bd
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Dec 24 01:58:24 2025 +0100

    bump seabios revision
    
    by the time i'd done this, i'd realised that seabios only
    modified some documentation upstream. the code has not
    changed since last update, upstream.
    
    no point scrapping the update now. now we have slightly
    better documentation for seabios!
    
    no point skipping this cbmk cherry-pick either.
    everything is pointless. believing in nothing, beleiving
    in everything. just carry on what you're doing and you'll
    probably be fine.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 80d5d8cfe3633f84e32b2c4f67ca76f975a90d3d
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Dec 24 01:47:28 2025 +0100

    update grub again, to 25b7f6b93
    
    i had a build error before, when trying this absolute
    most up to dave revision.
    
    i found that it was this patch:
    
    commit 1a5417f39a0ccefcdd5440f2a67f84d2d2e26960
    Author: Nicholas Vinson <nvinson234@gmail.com>
    Date:   Tue Nov 18 19:38:07 2025 -0500
    
    For now, I just revert it.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit d5d9d38fece65922a2ffa3028f19b3c1aa54615c
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Dec 23 19:19:07 2025 +0100

    GRUB: update to rev 2.14-rc1 December 2025
    
    The argon2 patches were dropped (PHC implementation),
    because GRUB has now its own Argon2 KDF implementation
    as part of its recent libgcrypt update.
    
    Argon2 support is therefore retained, but GNU's implementation
    has replaced the one that Libreboot previously used.
    
    This brings in the following upstream changes:
    
    * 280715ec6 Release 2.14~rc1
    * e549317e1 windows: Fix symbol table generation during module conversion from PE to ELF
    * a340750f9 windows: Fix relocation sections generation during module conversion from PE to ELF
    * c602035a9 loader/efi/linux: Fix compile error with Clang
    * f62269767 build: Add tpm2key.asn file for reference to dist archive
    * 46be4488f build: Include new zstd test support files in dist archive
    * fa79d5ea9 build: Include MAINTAINERS and SECURITY files in dist archive
    * 8271bcc13 build: Add appended signatures header file to EXTRA_DIST
    * 11845da2b lib/xzembed/xz_dec_stream: Replace grub_memcpy() call with memcpy()
    * 7ded35fea bootstrap: Fix patching warnings
    * 4129e9ad6 tss2: Always init out buffer before calling tpm2_submit_command_real()
    * 000e48b42 fs/ntfs: Correct next_attribute validation
    * 5ff9c43cf kern/ieee1275/init: Use net config for boot location instead of firmware bootpath
    * c2cae77ab net/tftp: Fix NULL pointer dereference in grub_net_udp_close()
    * fadc94b91 net/dns: Prevent UAF and double free
    * cd24e2591 net/bootp: Prevent a UAF in network interface unregister
    * fca6c0afd docs: Document lsmemregions and memtools commands
    * 42c099786 commands/memtools: Add lsmemregions command
    * 20211246a tests/file_filter: Add zstd tests
    * 092449f63 tests/file_filter: Add zstd test file
    * 356dcac9a tests/file_filter: Regenerate gpg keys
    * 8ea83c3ee io/zstdio: Implement zstdio decompression
    * 7c22c1000 fs/btrfs: Update doc link for bootloader support
    * 6435551a6 docs: Add Btrfs env block and special env vars
    * b63447748 util/grub.d/00_header.in: Wire grub.cfg to use env_block when present
    * e4e177661 fs/btrfs: Add environment block to reserved header area
    * d6525f0e6 util/grub-editenv: Add probe call for external envblk
    * 4b5ea8dca util/grub-editenv: Wire list_variables() to optional fs_envblk
    * 84e2bc2f1 util/grub-editenv: Wire unset_variables() to optional fs_envblk
    * c7c901916 util/grub-editenv: Wire set_variables() to optional fs_envblk
    * 2abdd8cd2 util/grub-editenv: Add fs_envblk write helper
    * e4d684cc4 util/grub-editenv: Add fs_envblk open helper
    * 512e33ec7 tests: Add "z" length modifier printf tests
    * 3c9762b12 kern/misc: Add the "z" length modifier support
    * 91ddada64 disk/cryptodisk: Add --hw-accel to enable hardware acceleration
    * f8f68f14a libgcrypt: Add hardware acceleration for gcry_sha512
    * 70b2f5f08 libgcrypt: Add hardware acceleration for gcry_sha256
    * 2158d8e8a libgcrypt: Declare the sha256 shaext function
    * 0ff5faf8c libgcrypt: Implement _gcry_get_hw_features()
    * 812356191 libgcrypt: Copy sha512 x86_64 assembly files
    * 7f9c590af libgcrypt: Copy sha256 x86_64 assembly files
    * 8423176f1 lib/hwfeatures-gcry: Enable SSE and AVX for x86_64 EFI
    * 06a5b88ba lib/hwfeatures-gcry: Introduce functions to manage hardware features
    * d01abd713 configure: Tweak autoconf/automake files to detect x86_64 features
    * a122e0262 lib/pbkdf2: Optimize PBKDF2 by reusing HMAC handle
    * 961e38b2b lib/crypto: Introduce new HMAC functions to reuse buffers
    * 59304a7b5 docs: Document argon2 and argon2_test modules
    * 28dbe8a3b kern/misc: Implement faster grub_memcpy() for aligned buffers
    * da01eb0c5 tests/util/grub-fs-tester: Use Argon2id for LUKS2 test
    * c1bd9fc82 tests: Integrate Argon2 tests into functional_test
    * 6a525ee64 tests: Import Argon2 tests from libgcrypt
    * 6052fc2cf disk/luks2: Add Argon2 support
    * 66b8718f9 argon2: Introduce grub_crypto_argon2()
    * de201105d libgcrypt/kdf: Fix 64-bit modulus on 32-bit platforms
    * 93544861b libgcrypt/kdf: Remove unsupported KDFs
    * 1ff720641 libgcrypt/kdf: Get rid of gpg_err_code_from_errno()
    * 0c06a454f libgcrypt/kdf: Implement hash_buffers() for BLAKE2b-512
    * bc94dfd54 crypto: Update crypto.h for libgcrypt KDF functions
    * 5b81f490c util/import_gcry: Import kdf.c for Argon2
    * 6b5c671d3 commands/menuentry: Fix for out of bound access
    * 21cdcb125 tests/tpm2_key_protector_test: Add a test for PCR Capping
    * afddba012 tpm2_key_protector: Support PCR capping
    * ae7a39900 tss2: Implement grub_tcg2_cap_pcr() for emu
    * 7b39970e9 tss2: Implement grub_tcg2_cap_pcr() for ieee1275
    * 39f98e471 tss2: Implement grub_tcg2_cap_pcr() for EFI
    * d47d261ec tss2: Introduce grub_tcg2_cap_pcr()
    * b2549b4d3 tss2: Add TPM2_PCR_Event command
    * e1b9d92a8 loader/i386/linux: Transfer EDID information to kernel
    * a8379e693 fs/hfsplus: Allow reading files created by Mac OS 9
    * c5ff0d616 docs: Fix build warnings in libgcrypt and blsuki doc
    * fa93f2412 kern/command,commands/extcmd: Perform explicit NULL check in both the unregister helpers
    * 9a725391f commands/efi/tpm: Call get_active_pcr_banks() only with TCG2 1.1 or newer
    * 894241c85 kern: Include function name on debug and error print functions
    * 75a20cc14 kern: Make grub_error() more verbose
    * 8abbafa49 net/tcp: Fix TCP port number reused on reboot
    * 3dff10a97 docs/grub: Document appended signature
    * 0f2dda8cf docs/grub: Document signing GRUB with an appended signature
    * 0b59d379f docs/grub: Document signing GRUB under UEFI
    * dbfa3d7d7 appended signatures: Verification tests
    * 7f68c7195 appended signatures: GRUB commands to manage the hashes
    * 6cb58b1c9 appended signatures: GRUB commands to manage the certificates
    * ab7b17717 appended signatures: Using db and dbx lists for signature verification
    * 97f7001e1 appended signatures: Create db and dbx lists
    * b5e872417 appended signatures: Introducing key management environment variable
    * 76158ed1a powerpc/ieee1275: Read the db and dbx secure boot variables
    * 069f3614e appended signatures: Support verifying appended signatures
    * f8e8779d8 powerpc/ieee1275: Enter lockdown based on /ibm, secure-boot
    * e95c52f1f appended signatures: Parse X.509 certificates
    * a33754979 appended signatures: Parse PKCS#7 signed data
    * 3e4ff6ffb appended signatures: Parse ASN1 node
    * 7d28bdb0b appended signatures: Import GNUTLS's ASN.1 description files
    * 1fca5f397 grub-install: Support embedding x509 certificates
    * aefe0de22 pgp: Rename OBJ_TYPE_PUBKEY to OBJ_TYPE_GPG_PUBKEY
    * f826cc8b0 crypto: Move storage for grub_crypto_pk_* to crypto.c
    * 31cc7dfe5 powerpc/ieee1275: Add support for signing GRUB with an appended signature
    * ee789e1a6 lib/b64dec: Use grub_size_t instead of size_t for _gpgrt_b64dec_proc() function definition
    * abb8fb6d1 util/grub-mkimagexx: Fix riscv32 relocation offset
    * 1f9092bfd libgcrypt: Allow GRUB to build with Clang
    * 1d2ee8f8b tests: Add test ISO files to dist package
    * dfa3dbf61 tests: Test dates outside of 32-bit Unix range
    * 6837293b8 lib/datetime: Support dates outside of 1901..2038 range
    * 02788bfdf bootstrap: Ensure shallow gnulib clone works on newer git
    * 4e42199f3 docs: Correct some URLs
    * 733cc28eb docs: Update Future section to reflect current release
    * 54c8573ef docs: Document new libgrypt modules
    * 1562dee69 docs: Clarify section heading and fix wording
    * cf1b75a14 BUGS: Update to point to bug tracking system
    * 236663dfb INSTALL: Document libtasn1 needed for grub-protect
    * 7bfb38627 po: Update translations to build with gettext 0.26
    * 49e76ad16 term/efi/console: Treat key.scan_code 0x0102 (suspend) as Enter
    * de72f3998 util/bash-completion.d/Makefile.am: s/mkrescure/mkrescue/g
    * 14c2966c7 blsuki: Add uki command to load Unified Kernel Image entries
    * 5190df851 blsuki: Check for mounted /boot in emu
    * 51b960132 util/misc.c: Change offset type for grub_util_write_image_at()
    * 8cee1c284 blsuki: Add blscfg command to parse Boot Loader Specification snippets
    * e016d6d60 kern/misc: Implement grub_strtok()
    * 587db89af kern/xen: Add Xen command line parsing
    * b2a975bc5 include/xen/xen.h: Add warning comment for cmd_line
    * 19c698d12 zfs: Fix LINUX_ROOT_DEVICE when grub-probe fails
    * 6898fcf74 relocator: Switch to own page table while moving chunks
    * 67a95527b configure: Generate tar-ustar tarball instead of tar-v7
    * 29d515b4c build: Add new libgcrypt and libtasn1 related files to EXTRA_DISTS
    * eb76b064d build: Add util/import_gcrypt_inth.sed to EXTRA_DISTS
    * eb56a6af9 include/xen/xen.h: Rename MAX_GUEST_CMDLINE to GRUB_XEN_MAX_GUEST_CMDLINE
    * 80df5e132 loader/arm64/xen_boot: Set correctly bootargs property for modules
    * 6831d242a loader/efi/linux: Return correct size from LoadFile2
    * f326c5c47 commands/bli: Set LoaderTpm2ActivePcrBanks runtime variable
    * 0e367796c docs: Write how to import new libgcrypt
    * b930bfa37 libgcrypt: Fix a memory leak
    * d48c277c4 libgcrypt: Don't use 64-bit division on platforms where it's slow
    * de49514c9 util/import_gcry: Fix pylint warnings
    * 334353a97 util/import_gcry: Make compatible with Python 3.4
    * 2a6de4209 libgcrypt: Import blake family of hashes
    * e54187912 libgcrypt: Ignore sign-compare warnings
    * e3b78e49c libgcrypt: Remove now unneeded compilation flag
    * e23704ad4 libgcrypt: Fix Coverity warnings
    * d65810b01 keccak: Disable acceleration with SSE asm
    * f808ef0d2 tests: Add DSA and RSA SEXP tests
    * 0739d24cd libgcrypt: Adjust import script, definitions and API users for libgcrypt 1.11
    * 3e1c2890b b64dec: Add harness for compilation in GRUB environment
    * 5ca0d5e41 b64dec: Import b64dec from gpg-error
    * 3312af6e0 libgcrypt: Import libgcrypt 1.11
    * a0d4c94ef loader/efi/linux: Use shim loader image handle where available
    * 1b9a84e63 loader/efi/chainloader: Use shim loader image handle where available
    * e31d0cd7f efi/sb: Add API for retrieving shim loader image handles
    * ed7e053a3 efi/sb: Add support for the shim loader protocol
    * 70897d3d3 efi: Provide wrappers for load_image, start_image and unload_image
    * 030a70fca loader/arm64/xen_boot: Consider alignment calling grub_arch_efi_linux_boot_image()
    * e82609a47 loader/arm64/xen_boot: Use bool instead of int
    * d1a470b69 loader/arm64/xen_boot: Remove correctly all modules loaded by xen_module command
    * cf5e52fa8 dl: Fix grub_dl_is_persistent() for emu

commit c68ef0dc204de854c51d6587ae8b06f387a4a745
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Nov 22 21:26:40 2025 +0000

    grub: add a keyboard layout for norway
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit cc16ab949e0fea8fb289ad1714f5f86d062023ab
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Nov 15 16:57:48 2025 +0000

    tree.sh: tidy up check_gnu_path
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 6b54002a48dcf49a8d3cffa523a33af336ee08c0
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Nov 15 16:55:27 2025 +0000

    lib.sh: reduce indentation in setvars
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 5fd508070bbf6c2567e2b86f7634d2c164c7b54d
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Nov 15 16:51:59 2025 +0000

    get.sh: reduce indendation in fetch_targets
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 7b301c254daa8d780dbe444b799aaf2a4ada720a
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Nov 15 16:51:10 2025 +0000

    get.sh: reduce indentation in clone_project
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 43e14e764162f6edf1351e2b4743f25082e5a316
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 11 16:27:47 2025 +0100

    WIP: chromebook integration script
    
    NOTE: This doesn't do anything really useful at the moment
    anyway, but I will adapt this in subsequent revisions for
    Canoeboot; for example, only including up to Haswell gen
    chromebooks in Canoeboot.
    
    I'm working on a plan in Libreboot to integrate every model
    of Chromebook supported by the MrChromebox coreboot distro,
    and there's no reason why I can't use that for Canoeboot
    either, but Canoeboot would only be able to support up to
    Intel Haswell series, due to its Binary Blob Extermination
    Policy.
    
    Now here is what I wrote about this in the Libreboot repository:
    
    I intend to merge every Chromebook that Mrchromebox supports,
    into Libreboot, ready for the Libreboot 25.12 release. Work
    is still ongoing, and several changes need to happen in lbmk.
    
    I started working on it a few weeks ago (today is
    14 November 2025 as I push this).
    
    Still TODO:
    
    * Automatically create lbmk coreboot targets, based
      on the configs present in MrChromebox git
    * Re-work git repository management in lbmk, such that
      a list of upstreams is used, instead of a hardcoded
      list per configuration; this will allow us to use
      different remotes across the same project, even where
      they diverge. This would then allow us to use the
      MrChromebook repository directly, instead of cherry-picking
      patches into upstream coreboot
    * The note above about remotes would also mean that we can
      use MrChromebox's own edk2 repository directly. All of this
      would reduce the burden on lbmk.git
    * Support building edk2 payloads, exactly mirroring the
      setups used on MrChromebox builds
    
    There are some things that need to be checked first, for
    boards that use MMC-based or eMMC-based storage, for the
    GRUB and SeaBIOS payloads, also U-Boot, because I will
    also be using these.
    
    As such, this current script shall sit in lbmk master, but
    it is not yet finished.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 09949c222dbc6b6f543498a34abddc1cd0a8ff57
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Nov 23 17:04:42 2025 +0000

    fam15h: add missing file to nuke.list
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 270e868802e55394c27d66656808d8d1df347f91
Merge: 8fe97c6c58 8e500eddb1
Author: Leah Rowe <vimuser@noreply.codeberg.org>
Date:   Sun Nov 23 18:06:13 2025 +0100

    Merge pull request 'fixed typo in "grub_scan_disk" for macbook11_16mb' (#26) from honzo/cbmk:macbook11_16mb_fixed_typo into master
    
    Reviewed-on: https://codeberg.org/canoeboot/cbmk/pulls/26

commit 8fe97c6c58720a4f93d4975f813c7eb9002e1ebb
Merge: e19c98729d 65ff6b4362
Author: Leah Rowe <vimuser@noreply.codeberg.org>
Date:   Sun Nov 23 18:06:08 2025 +0100

    Merge pull request 'removed duplicate "payload_uboot" for e6230_12mb' (#25) from honzo/cbmk:e6230_12mb_deduplicated into master
    
    Reviewed-on: https://codeberg.org/canoeboot/cbmk/pulls/25

commit 65ff6b436243cf0febb0ae4bbc8cdf49d7670973
Author: canoeboot Contributor <contributor@canoeboot.org>
Date:   Sun Nov 16 00:07:20 2025 +0000

    removed duplicate "payload_uboot" for e6230_12mb

commit 8e500eddb120aee948597b8916b8fcf4ef018f88
Author: canoeboot Contributor <contributor@canoeboot.org>
Date:   Sun Nov 16 00:04:39 2025 +0000

    fixed typo in "grub_scan_disk" for macbook11_16mb

commit e19c98729de22b20fd4eac1deafeebd68532bc9b
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Oct 17 22:40:29 2025 +0100

    get.sh: return clone_project if multi-tree
    
    this is the true fix, replacing the fixes previously
    reverted.
    
    the problem with the old fix was that it was a hack,
    and could result in the archived backup of a code repo
    being the wrong one; the destination was the one for
    the main repo, but what if we were cloning the backup?
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 9ebd848451b603c33996ed5d2f04bf7149257b34
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Oct 17 22:32:43 2025 +0100

    Revert "get.sh: don't frivolously copy tmp git clones"
    
    This reverts commit b840cf3a832de815a87d9d10b698eec97aceb342.

commit 8d954b570055a4f2cdbe7e2fa0c1f83041bfdb96
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Oct 17 22:32:35 2025 +0100

    Revert "get.sh: remove a redundant check"
    
    This reverts commit e2a97455cc25921dcb9f5e3a4bf06cdfb3e34b49.

commit 08e2dccf712374ad923cd00d7d74af8571e68bd5
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Oct 17 21:01:31 2025 +0100

    get.sh: remove a redundant check
    
    loc is never empty.
    
    if it is, it's a bug. don't hide bugs.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit b99c428d16ed6bb43ba910cb128d63e61e5d387f
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Oct 17 20:57:18 2025 +0100

    get.sh: don't frivolously copy tmp git clones
    
    this fixes a regression in a previous patch, this time
    also taking account for the different cache locations.
    
    all of get.sh needs to be purged, and re-written clean.
    it looks clean. but it's years of hacks.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit d8c4e62dda37ad1d6bb835e9930390082cd21802
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Oct 17 16:07:23 2025 +0100

    Revert "get.sh: make forcepull a macro"
    
    This reverts commit b7ff64ecffbbdcb881e9664f6ccb55c416f5cabe.

commit b7ff64ecffbbdcb881e9664f6ccb55c416f5cabe
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Oct 17 14:02:55 2025 +0100

    get.sh: make forcepull a macro
    
    :
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit b041853100268044efaccee3128b8b2b3055cfad
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Oct 17 13:57:14 2025 +0100

    tree.sh: unify -f/-F in case/switch handling
    
    they're the same commands, but -F does forcepull
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 5cf29c219da4c3e5c76f7bdda2edccaf17e61964
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Oct 17 13:29:56 2025 +0100

    tree.sh: convert do_make into a macro
    
    use it similarly to if_dry_build/if_not_dry_build
    
    there is nothing cooler than an sh macro
    
    :
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 49f3ac4dc4aec6da6aa8c086a2f6c30625318948
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 16 15:57:31 2025 +0100

    git: don't use review.coreboot.org as main
    
    where backup links are available, use those as main instead.
    
    this is because of the new XBMK_CACHE_MIRROR variable, which
    makes --mirror be used
    
    when performed on review.coreboot.org, this also pulls down
    all changes from gerrit code review; the github backups for
    example only contain the official branches, but gerrit creates
    a new ref per merge request.
    
    a user can still run ./mk -F to force pulling all repos,
    including the coreboot.org ones, but use of -f will skip the
    coreboot.org ones if the backup links worked and contain the
    local commit needed, by a given project used in xbmk.
    
    this patch won't change any real-world behaviour for xbmk
    users, but it is done as a courtesy to the coreboot project,
    in that it largely avoids a sudden surge in coreboot.org's
    traffic if lots of users start doing XBMK_CACHE_MIRROR=y
    
    if XBMK_CACHE_MIRROR is not set, or set to anything other
    than y, a regular clone is performed, saving cached sources
    to cache/clone/ - otherwise, cache/mirror/ is used.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit f19bc135ec31c4532534654ce2b9c6151b2b7659
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 16 15:46:44 2025 +0100

    xbmk: sort global variables alphabetically
    
    also separate some of the special ones.
    
    this makes the variables easier to read/find.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 03d1c843c89c39139c15536ff394fe0c5b95a4a2
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 16 14:22:06 2025 +0100

    get.sh: use the same directory map as --mirror
    
    Don't hardcode the cache directory, and don't store
    remotes anymore. This change retains compatibility
    in practice, with the older directory location, because
    it's extremely unlikely that newly generated locations
    would conflict with old ones.
    
    With this new change, non-mirror git clone caches are
    now done twice; one directory per remote, rather than
    one directory with two remotes.
    
    This is just inherently much more reliable.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit b673643460478065667d1022151d66e1e453fde2
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 16 13:30:55 2025 +0100

    get.sh: use --keep-cr on git-am
    
    Some repositories might use CR-LF line endings. This option
    keeps Git from mangling patches when merging.
    
    Repositories that don't do this, such as ALL repositories
    currently used by xbmk, will be unaffected by this change.
    
    This is being done in preparation for importing MrChromebox
    edk2, as Intel's own edk2 repository on GitHub uses these.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit f4950dd2aa974698475112e085bc9c5bf8ea6504
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 16 00:26:46 2025 +0100

    get.sh: More reliable git remote caching
    
    Don't do one repository for all remotes. Do one *clone* per
    remote.
    
    This also means that users no longer download information twice,
    in practice, because the backup repository will only be downloaded
    if the main one didn't work.
    
    Theoretically, this change is makes the process less efficient, but
    in practise it's more reliable now.
    
    We do now use --mirror on the git clone command for caches, but we
    already did git pull --all before.
    
    This just ensures that we absolutely have all local code.
    
    NOTE:
    
    The new code isn't used by default. To use it, you must do:
    
    export XBMK_CACHE_MIRROR="y"
    
    Otherwise, the old behaviour will continue to be used. This is
    because the new code, while correct, puts more strain on upstream
    servers (more code being downloaded), and can result in higher amounts
    of disk space being used. The old behaviour wasn't broken, so we'll
    also support that method.
    
    TODO: perhaps also have a check in place to re-use both caches,
    where available, regardless of XBMK_CACHE_MIRROR?
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit df9f0ae7fa2fa43c95fa1ea7d78f68d96488b2b3
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Oct 7 05:52:36 2025 +0100

    xbmk: minor code cleanup (79 character rule)
    
    recent re-factoring lead to certain code lines that
    exceeded 79 characters in length.
    
    we like to avoid this, whenever possible.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 46a4f21949ab70d7388c530e30683150652040f2
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Oct 12 06:20:31 2025 +0100

    update config/dependencies
    
    in sync with lbmk
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit d63ba0adee9547eb6645558a68f357c67ff741af
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Oct 7 03:02:01 2025 +0100

    tree.sh: add missing -F flag
    
    i support -F, but didn't include it in the
    actual getopt string.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 30de713fe6751a9925578e70c66d09167457d5c5
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Oct 7 01:25:19 2025 +0100

    get.sh: use git-show instead, for rev checks
    
    whatchanged is deprecated, and results in an error
    on modern git versions, prompting you to include
    the --i-still-use-this argument
    
    what absolute, utter fucking arrogance. i use the
    whatchanged feature every fucking day.
    
    i will be complaining to git-scm.com about this.
    
    but that's what we do in libreboot. we adapt.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 873c3ee28e3604a588c4a392da4eaf71c1193a0a
Author: Leah Rowe <leah@libreboot.org>
Date:   Mon Oct 6 13:28:34 2025 +0100

    rom.sh/tree.sh: clean up if_not_dry_build
    
    the way it was used is messy, and a relic of the
    old chained command coding style, from before when
    i recently loosened that requirement.
    
    the new focus is simple, readable code, regardless
    of size.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 83e8fcb5a250aaef44f4f0c2c2bdb1618a9e9bf0
Author: Leah Rowe <leah@libreboot.org>
Date:   Mon Oct 6 12:43:04 2025 +0100

    rom.sh: use if_dry_build macro
    
    instead of checking if_not_dry_build.
    
    use it here the same way.
    
    yes. shell script macros. it's how i roll.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 5cd80a5d19e3aaa96777d0e154dc5ead4939171e
Author: Leah Rowe <leah@libreboot.org>
Date:   Mon Oct 6 07:44:38 2025 +0100

    rom.sh: don't run add_cbfs_option on dry builds
    
    i added this in an earlier version of the patch, but
    for some reason removed it.
    
    this is necessary, or the build system will fail.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit ea1be97a1fb110860aac1022cfd920f794985ce3
Author: Leah Rowe <leah@libreboot.org>
Date:   Mon Oct 6 02:28:24 2025 +0100

    rom.sh: support CBFS coreboot option backend
    
    not currently needed. this is cherry-picked from
    libreboot lbmk at commit:
    
    c716341c13 cb/kabylake: don't hardcode power_on_after_fail
    
    it is identical to the lbmk version, except that this
    version doesn't modify config/coreboot/
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit e87ee65e6f77520554e80c2654dd7dcbdf5eed67
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Oct 5 01:23:32 2025 +0100

    init.sh: only create cache/ here
    
    also, the check is -e, not -d, because we
    might be operating on a symlink.
    
    it's a bit hacky but this should work.
    
    the previous change (now reverted) broke
    re-use of the main cache/ in release work
    directories.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 29c53c86fa07db1bcefb48c188c2428eddd3c92b
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Oct 5 01:21:26 2025 +0100

    Revert "init.sh: explicitly create cache/"
    
    This reverts commit 23f98c29581e7d2cf5639e93fd89a6e64bec5635.

commit 2c2163a222a352c8cc6c14876728b2022b6e1452
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Oct 5 01:04:25 2025 +0100

    init.sh: explicitly create cache/
    
    otherwise, an error occurs when doing ./mk release
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit ab98359f5fa433e1864ff60e25aa06686f845836
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 23:56:06 2025 +0100

    Revert "remove unar from dependencies"
    
    This reverts commit e8a3cd8cd0e99dbb99dbb1811c0396d2a3ee00c4.
    
    also added unar to the trisquel and parabola dependencies
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 1a642f50f3cfd229666fc513311198a2da919566
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 22:36:11 2025 +0100

    xbmk: don't call mkdir. use xbmkdir (new function)
    
    xbmkdir checks if a directory exists, before running
    mkdir, and then still uses -p
    
    i was testing xbmk on arch linux today, and noticed
    that it errored out when a directory already exists.
    
    i'm mitigating against buggy or differently behaving
    mkdir implementations this way, by wrapping around
    it.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 114fe7ffe13b3ed70d5cef8f2d19e6e86c2b7df9
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 18:33:59 2025 +0100

    update parabola and trisquel12 dependencies
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 8d9e37fea6df78ab632444a491ce592bd2b95ce1
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 10:09:24 2025 +0100

    release.sh: preserve clean sbase before building
    
    this way, the clean version can be placed inside the
    release tarball.
    
    there is a make clean option in sbase, but we should
    not really on this.
    
    the design of xbmk is that a clean src tarball is
    created. there must not be build artifications in it.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 289bd9e84b0976a3319fa95fc2ee8bddafbdc344
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 09:56:42 2025 +0100

    xbmk: use sbase sha512sum, not host sha512sum
    
    the --status flag seems to be a GNUism
    
    as stated in the previous commit, i import sbase
    suckless now, so as to have a consistent implementation
    of sha512sum.
    
    this ensures that its output is reliable, when i'm using
    the output of this command within backticks.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 6c292bd58102d63f3ddee4ce3f971bbdb08871bb
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 09:14:33 2025 +0100

    config/git: import suckless sbase
    
    i currently use the output of sha512sum in several
    places of xbmk, which is a bit unreliable in case
    output changes.
    
    other cases where i use util outputs in variables
    are probably reliable, because i'm using mostly
    posix utilities in those.
    
    to mitigate this, i now import suckless sbase, which
    has a reasonable sha512sum implementation.
    
    *every* binary it builds is being placed in build.list,
    because i'll probably start using more of them.
    
    for example, i may start modifying the "date"
    implementation, adding the GNU-specific options that
    i need as mentioned on init.sh
    
    i'm importing it in util/ because the sha512sum
    util is needed for verifying project sources, so
    if sbase itself is a "project source", that means
    we can into a chicken and egg bootstrapping problem.
    
    this is sbase at revision:
    055cc1ae1b3a13c3d8f25af0a4a3316590efcd48
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 0eee56ac36750e787aa656577c864cbdf804dba3
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 08:41:25 2025 +0100

    xbmk: rename cv variables, for clarity
    
    the new names are still a bit crap, but a bit better.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 68c84e4d6b3d69370c4d2d07c620810c3dcdea31
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 08:37:41 2025 +0100

    tree.sh: rename xtree to xgcctree, for clarity
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 123f9c319184cad25ceaa84eb54149a65567647a
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 08:36:18 2025 +0100

    tree.sh: rename btype to buildtype, for clarity
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 122cd86f4a6f4de39688b4f8caf593b8501c1061
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 08:29:33 2025 +0100

    tree.sh: rename _f to flag, for code clarity
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 971cf95550b07f418fe5047d56b289a34e8906ac
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 08:20:27 2025 +0100

    get.sh: delete tmp patch list when done
    
    yet another oversight
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 6ef3eaf197c5257521c54e954908455c77a6808c
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 08:17:53 2025 +0100

    get.sh: sort patches when applying
    
    this was an oversight in my recent patch unrolling
    the condensed code lines, to remove eval statements.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 2de1f1c22cb902af9b03dca9007cb0aa6fea716f
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 08:03:12 2025 +0100

    release.sh: remove eval statement in nuke()
    
    the symlink check is what made me use eval, but the
    symlink check is not required, since i check every
    entry that goes in nuke.list anyway.
    
    not having that symlink check is safer than having
    an eval statement on that line.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit e43818a9a454a4ecdf9ebbac3612131a35419b1b
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 07:50:34 2025 +0100

    xbmk: rename the "dry" variable to if_not_dry_run
    
    and add a line break where it is used
    
    now it is essentially a macro of sorts, used in
    terms of syntax, to mean the same as:
    
    if [ "$dry" != ":" ]; do
            thing
    fi
    
    in this case, we say:
    
    $if_not_dry_build \
            thing
    
    yes. macros in sh are a thing.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 89e18ea5e4d79ee83b38df83b2913acbe17961c8
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 07:36:19 2025 +0100

    coreboot/mkhelper: don't use eval
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 1ad0160019077b730a7b095b0d5ec4e55079c602
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 06:13:15 2025 +0100

    xbmk: remove even more eval statements
    
    in one or two cases, the use of eval is retained, but
    modified so as to be safer.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 7f61b0da203c742b7f5db4399459d3201238c8aa
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 05:23:47 2025 +0100

    xbmk: remove the setcfg function
    
    this allows me to remove several eval calls, and the
    errors relating to configs can now show exactly which
    function they occured in, allowing for easier debugging.
    
    once again, eval should be used sparingly if at all.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 387f0bbe01bee26f43cba3db9b10d20fbc9052f1
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 03:05:23 2025 +0100

    xbmk: clean up a few err calls
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 609995ed6bb0b043a10d5e97dbbc5fa10a60fad2
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 02:55:52 2025 +0100

    xbmk: remove more eval statements
    
    i will eventually find a way to remove them all,
    while still leaving the code completely clean.
    
    in practise, i never use the contents of a file
    for eval and the inputs are carefully checked.
    
    however, over-use of eval is always a bad idea
    in shell scripting.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 1c778872a2b7a3e3449189843f3374c5f0be53c5
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Oct 4 02:43:24 2025 +0100

    xbmk: general cleanup: unroll condensed code lines
    
    i overlooked a number of lines, during previous cleanup
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit a10826c411cd95db6bfe2d2691ef0edbc56da3e8
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Oct 3 00:04:23 2025 +0100

    grub/xhci_nvme: fix target.cfg
    
    it still said tree="xhci"
    
    it should say  xhci_nvme
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 0d9286c279bcf2459b1a5981e3d713fa495c935f
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 2 23:59:57 2025 +0100

    add fedora42 dependencies from bauduser
    
    this was sent by bauduser, who messed up the pull
    request (number 362). i'm simply merging the
    change manually.
    
    once again, i instructed this contributor to
    properly learn git vcs.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit c0329efd9f001faea6ed26f559049c7744ec60a3
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 2 23:57:49 2025 +0100

    dependency/debian: libstdc++-arm-none-eabi-newlib
    
    this is needed to make pico-serprog compile.
    
    this change is submitted by "bauduser" in lbmk pull
    request #362, but the PR was messed up. for such
    a trivial change, I simply  merged this change
    manually, instructing the contributor to properly
    learn git vcs.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 5e1a20772eedc6a74c5fafc1600aa81daabf46e9
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 2 23:47:31 2025 +0100

    grub/xhci: rename to grub/xhci_nvme
    
    we have the "default" tree, then the "nvme" tree which adds
    nvme support.
    
    the "xhci" tree adds xhci patches, *and* nvme patches.
    
    riku suggested that i rename it accordingly, and his advice
    was quite correct, indeed wise.
    
    this will reduce confusion for contributors, including *myself*.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 1c76e4f33c4feb49a8e5cce1f110999438b258d3
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 2 06:55:29 2025 +0100

    tree.sh: remove superfluous eval statements
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit cf623537352d800d056993524899503664c65881
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 2 06:53:36 2025 +0100

    rom.sh: remove superfluous eval statement
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 87e5704d7016b92d664657ed1825ec0e1882586f
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 2 06:52:10 2025 +0100

    inject: remove superfluous use of eval
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 552348db6b55ac8035da4674b0eaa6b30dd9dd9a
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 2 06:51:03 2025 +0100

    init.sh: reduce the use of eval statements
    
    also remove the unused _nogit variable
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 6a166843c05fd63ab4c9499531303b23d1344556
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Oct 2 06:27:39 2025 +0100

    get.sh: reduce the number of eval statements
    
    also split up try_fetch()
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit ae5b1cbeb555715c8f4c8c1616fac2345f287e79
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Oct 1 16:51:00 2025 +0100

    get.sh: allow force-pull via -F instead of -f
    
    use of ./mk -F behaves the same as -f before the
    previous commit.
    
    this can be useful, during development when we want
    to update revisions.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 6c760e1e850d0408ddd73b6d87142a3461fe6b3f
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Oct 1 16:28:04 2025 +0100

    get.sh: only pull if the local revision is missing
    
    we pull from upstream in cached git repos, before performing
    an operation, and we run from the cache, but we do this every
    time, even if a local revision exists, defeating the purpose
    of the caching; on unreliable/intermittent internet connections,
    this can cause a problem.
    
    this also causes us problems with gnulib.git and grub.cfg, which
    for *some reason* are really slow, even when doing a pull.
    
    this change improves the efficiency of the build system, during
    release builds, on a development repository where we already
    have lots of caches.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit a0b25c0057b544a4163e59657938effc2a2f53d0
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Oct 1 07:57:39 2025 +0100

    init.sh: break up xbmk_set_env
    
    what this function does will differ wildly,
    depending on whether it's a child instance
    or a parent instance of xbmk.
    
    break up this function accordingly.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit d06402a04a602f02becbfce685f492578d0fef26
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Oct 1 07:42:10 2025 +0100

    tree.sh: break up check_gnu_path to subfunctions
    
    this whole check could probably be removed, honestly.
    
    it was only put in place during the debian trixie testing
    release cycle, before they finally updated gnat just before
    the stable release of trixie came out.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 0da1d6d6e6c4eb7f9fbdc867759f0d8641449db4
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 30 01:14:59 2025 +0100

    add trisquel12 dependencies
    
    thanks  biodigital, in this pull request:
    
    https://codeberg.org/canoeboot/cbmk/pulls/7
    
    the pull request had merge conflicts so i just
    merged it manually.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit ceed1d9f1730fcfd4989b7944c9839888aa9931e
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 28 23:18:50 2025 +0100

    rom.sh: support "fspgop" init mode (won't be used)
    
    NOTE: this won't actually be used, but i like to keep lbmk
    and cbmk in sync at all times, to make cherry picking
    patches between them much easier, with fewer merge conflicts.
    this patch was added to lbmk, for fsp-based video init.
    canoeboot will never use this, of course.
    
    here is the commit message from libreboot:
    
    for all intents and purposes, this functions like libgfxinit
    corebootfb, but uses intel fsp's video initialisation instead
    of coreboot's native initialisation code
    
    this is currently in use on the x2e n150 mainboard, whose
    config is dubiously named "libgfxinit_corebootfb"
    
    now the config can be renamed, and will be, in the next commit.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 4317de947bbb6ba1652a116e45caf2baa8ce3f7d
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 28 11:23:52 2025 +0100

    libarchive: also copy bsdunzip and bsdcpio
    
    bsdunzip in particular, can be used instead of relying
    on the host to provide unzip.
    
    most linux hosts use info-zip as the implementation,
    which bsdzip is compatible with.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit dfa5c940aa248f3cb0ed46c52a928a5e4f4d7347
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 28 02:31:43 2025 +0100

    remove unar from dependencies
    
    we use bsdtar now
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 82f65c8e6628f02e59a83088f666730ca57b01eb
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 28 01:35:26 2025 +0100

    config/git: Support building libarchive
    
    This is for bsdtar, which we will use in place
    of unar, because unar is not available on all
    of the distros, and we had some recent problems
    with it.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 20e99455cb32ad795fd2c7d94518234e78020f81
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Sep 26 13:33:36 2025 +0100

    gru bob/kevin: make u-boot bootflow timeout 8secs
    
    not 30secs
    
    it's 8 seconds on x86
    
    8 is more reasonable. 30 feels too long.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 5118bdacb3c357154af9462a9b89188f501876cc
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Sep 26 00:25:13 2025 +0100

    rom.sh: remove TODO note
    
    the return is necessary when release=n while doing
    release builds, because it prevents a build error
    since the given images don't exist in that scenario.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 6effdcfc27254d1eb984d170cb75194485ce05bb
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Sep 26 00:21:40 2025 +0100

    inject.sh: don't exit from patch_release
    
    return instead. xbmk's coding style specifically
    prohibits anything other than x_ or err from
    running "exit".
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit ca6be855239a6fa908de45f5830e8bb84e561404
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Sep 26 00:14:45 2025 +0100

    init.sh: remove comment in pybin
    
    the following checks on the path mitigates the
    lack of error handling in the findpath command
    that sets pypath.
    
    this was all thought of when i initially wrote
    this code. it's perfectly fine.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 88724d234edd659146d5a10109cebbf12c6bb1f3
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Sep 26 00:13:17 2025 +0100

    get.sh: remove unnecessary check in try_copy
    
    the check for whether a file is present is unnecessary,
    because the following cp command would also print the
    file name if it doesn't exist, and exit with the same
    non-zero status.
    
    let cp do the work.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit e724e86715fac481fed3d2267caec7ee80a6cc95
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Sep 26 00:12:21 2025 +0100

    get.sh: rename try_file to try_fetch
    
    the previous function name was misleading, because
    this tries multiple methods including git and curl.
    
    therefore, this was renamed to match what it dose.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit cba989b313f21cf1cdb74dfca9db82dae21794a8
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Sep 26 00:09:46 2025 +0100

    xbmk: tidy up some if statements
    
    this is an extension of the previous work to unroll
    most of the condensed code lines.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit d1d18f80c57f01ec9d8bbba3da404da108856157
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Sep 25 23:54:16 2025 +0100

    init.sh: remove TODO note
    
    on further inspection, the following check ensures that the
    python version number is 3.
    
    if anything went wrong, the possibility alluded to in the
    comment wouldn't actually matter in practise.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 028cc03eadf64a6e13c25da171912c079b571c55
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Sep 25 02:24:05 2025 +0100

    init.sh: create TMPDIR *after* suid check
    
    otherwise, it may get created as the root user, disabling
    further use of lbmk until manual user intervention.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 1471c6297662eded63353bec28561fef10cd3001
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Sep 25 02:18:40 2025 +0100

    release.sh: use cache src on release builds
    
    use what's in cache/clone/ from the main directory
    
    this speeds up the build process
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 109afed1521053682a9b911dada882d45f60ae7e
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Sep 24 23:34:12 2025 +0100

    init.sh: remove symlink check on XBMK_CACHE
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 87cc4930b30412a595babbf9e21576aa4b310d31
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Sep 24 23:06:16 2025 +0100

    init.sh: switch back to old TMPDIR checks
    
    the new check is still retained, to the extent that
    the lock file still contains the TMPDIR string, and
    it's checked whether this changed during execution.
    
    however, the current TMPDIR handling is over-engineered
    and prevents the re-use of project source caches when
    doing release builds; this means that the release builds
    happen much more slowly, especially for slow internet
    connections.
    
    this change *fixes* that bug. now release builds once
    again re-use the main cache/ directory.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 683dec94f0c78cb51535f8be514cfb7c830efc43
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Sep 24 20:14:51 2025 +0100

    make notices a bit more readable
    
    add line breaks, so that the license and author are
    visually separated. this makes it easier to read.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit cd25737e254bd965111e559cc64ec97b55a5cfbd
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Sep 24 18:19:48 2025 +0100

    release.sh: fix typo in script: ./mk, not ./mx
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 52f15ebe404b86756bbf6b31c1a588d5b143d8e9
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Sep 24 13:19:23 2025 +0100

    xbmk: cleanup of recent code refactoring
    
    be a bit less pedantic about if else clauses. leave the
    big ones still with then on separate lines, where else
    is specified.
    
    also unroll a few condensed code lines where i missed
    a few.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit b985fcdb9ffe1d2e82f94b44fd2e2d38a1d26b55
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Sep 24 08:53:24 2025 +0100

    mk: unroll condensed code lines
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 25e25144e91441de4596d54571c5d657e9b8e670
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Sep 24 08:37:18 2025 +0100

    get.sh: unroll condensed code lines
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 4747bba128b7dbc326388964d5ff2ebfaabdaca2
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Sep 24 06:54:36 2025 +0100

    init.sh: unroll condensed code lines
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit e920949da8cc5612bd98fd8f5765b2f00c3abb56
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Sep 24 03:13:42 2025 +0100

    inject.sh: unroll condensed code lines
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 6c308b8b253b6cbcbd31fb138c4d875e07f90f6b
Author: Leah Rowe <leah@libreboot.org>
Date:   Wed Sep 24 02:15:41 2025 +0100

    lib.sh: unroll condensed code lines
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 25ae11c2b7563f7f948a8184186fb839db0471fd
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 23 12:18:15 2025 +0100

    release.sh: unroll condensed code lines
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 6023e69c40b78fd57a578129d75cc6bc29bdb6ad
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 23 11:47:25 2025 +0100

    rom.sh: unroll condensed code lines
    
    ditto to last commit
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 897520a003d5d9b99de10c5ca7e4cfeca8963c0b
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 23 05:55:18 2025 +0100

    tree.sh: unroll condensed commands
    
    i went further than in the previosu commit. in this
    commit, i also provide indentation inside subshells,
    to make it clearer that soomething is being done
    inside a subshell.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 2fd121f503a3d856bf96073b0ceb6fe921252175
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 21 19:52:14 2025 +0100

    init.sh: make TMPDIR *after* calling xbmkpkg
    
    otherwise, running ./mk dependencies as root will
    create xbmkwd/ (temporary directories) as root,
    which will then prevent non-root instances of lbmk
    from being able to make temporary files.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit ca5bdb4047cd2801a34d1a66b3fbedbb0af666ff
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Sep 18 23:35:12 2025 +0100

    Revert "xbmk: don't use backticks for command substitution"
    
    This reverts commit 4999a49de39667b3239fc2010d0e99c958b29417.

commit a356acad189d6e4060cb55c0e297e36875e00bf5
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 14 19:23:40 2025 +0100

    tree.sh: fix bad variable reference
    
    we didn't want to say a variable name here.
    we only wanted to say "trees".
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit fcce35d703fef4f9d79d7a8b5357210e7becd3a8
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Sep 13 13:27:47 2025 +0100

    xbmk: much more verbose error messages
    
    use the new functionality in err(), whereby a given
    function name and arguments can be provided, for
    debugging purposes.
    
    something similar was already done in a few places,
    and replaced with this unified functionality.
    
    this patch will make xbmk much easier to debug, under
    fault conditions.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 4c6d317b5b84ac837944a142b1ce2e180f667a53
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Sep 13 12:05:37 2025 +0100

    lib.sh: use xprintf in err()
    
    if more than one argument is provided, it is interpreted
    as a command, and the command is outputted.
    
    this means that now for example, where you have:
    
    ls -l foo | err "could not list directory"
    
    you could do:
    
    ls -l foo | err "could not list directory" "$@"
    
    this would show all the arguments given to the calling
    function that tried to run "ls"
    
    let's say that function was called bar, you might do:
    
    ls -l foo | err "could not list directory" bar "$@"
    
    right now, it's not easy to provide good debug info
    where err is used, unless it was called with x_, which
    provides the command/arguments that was bugging out.
    
    with this, we now have an easy and readable/maintainable
    way to do the same thing everywhere in xbmk.
    
    this will now be done, in a follow-up commit.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit a7f88ca425979484235855be5c9274ea73f88d45
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Sep 13 11:50:44 2025 +0100

    lib.sh: use xprintf in x_
    
    don't echo the arguments
    
    this new logic shows quotes, in error outputs.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit a40030800c03f3ec1847f181dfaa77ed18b28e14
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Sep 13 11:31:43 2025 +0100

    lib.sh: check args for errors in fx_ and dx_
    
    check that there are at least two arguments, and ensure that
    they are not empty.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 9fa9cd9a7608a9076ada1f247a32eac8d0e91da1
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Sep 11 12:16:33 2025 +0100

    inject.sh: add missing semicolon in case
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 9a2dbd5db8f91aad4d5b4883b6ebb9c5f0fd8d66
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Sep 11 10:17:50 2025 +0100

    xbmk: don't use backticks for command substitution
    
    the newer way handles escaped characters better, and it
    can be nested more easily. it's also more readable.
    
    personally, i prefer the old way, because it's more
    minimalist, but it occurs to me that a lot of people
    nowadays don't know about backticks, but they do know
    of the modern way.
    
    to make the code more readable, i have modernised it.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 4f05c70c6b9dc0d6c7bea0d90756232fcc36967e
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 9 19:59:46 2025 +0100

    Revert "inject.sh: put tmpromdel in xbtmp, not cache/"
    
    This reverts commit a444910bf2f2cd39039116f38439012031b11963.

commit a8cc2d795f43fcab14046c025d057225dfdfd79a
Author: Polarian <polarian@polarian.dev>
Date:   Tue Sep 9 13:52:21 2025 +0100

    Update arch dependencies
    
    * unifont was split into pcf-unifont and psf-unifont
    * mipsel packages have dropped the cross prefix
    
    Signed-off-by: Polarian <polarian@polarian.dev>

commit e7079e11bdd65cb191737113dff7b161e6fe1801
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 9 11:51:27 2025 +0100

    init.sh: write-protect the lock file on startup
    
    you can still remove it with the -f flag on rm, but
    xbmk only does that on exit from the main parent
    instance, or after each build stage in release.sh
    
    because of this, the user could still manually override
    the lock file; this would cause running instances of lbmk
    to restart wrongly as parent instances.
    
    there's no way to fix any of this, but users don't normally
    put -f in their rm commands.
    
    however, this is also a preventative bug fix. if a bug
    is ever caused in the future, where the lock file is
    created erroneously, the write protection will prevent that,
    so long as *it* is still done.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 45ea594d1d4f7bfa63cfa2661af33963bfe0c6f8
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 7 19:43:08 2025 +0100

    Revert "git/grub: use codeberg as the main mirror"
    
    This reverts commit d06d6a190569574423ff5e60d27ee7f03208dd16.

commit bfe56dcaa40053094b70837c8f121c0bec89304d
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 7 19:37:23 2025 +0100

    Revert "change grub git again"
    
    This reverts commit 1e07c4eb02da5c51d5278583b2a3e2de551f2a62.

commit 35b0b08752d84cebdea7066c58743464fbff664f
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 7 18:29:48 2025 +0100

    change grub git again
    
    this time to source hut.
    
    for some reason, *grub* is slow no matter what repo
    provider i host it on??
    
    i tested srht just now, and it seems ok. let's use that.
    
    i'm *paying* for this sourcehut account, so it better be
    good!
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit c0d9580493e6cba85a53bcfe985ce2b3d22a9b66
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 7 17:49:12 2025 +0100

    tree.sh: don't combine remkdir/cd gnupath
    
    it's stupid. separate them, to make the code readable.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit b993e8322b562f13f4b24a207922229aad8a76c0
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 7 17:45:36 2025 +0100

    release.sh: delete xbmkwd on src tarballs
    
    the previously deleted tmp/ directory was a relic
    from prior to recent tmpdir changes.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit fd32a81d42a56920f773cf74fe8f85091fa5fcca
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 7 17:28:19 2025 +0100

    inject.sh: put tmpromdel in xbtmp, not cache/
    
    cache/ is meant for permanent cached files, not for
    temporary files.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 110a3bf6f3bd549f58409f462516d49ffc6fb2d7
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 7 15:24:02 2025 +0100

    init.sh/tree.sh: put PATH dirs in xbtmp
    
    e.g. gnupath, xbmkpath
    
    these currently go in XBMK_CACHE/, which is bad
    because they're meant to be temporary.
    
    XBMK_CACHE is for permanent files.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 0dd4d136648b39b6df73808de3215d1b17d606a8
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 7 14:14:46 2025 +0100

    init.sh: bail if date is non-GNU (for now)
    
    We currently use GNU-only options in the date command,
    when initialising a Git repository.
    
    This isn't a problem in practise, on non-GNU implementations
    if not initialising a Git repository, because it's only
    used in that situation.
    
    In practise, only those systems with GNU coreutils and libc
    are used to compile releases, so this is OK for me at least.
    
    Future portability improvements will correct the issue, and
    then this error check can be removed.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 43ac862f923c7a300ffcb0670ecda160b56299d7
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 7 14:06:57 2025 +0100

    lib/init.sh: sanitize the version string
    
    the release functions in release.sh rely on the
    version string *not* being a path containing slashes.
    just a single string e.g. "foo", not e.g. "foo/bar"
    
    this is because several checks there make that
    assumption. in practise, we always ensure that tags
    and such do not contain these characters.
    
    however, someone else working on their own version
    of xbmk might not know of this design flaw, so let's
    try to correct it in code.
    
    we can add more filtering as designed, in the relevant
    function (xbmk_sanitize_version).
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit acbaf22f97fd6d87d0dee1a94e0455c9f928b15f
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Sep 7 13:35:17 2025 +0100

    release.sh: put vdir in xmtmp, not XBMK_CACHE
    
    XBMK_CACHE is meant for permanent cached files, not
    temporarily files.
    
    the temporary release files are copied upon successful
    return, to their rightful place under release/
    
    this new change also reduces the chance of race
    conditions, if multiple xbmk instances are used; while
    not yet supported as a use-case, this is a goal for a
    future design change.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 4697275691873c3d7833ea50abf13823db8e7694
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Sep 5 11:46:16 2025 +0100

    mk: hardened PWD check (deny symlinks)
    
    we check if the first argument is "./mk" and bail if not,
    which forces you to be in the xbmk work directory.
    
    however, this check is flawed because symlinks were still
    possible.
    
    this patch prevents a same-named symlink "mk" pointing to
    the real mk from being used.
    
    this hardening is necessary, due to several built-in
    assumptions inherent within the design of xbmk.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 27ab9c98feadce98f99614d956629b2184722bf3
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Sep 5 11:16:51 2025 +0100

    git/grub: use codeberg as the main mirror
    
    the gnu one is often really slow, for some reason.
    
    use the official gnu mirror only as a backup.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 93f69904ba7b64a0729d1942f8755765b3a4df09
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Sep 5 03:57:07 2025 +0100

    get.sh: put tmpgit in xbtmp
    
    similar to the previous failed patch, which tried to
    also generate it each time, but that led to issues.
    
    this version of the same change merely maintains the
    current hardcoding logic, while putting it in xbtmp.
    
    that way, it's more robustly cleared upon exit from
    the parent instance of xbmk.
    
    this also reduces the chance of race conditions,
    since it's in a unique place each time, rather than
    going in XBMK_CACHE.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 629a1364e743f5d4c190b2421e1754c2868705d4
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Sep 4 15:27:20 2025 +0100

    Revert "get.sh: put tmpclone dirs in xbtmp"
    
    This reverts commit 01a779d4ebcdfc7df406263aeb1dffb800eb0220.
    
    This commit broke ./mk -d coreboot for vendor files in lbmk.

commit c67129c9856b66152cecf6afd05c6c4132b03651
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Sep 4 15:27:07 2025 +0100

    Revert "tree.sh: add missing colon at the end of trees()"
    
    This reverts commit 568887cd5efd5df519c7f4f593300eb3ae2beaae.
    
    This commit broke ./mk -d coreboot for vendor files in lbmk.

commit f784f7daad9b06ac0c010fd2472c329298bf72a7
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 2 06:52:35 2025 +0100

    init.sh: create separate lock in release dirs
    
    this removes the current hackiness, preventing
    build errors since xbtmp is now based on xbmkpwd,
    which changes when we're in the release dir.
    
    XBMK_RELEASE is still set accordingly, so this
    will still work the same way.
    
    this is also cleaner in general.
    
    XBMK_CACHE is still the same, so the release work
    directory still re-uses files from the main work
    directory, rather than re-creating them.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit cecdf23fa1db56e7ce71ecea2ea6e1160ac53348
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 2 06:49:38 2025 +0100

    tree.sh: add missing colon at the end of trees()
    
    this is because when using chained commands at the end
    of functions, sometimes you have to explicitly terminate
    the line.
    
    the way i do it in this patch is common across the
    build system, to mitigate this sh quirk.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 66eee27e07a005f3db32ad237eb391b76003763b
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 2 06:21:10 2025 +0100

    get.sh: put tmpclone dirs in xbtmp
    
    and generate them, don't hardcode them - this reduces
    the chance of race conditions, which we have seen in
    the past and which current execution flow in xbmk even
    mitigates in a few places, by doing things in a certain
    order.
    
    this change makes the code more robust and easier to
    maintain.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit c7308f6769f641c793099058688d2c7d7c4914e0
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 2 06:08:57 2025 +0100

    xbmk: remove xbloc, re-use xbtmp instead
    
    we no longer separate them. xbloc was the on-disk
    tmp directory, whereas xbtmp used to be in /tmp
    which we assumed to be tmpfs (it may not be, but
    often is on many workstation setups - and our
    documentation recommended doing this).
    
    as mentioned in the previous commit, benchmarking
    shows little speed difference using tmpfs /tmp
    versus on-disk /tmp, for our purposes at least.
    therefore, the handling of tmp files is being
    greatly simplified.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit be4fe8df2d628b665f4aefe5574f8521d4cb5ea9
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 2 06:02:57 2025 +0100

    init.sh: put TMPDIR inside xbmkpwd, not /tmp
    
    This way, all operations will be done inside the xbmk
    work directory. This is being done, so that I can then
    reliably sandybox certain commands in future commits,
    for example the "rm" command.
    
    This will also allow me to unify the location of all
    temporary files, in future commits. I previously used
    the /tmp directory because it's tmpfs-based on many
    setups, and this is great for performance. However, in
    practise, I never noticed any difference in performance
    when benchmarking it (testing /tmp on-disk versus tmpfs).
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit bc133aaaa05f0bcf265e974d7b0ea9e002339988
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 2 04:02:49 2025 +0100

    get.sh: remove unnecessary variable, repofail
    
    it is entirely unused
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 65baac8eec80425f250a12a816beee7d01ea3369
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 2 03:35:48 2025 +0100

    rom.sh: simplify rmodtool copy handling
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit e958a5069a117c3f463300a3655b10de65fa8847
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 2 03:31:34 2025 +0100

    release.sh: remove support for the -d flag
    
    this lets you change the directory for outputted
    release files, versus the default "release" directory.
    
    this code is buggy, because it could let you overwrite
    a part of xbmk or worse - and checking for such bad
    usage would require a lot more code.
    
    knobs are for nobs.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 8b8714af06eae7d7bf2447df08b46645a2e254ef
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Sep 2 03:22:12 2025 +0100

    get.sh xbget: don't use eval for file/dir checks
    
    the actual code works fine, but it's quite hacky.
    
    there are times when use of eval is acceptable; this
    is not one of those times, but i'd used it in this
    instance when i was being a bit crazy about code size
    reductions during my audits.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 154d4c9da1a2eda58d983f724c7870dee9a1f38c
Author: Leah Rowe <leah@libreboot.org>
Date:   Mon Sep 1 08:46:20 2025 +0100

    release.sh: fix broken release lock file handling
    
    we need to copy the main lock file, rather than creating
    a new, empty one. this is because the new lock file
    handling requires it, and the release lock file will
    be used during release builds.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit e31d41edf33e70d3094ad4cea399c53bc39c4634
Author: Leah Rowe <leah@libreboot.org>
Date:   Mon Sep 1 08:14:49 2025 +0100

    lib.sh and rom.sh: stricter mktemp usage
    
    error out under fault condition
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 8f9c8ec960b8db07878a8c0359414238c845aa73
Author: Leah Rowe <leah@libreboot.org>
Date:   Mon Sep 1 07:08:47 2025 +0100

    inject.sh: stricter set + usage
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit a786d3cf32a4f8f008c62c085ee131c2b54fcdab
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 31 21:37:30 2025 +0100

    init.sh: tidy up xbmk_set_env
    
    this is a general function that sets variables,
    but there are many types of variables to be set.
    
    rather than have all the logic inside this function,
    handle it in subfunctions called by xbmk_set_env.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 141632d59d11856861c0d5f57511e3f2ab286443
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 31 21:33:00 2025 +0100

    init.sh: tidy up xbmk_child_set_tmp
    
    the checks of xbmk cache/threads is unrelated.
    
    this has been moved back to the calling function.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 76453a4a095f249fa2ed58406b24c4975b9153d5
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 31 21:30:29 2025 +0100

    init.sh: remove unnecessary lockfile checks
    
    we don't need these anymore, because we now know
    whether or not the lock file exists in these cases.
    
    this is because child/parent instance determination
    is now done based on the presence of that file, rather
    than how TMPDIR is set; and TMPDIR is now set accordingly,
    via more robust logic as in previous patching.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 05c7ce99e8d06e4a7ab38140d2f10972dfc5e398
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 31 21:27:51 2025 +0100

    init.sh: move TMPDIR handling to own functions
    
    this makes xbmk_set_env easier to read
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit c73ede6578edcc0fcadd5fee56b90bf641bfaf65
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 31 20:39:07 2025 +0100

    init.sh: prevent race condition with TMPDIR
    
    it is extremely unlikely to occur, but this patch reduces
    the likelihood even further. that unlikely occurance is:
    
    when creating a TMPDIR, it's possible that it was already
    created before. this is OK on child instances, where that
    is the intended behaviour (unified TMPDIR), but not for
    parent instances.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit ed056dad5b09e1115a8450b9587657220792079b
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 31 20:03:34 2025 +0100

    init.sh: MUCH safer TMPDIR handling
    
    we previously checked whether xbmk was running a child
    instance, based on the initialisation of TMPDIR, but
    this relied on unreliable string substitutions, which
    could not be made inherently reliable. there were also
    no checks on whether the given TMPDIR, even if correct,
    was a directory or whether it was a symlink; there were
    also no checks on whether it changed.
    
    now with this change, child instances are detected by
    the presence of the lock file. the parent instance
    writes the generated TMPDIR location in that file, and
    this is checked again in the child instance, to ensure
    that the TMPDIR didn't change; it also errors out if
    the TMPDIR doesn't exist or if it is a symlink.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 5a4e5aa1c5e4fd916e20195add6c74d27a2ed386
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 31 18:27:09 2025 +0100

    mk: simplify the main script check
    
    it's still not perfect, but now it's unambiguous.
    
    the previous generic check was written based on the
    fact that xbmk's main script used to also be called
    via several symlinks, which is no longer the case.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 70af3c187dfa659f1b465496d6303aae385cc539
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Aug 30 07:22:38 2025 +0100

    config/dependencies: add --no-install-recommends
    
    use this on the debian dependencies, otherwise it installs
    a bunch of extra crap e.g. xorg crap, in some circumstances,
    which someone probably won't want when they're in a minimal
    chroot or something.
    
    reported by ron nazarov. thank you ron!
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 7698ba930facb81be12a0c544d363bac878699b8
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Aug 29 04:44:52 2025 +0100

    inject.sh: redirect stderer to /dev/null FIRST
    
    for the grep command, we must ensure that errors are
    suppressed *BEFORE* outputting to a file. depending
    on the sh implementation, the previous code might
    have begun outputting to a file before suppressing
    errors.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 0370760ae5749217c718574c170e8b17526a7536
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Aug 23 19:29:58 2025 +0100

    add missing zero file for coreboot
    
    for padding roms in elf/
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 332731f33f6e32986ac5c0fed21386881b79eab5
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Aug 23 18:31:33 2025 +0100

    rom.sh: safer use of cat in copyps1bios
    
    the output to a file also has its own error handling,
    but x_ can be used safely to provide additional assurance
    that the script will break if an error occurs.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit f2bf56c3a3595a3dae3803e86b504747dadac67f
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Aug 23 17:38:29 2025 +0100

    tree.sh: tidy up check_cross_compiler
    
    group related operations together, without whitespace.
    
    declare all variables at the start of the function.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 54dbcc53ab806e5eb088f05b0fc0d0c1022daf86
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Aug 23 16:02:40 2025 +0100

    tree.sh: don't re-check xgcc needlessly
    
    instead, create a file indicating that a given xgcc
    target had already been built successfully, within a
    given coreboot tree.
    
    this will considerably speed up the building of release
    archives, especially when there are a lot of boards.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 49003ccb05a3375efdbad331981386285702b400
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Aug 23 15:49:10 2025 +0100

    tree.sh: check xgcc AFTER checking elfdir
    
    if e.g. elf/coreboot/default/w500_16mb contains readied
    images from before, crossgcc is still being checked.
    
    if you already built all the coreboot images, and wanted
    to just modify all the payloads for example, this would
    result in a much slower re-build process, because it is
    needlessly re-checking crossgcc every time.
    
    by doing it this way, we need up the testing of payloads
    quite considerably, during xbmk development.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 602fc3cfa006ccc718fd04a7be2becdd068622df
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Aug 23 15:35:47 2025 +0100

    lib.sh: safer pad_one_byte function
    
    instead of copying to a temp file and then
    concatenating with padding back to the main
    file, we concatenate and create the temp file,
    then move the temp file back to the main file.
    
    this is because cat can be quite error prone,
    more so than mv, so this will reduce the chance
    of corrupt files being left behind depending
    on the context (of course, the latter is often
    avoided due to xbmk's design, which emphasises
    use of temporary files first).
    
    this matches the same design used in the function
    unpad_one_byte, which creates the deconcatenated
    output in a temporary file first, moving it back.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 948546a684be5fc5103298a880cef92be69ac656
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Aug 23 03:48:27 2025 +0100

    lib.sh: additional error handling on cat
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 03061e83167a50dbdc7e8350708143b781e12fb8
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 10 14:50:32 2025 +0100

    tree.sh: Delete files *before* updating hashes
    
    The current logic deletes old project files e.g. sources,
    but *after* updating the project hash.
    
    This means that if a deletion fails, and the directory
    is still there (e.g. src/coreboot/default/) afterward, it's
    now a tainted archive, yet the hash has been updated, so
    subsequent runs of the build system will cause unknown
    errors.
    
    This patch fixes that, by first copying the new hash to
    a temporary file. *Then*, deletions are handled, and the
    final hash file is updated afterward.
    
    The code is now a bit more bloated as a result, but this will
    reduce the risk of tainted sources being handled under fault
    conditions.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit df15bf8e117e489df4555c6b5a261a10a9fd022a
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 10 14:17:57 2025 +0100

    tree.sh: rename hashtype to hashname
    
    since it's the name, e.g. "default", referring to a
    project tree (in this example, coreboot/default).
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 4299af24006f02dbdb61f4b64608744f03805529
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 10 14:15:55 2025 +0100

    tree.sh: rename hashname to hashdir
    
    since it's only ever used as a directory name
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 76df3f3ce29a1db162235a298a0cd571621103ba
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 10 14:13:47 2025 +0100

    tree.sh: rename hashvar to badhashvar
    
    now the code that uses it makes a bit more sense
    to the casual reader.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 5b4ebbaa29708d786e509162071bb9e9bbd61065
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Aug 10 14:12:48 2025 +0100

    tree.sh: rename function and remove comments
    
    the new function names make the comments redundant. the
    code is now self-explanatory.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit df97fe0930d06357a242a35532eebb56cc9b06fe
Author: Leah Rowe <leah@libreboot.org>
Date:   Mon Aug 4 09:18:04 2025 +0100

    tree.sh: don't delete builds if tree==target
    
    in that case, the previous tree-wide check will cover
    it, so the current logic wastes computational time.
    
    this patch therefore somewhat optimises the code.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit ae489f834c22329feb7666fb0559ddf53d119865
Author: Leah Rowe <leah@libreboot.org>
Date:   Mon Aug 4 09:16:58 2025 +0100

    tree.sh: re-add comments to check_hashes
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit c4984cc6a2edca2263151411f9789289efdcda4d
Author: Leah Rowe <leah@libreboot.org>
Date:   Sat Aug 2 11:12:49 2025 +0100

    tree.sh: unified project hash handling
    
    the target/project hash checks are basically identical,
    so let's unify them under a single function.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 116860abbb1c9a6893ef141123e7211ca959c52c
Author: Leah Rowe <leah@libreboot.org>
Date:   Fri Aug 1 05:27:33 2025 +0100

    rom.sh: Don't run mkhelpers if release=n
    
    This fixes the following error on ./mk release:
    
    cp: cannot stat 'elf/coreboot/default/d510mo/libgfxinit_txtmode/coreboot.rom': No such file or directory
    
    I recently re-wrote the handling of coreboot images, and
    I overlooked this entirely. When a given target specifies
    release=n, it has to be skipped, so builds are not done.
    
    The "release" variable is already checked, in mkcoreboottar.
    
    Let's also put it in the other mkhelper functions, to make sure
    there are no errors.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit c945efdb53846da7217319513850cd36bd6ee7cf
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Jul 13 15:21:46 2025 +0100

    coreboot/default: probe EDID twice in libgfxinit
    
    this mitigates buggy video converters e.g. displayport
    to hdmi, where sometimes the display doesn't come up.
    
    sometimes you have to probe them twice. this is apparently
    what linux does, according to nicholas chin's interpretation.
    
    this is a really quick and dirty patch that worked for
    Noisytoot on IRC, tested on their Dell OptiPlex 5050 SFF
    which they are porting; the port otherwise works, and this
    patch enables them to use their displayport adapter.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit bfbc6874ad3010ada924d981dbf5cbab72b0c3d9
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Jul 10 10:41:31 2025 +0100

    rom.sh: Don't build coreboot utils if dry=":"
    
    This fixes a build error when doing ./mk release, after
    a regression caused by the last few commits.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit b1d24ccd5c316e90bd14d0273229988291b4fe59
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Jul 10 03:15:18 2025 +0100

    cache coreboot builds in elf/ again
    
    This was a problem when I did it before, because individual
    target builds weren't automatically re-compiled when needed.
    
    The recent design improvements in lbmk enable this to be
    done again.
    
    Cached images in elf/ have no payloads, so they are a liability,
    therefore they are padded by one byte to prevent flashing. This
    solves the problem that the previous caching had.
    
    With this change, modifying payloads can be tested without
    needing to re-build coreboot each time.
    
    The cached coreboot builds are also automatically re-built when
    needed, which is another improvement this time, compared to
    the last time coreboot builds were cached in this manner.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 2e906fb4d3e85df05bf261d4193418e56a8449a7
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Jul 10 01:46:43 2025 +0100

    tree.sh: delete individual target builds if needed
    
    Detect when a config changes. This is done even if the
    entire tree doesn't change.
    
    This is already done per-tree if files change, but
    individual project files don't change.
    
    For example, if a grub.cfg changes, the given cached
    build for that GRUB tree isn't deleted. Same thing if
    a given U-Boot config doesn't change.
    
    This patch fixes a longstanding design flaw of lbmk,
    making auto-re-builds more reliable. This complements
    another recent change, that deletes all target builds
    of a given tree when the tree changes.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit d4cf50173cd022502398f7b9134fa293a4e51813
Author: Leah Rowe <leah@libreboot.org>
Date:   Thu Jul 10 01:07:55 2025 +0100

    tree.sh: Remove redundant deletion
    
    Target builds go inside a common directory for
    the given tree now, which gets deleted, thus
    deleting all target builds of that given tree.
    
    Therefore, the deletion being removed is redundant.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 82b0b05ed3d9cc89bb5d6cc3f5ef9cc74c47e0c9
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Jul 8 13:20:28 2025 +0100

    tree.sh: Place target builds under tree/target/
    
    as opposed to target/
    
    for example:
    
    image the command:
    
    ./mk -b u-boot amd64coreboot
    
    This would put the U-Boot binaries here:
    elf/u-boot/amd64coreboot/default/
    
    With this change, they now go here:
    
    elf/u-boot/x86_64/amd64coreboot/default/
    
    This solves a problem that existed previously, where
    you could modify a given tree in a multi-tree project,
    but cached builds for targets branching separately off
    of each tree would not be deleted, and thus not re-built.
    
    This accomplishes such a result, without needing to
    further check hashes of individual targets.
    
    The latter will still be done, in a future change, because
    this change doesn't fix another problem:
    
    If you change a given config, e.g. targetname "foo" which
    uses tree "bar", elf/foo/ would not be removed automatically
    for re-build.
    
    So this change only deletes individual target builds when
    their master tree changes.
    
    Where the target and tree are the same, this also means
    elf/tree/target/
    
    for example: seabios/default would create binaries in:
    
    elf/seabios/default/default/
    
    not:
    
    elf/seabios/default/
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 4dda8a24f3b3338daf4ccc5bf1f2801774f0eaa8
Author: Leah Rowe <leah@libreboot.org>
Date:   Tue Jul 8 10:39:54 2025 +0100

    rom.sh: bump pcsx-redux copyright date to 2025
    
    it's 2019-2025 now, not 2019-2024, because i recently imported
    new pcsx-redux upstream changes that go up to June 2025.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 5b47f6b82f91ee94096f7b2eedd887222fd8d169
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Jul 6 21:07:19 2025 +0100

    pcsx-redux: bump rev 8f8cc3d5, 20 June 2025
    
    Many other changes were imported into the wider pcsx-redux
    tree, but we're mainly concerned with the OpenBIOS diffs.
    
    This update brings in the following upstream changes, for
    PCSX-Redux OpenBIOS:
    
    * 35de25bb Fixing realloc's edge case.
    * b8a9080d OpenBIOS: Annotate sio0/driver.c with enums
    * c7cec91e OpenBIOS: Refactor card driver
    * 4e42a6b6 Move OpenBIOS SIO to a seperate header and add enums
    * a50434c5 Remove OpenBIOS dead sio1 code
    * 9c3d3a1e Renaming readAligned to load32Aligned.
    * 1b8312e5 [Chores] Format code
    * 8b9df484 Simplifying openbios allocation scenario.
    * a658a18d Brand new memory allocator.
    * ba48f01b Bumped copyright date to 2025
    * 64b63a13 Bumped copyright date to 2025
    * 3ada28e3 [Chores] Format code
    * d25af104 Fixing setjmp/longjmp attributes.
    * e51ffafa Assign _bu_init alias to 0x55.
    * ae1dd51e Split out the common thread structures to its own file.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 57a58a10c462fa417bfe96fb288b2e334bfe4b4d
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Jul 6 18:59:47 2025 +0100

    coreboot/default: bump rev 812d0e2f62, 5 Apr 2025
    
    There are *many* excellent changes. These changes are of note,
    for Haswell mainboards (raminit improvements, courtesy Angel Pons):
    
    * d5854e4139 Haswell NRI: Implement COMP offset optimisation
    * f14880934b Haswell NRI: Use final timings after basic training
    * ab29f52ee2 Haswell NRI: Measure per-task execution time
    * 4ae9a79d8d Haswell NRI: Remove unused `SPD_LEN` define
    * 0c5286ba34 Haswell NRI: Tidy up REUT subsequence programming
    * 7766228798 Haswell NRI: Deduplicate PCODE mailbox functions
    
    My GMP fixes have been removed, because upstream did
    similar fixes which accomplish the same result.
    
    This brings in the following upstream changes:
    
    * 812d0e2f62 Documentation/lib: Update Timestamp documentation
    * d461627668 payloads/Kconfig: Allow compression for Linux payloads
    * f3ca3aa16b util/cbfstool/cbfs-payload-linux: Copy segments when compression fails
    * 29440057b0 mb/starlabs/{adl_n,twl}: Don't use the IOT FSP
    * eaf76d2dd1 vc/intel/fsp2_0/twinlake: Update FSP headers
    * d5854e4139 Haswell NRI: Implement COMP offset optimisation
    * 2739c4b773 SBOM: Change makefile to get versions from build.h
    * a4156f99ff soc/intel/ptl: Add Wildcat Lake CPU ID to platform reporting
    * 9f73b04074 soc/intel/pantherlake: Add new MCH ID for Wildcat Lake
    * 167c771bc5 mb/google/fatcat/var/francka: Enable audio codec ALC722/ALC1320
    * d8455dfbf6 mb/trulo/var/pujjolo: Change wifi SAR id fw config bits
    * a9e97268fe crossgcc: Fix acpica base url version
    * dabc200abb mb/lenovo/m900_tiny: enable power LED blink in S3 and S4
    * cb86b9a089 mb/lenovo/m900_tiny: Put options in CFR cbtable
    * 26d6da4533 mb/lattepanda/mu: Correct UART1 pinmux for native mode
    * 2ec9a9f17d mb/lattepanda/mu: Update eDP/HDMI in devicetree
    * 3cfa24c1bf mb/lattepanda/mu: Enable PMC drivers
    * c3dba4da2b mb/lattepanda/mu: Add flashmap definition
    * b5db9bcc9d soc/intel/alderlake: Enable USB3 HSIO related parameters for USB3 GEN2 support
    * da49da6c82 soc/intel: Add Arrow Lake-S/HX IDs
    * 8cec500968 mb/google/skywalker: Configure firmware display for eDP panel
    * 78a89d4d70 soc/mediatek/mt8189: Extract code to disable secure mode from DDP driver
    * 8d8d0f9746 soc/qualcomm/x1p42100: Add Clock support for x1p42100
    * 20c2813891 soc/qualcomm/common: Update QUP register structure for QUP v3.2
    * d24c4086e1 Documentation: Add Ramstage Bootstates
    * 10d01fc2de Documentation: Add Threads
    * faf0f29f8d mb/google/ocelot: Update EC host command range for variants
    * ac4dfa5762 mb/hp/snb_ivb_desktops: Add Compaq Pro 6300 MT/SFF variant
    * 984c64295b drivers/crb/tpm: Add new method to retrieve base address
    * 1e8e5d902a mb/starlabs/starlite_adl: Add support for MXC6655 accelerometer
    * 5993dd6ef5 Documentation: Add Timers, Stopwatch, and Delays
    * 4f1f502fd5 soc/mediatek/mt8189: Add PI image loader in ramstage
    * e3ffa3c14f soc/meidatek/mt8196: Move PI image related code to common
    * e96bf7e094 soc/qc/x1p42100: Support to generate Bootblock as multi ELF
    * ae5810e358 util/qualcomm: Add MBN v7 format support
    * 626c5364b8 tree: Use boolean for PcieRpSlotImplemented[]
    * a90a7e0aed mb/google/bluey: Specify ROM size per board variant
    * 0c9204046a mb/google/bluey: Update SPI flash vendor selection
    * d636b38577 soc/qualcomm/x1p42100: Select ARM64_USE_ARM_TRUSTED_FIRMWARE
    * 17abedaef6 include/smp/node: Drop unused is_smp_boot
    * c0413336bc acpi/acpi.h: Use boolean
    * 9be383b855 drivers/lenovo/hybrid_graphics/chip: Use boolean when appropriate
    * f33507c1d8 mb/{google/zork,novacustom/mtl-h}: Use true/false for boolean
    * ae282fe502 drivers/generic/bayhub: Use boolean for power_saving
    * 0a94fcd2db crossgcc: upgrade binutils from version 2.43 to 2.44
    * 316f76635f soc/mediatek/mt8189: Use pmif_spmi_v2 for MT8189
    * f3bd8b7a07 soc/mediatek/pmif_spmi: Move pmif_spmi_force_normal_mode() to common
    * ef10e93e0a tree: Replace scan-build by clang-tidy
    * 6707e9281c mb/google/brox: Update cpu power limits
    * f1aa0a175b util/crossgcc: Build compiler-rt using runtimes
    * b0e0c688c8 buildgcc: Use -d to check libstdc++ include directory
    * f2fed71533 crossgcc: Upgrade acpica from 20241212 to 20250404
    * 07a8737cbd crossgcc:Initialize OPT_LDFLAGS to avoid unset variable in IASL build
    * ad9bfd4243 crossgcc: Always update HOSTCFLAGS from GMP headers if already built
    * c3f5d7c1ee crossgcc: Upgrade MPFR from 4.2.1 to 4.2.2
    * a3ea1cb542 util/crossgcc: Upgrade CMake from 3.31.3 to 4.0.3
    * f9cde87f5a crossgcc/buildgcc: Fix GMP-6.3.0 build with GCC 15 using proper prototypes
    * 35d6ee9223 crossgcc/buildgcc: Remove invalid option for CMake
    * bd36a4a465 util/lint: Remove missing dirs from checkpatch linter
    * a0f2e42879 util/lint: Improve final newline check
    * 6cb9efa19a util/lint: Ignore opensil for Kconfig linter
    * 5228b3ef7b util/lint: Ignore binary files for cb lowercase linter
    * 58d450d2dc util/crossgcc/buildgcc: Reorganize toolchain version variables
    * baf28f8668 mb/trulo/var/pujjolo: Add GPE configuration
    * eb749f2416 spd/lp5: Add SPD for MT62F2G32D4DS-023 WT:C
    * 731bea2fc1 mb/lattepanda/mu: Make VBT compatible with ADL-N FSP IPU25.3
    * 6b7f697309 util/amdfwtool/amdfwread.c: Properly error out in relative_offset()
    * 4a99023e0f util/amdfwtool/amdfwread.c: Remove APOB_NV special case
    * 000ac2cc38 util/amdfwtool/amdfwtool.c: Use physical address for APOB_NV
    * d0355cb647 util/amdfwtool: Move APOB_NV quirk to amdfwtool.c
    * 6fa44461e7 mb/google/fatcat/var/kinmen: Add Fn key scancode
    * dd7956bfc5 mb/google/ocelot: Update GPIO table
    * 1222c704b5 mb/google/fatcat/var/felino: Add pull high setting on GPP_V12 and NC_LOCK GPP_F09
    * 61d74dc8f7 payloads: Propagate SPI flash address mode flag to libpayload
    * 8dec5fcaf8 drivers/spi: Add 4-byte address mode flag to lb_spi_flash
    * a01c368a8a drivers/spi: Refactor 4-byte addressing mode handling in SPI flash
    * 30e7e604fb mb/google/fatcat/var/fatcat Align I2S and DMIC pad configuration
    * 9fe1546ffe Docs/releases: Update 25.06 release notes
    * 5c281529ea mb/trulo/var/pujjolo: Add FW_CONFIG for mipi camera
    * e5e79de8cc mb/trulo/var/pujjoquince: Add Fingerprint function
    * 0dcea61e7c cbfstool: Add multi ELF support
    * 6a02f2d4a7 util/qualcomm: Add script to concatenate ELF images
    * 3a0b6f625a mb/google/trulo/var/pujjocento: Enable WiFi SAR table
    * 64a79d23e8 mb/trulo/var/pujjoquince: Add SD card function
    * b726a9c7e9 mb/google/fatcat: Create new fatcatite4es variant
    * e7984f39eb mb/google/fatcat: Create new fatcatnuvo4es variant
    * cdf0c76dc8 mb/google/fatcat: Create new fatcat4es variant
    * 8e5bdde028 mb/intel/ptlrvp: Add support for H58G66BK7BX067 memory
    * 110aebb4d2 mb/google/nissa/var/riven: Add focaltech touchscreen support
    * bc8876d56d Revert "soc/intel/xeon_sp/uncore.c: mark TSEG/SMM region as reserved"
    * 64d4888349 mb/google/dedede/var/magolor: Generate SPD ID for CXMT CXDB4CBAM-ML-A
    * cc116e08aa mb/google/nissa/var/quandiso: Add touchscreen FTSC1000 support
    * 35648dc37b acpi: Add _func suffix for callback functions
    * 03be570994 mb/google/rauru: Remove unused get_oled_description
    * cc0a410ff5 soc/mediatek/dp: Correct eDP register settings for dptx_v2
    * 056405a10d mb/google/ocelot: convert variants for use with ES silicon
    * 4ef51ffbd7 mb/google/skywalker: Add panel driver in mainboard
    * cdb49c4d2e soc/mediatek/mt8189: Add ddp driver to support eDP output
    * d8fc5eba2d soc/mediatek/mt8189: Add eDP driver
    * cfd0b4dd20 soc/mediatek/mt8189: Change msdcpll default freq to 384MHz
    * a60c5d205b mb/google/nissa/var/meliks: Initialize display signals on user mode
    * f846ec1e37 mainboard/google/fatcat: Set OEM footer logo bottom margin
    * 97f92d5c69 drivers/intel: Add support for configurable footer logo bottom margin
    * 3e0d8a2f2c mb/google/bluey: Enable 4-byte addressing mode
    * 5568bee055 drivers/spi: Support forced 4-byte address mode via 0xB7 command
    * a66d2d41f5 mb/lenovo/m900/devicetree.cb: Use OC6 enum
    * f14880934b Haswell NRI: Use final timings after basic training
    * 0e5d1d29bd soc/intel/skylake: Expand USB OC pins enum to OC7
    * 1f28803dcd mb/trulo/var/kaladin: Create kaladin variant
    * 1c2978dba6 mb/google/dedede/var/awasuki: Add ChangXin modules to RAM id table
    * 912161e52d spd/lp4x: Modify parameters of SPD for NT6AP1024F32BL-J1
    * 47f1b798e4 util/amdfwtool/amdfwtool.c: Remove APOB_NV src address check
    * c7fe471482 mb/novacustom/mtl-h/var/dgpu: Add NVIDIA dGPU ASL code
    * 24d8e6f35e Revert "mb/google/brox: Handle GPI_INT pin lower to GPI_WAKE"
    * cf7159af64 mb/siemens/mc_ehl3: Limit eMMC speed mode to DDR50
    * 68ede7b860 mb/google/nissa/var/meliks: Configure Acoustic noise mitigation
    * ea3cc3231c mb/intel/ptlrvp: Remove power limit constraints
    * cae47dfd44 soc/intel/pantherlake: Correct DRHC and SATC in DMAR table
    * e58883aace soc/intel/pantherlake: Refactor VR Fast Vmode I_TRIP threshold settings
    * abbf549558 mb/google/fatcat: Add support for new Panther Lake IDs
    * 57bffed893 soc/intel/pantherlake: Add new PCI and CPU IDs
    * 59fce656b1 soc/intel/pantherlake: Enable Thermal Design Current for various SKUs
    * 5a2de49baa soc/intel/cmn/blk/power_limit: Add helper functions to romstage
    * 2207a4b59a vc/intel/fsp/fsp2_0/pantherlake: Add TDC current limit configuration
    * efa24540b0 drivers/wifi/generic: Implement Bluetooth PRR DSM functions
    * d92b6163e7 drivers/wifi/generic: Implement Wi-Fi PRR DSM functions
    * 81d7bc386e soc/intel/cmn/blk/cnvi: Set WFDL default value to 50 ms
    * 1be1ccb42e soc/intel/cmn/blk/cnvi: Use WFDL field for Wi-Fi PLDR reset delay
    * ff46501d6d soc/intel/cmn/blk/cnvi: Correct generated ACPI code in comments
    * 782ae11bc7 soc/intel/cmn/blk/cnvi: Add _PRR method for Bluetooth CNVi Reset
    * 23f5df6eae mb/google/nissa/var/yavilla: Add H58G66CK8BX147 to RAM ID table
    * 4a2c61a8a0 soc/qc/x1p42100: Allow building QC platform without upstream blobs
    * 2a09db3c29 drivers/intel: Refactor logo rendering with helper functions
    * 57d29ebd74 vc/google/chromeos: Don't pack `cb_plus_logo.bmp` if footer is present
    * ef051256dc mainboard/google/fatcat: Drop logo_valignment selection
    * dfeaead9f2 drivers/intel: Add horizontal logo alignment for splash screen
    * ced9f91ae9 soc/intel/cmn: Improve comments for fw_splash_vertical_alignment enum
    * d309a9dfa8 drivers/intel/fsp2_0: Suppress OEM footer in low-battery mode
    * 4373eea5d8 {lib, drivers/intel}: Add splash screen footer
    * be5609bdaf lib: Introduce a new function `bmp_load_logo_by_type()`
    * a1dbb4076c lib: Add support for different bootsplash types
    * f48865ab9a drivers/intel/fsp2_0: Refactor bitmap loading and GOP BLT conversion
    * f3f9c0bd8e soc/intel/ptl: Add PCIe ACPI support for Wildcat Lake SoC
    * ba715b3d25 mb/google/nissa/var/guren: Add SPD ID for MT62F512M32D2DR-031 WT:B
    * 43b6f44e22 soc/mediatek/mt8189: Remove ulposc1 hardware calibration
    * f63016c36f soc/mediatek: Unify DPTX swing/preemphasis API
    * df91698b11 soc/mediatek/mt8196: Refactor mt8196 eDP driver for better code sharing
    * 03fca0f0b4 mb/google/brox: Enable support for Realtek EC
    * c8eb52c10c ec/google/chromeec: Modify Realtek EC initialization timing
    * e2ac46bcc7 spd/lp5: Add SPD for hynix H58G66CK8BX147
    * 812379f500 soc/mediatek/common: Move map_to_lpddr_dram_type() to common for reuse
    * 7c19b1fa58 mb/google/skywalker: Run MTK FSP binary in ramstage
    * 89e4fff2d3 crossgcc/buildgcc: introduce RISCV_ISA_SPEC for RISC-V ISA specification
    * 620c8d9f71 mb/google/brask/var/constitution: Generate RAM ID for B3221XM3BDGVI
    * 57b12d2171 spd/lp4x: Generate initial SPD for B3221XM3BDGVI
    * 7c0da94aeb mb/google/brya/var/pujjoga: Add and select VBT
    * bcd569faf1 mb/google/skywalker: Create variant Baze
    * fb2c834f7c mb/trulo/var/pujjolo: Fix p-sensor function
    * a7cd5c8c6b mb/trulo/var/pujjolo: Enable USB3 functions
    * 2c53151c0c mb/trulo/var/pujjolo: Enable Ax211 wifi function
    * ad78fc535a mb/trulo/var/pujjolo: Add single ram configuration
    * f941b51e0e soc/mediatek/mt8189: Correct MFG MUX OPP init setting
    * a1d9b69f47 soc/qc/x1p42100: Add metadata files for shrm and cpucp
    * b369756680 util/qualcomm: Add script to extract a segment from ELF
    * 19d1604fd7 mb/google/bluey: Update flash layout
    * b9aae6180b mb/google/nissa/var/meliks: Link touchscreen device with display panel
    * 6e58c0148b Reland "libpayload: arm64: Reduce DMA allocator space to 1MB"
    * f18420b6a9 mb/google/fatcat: Create new felino4es variant
    * 992ba78142 mb/google/fatcat: Create `felino` model for easier variant integration
    * afbc9126f9 mb/trulo/var/pujjolo: Update GPIOs and probe SD card to fix S0ix suspend
    * b3b1809764 mb/google/octopus: Correct channel count for DMIC
    * 9accaa7238 mb/google/poppy: Correct channel count for DMIC
    * 41e09a5c59 mb/google/fizz/var/karma: Correct channel count for DMIC
    * fed7ad967a mb/google/reef: Correct channel count for DMIC
    * 686dea9883 mb/google/glados: Correct channel count for DMIC
    * ea6f150d9d soc/intel/cmd/blk/cnvi: Correct conditional logic for CNVI readiness
    * 29dd511628 soc/intel: Move CNVI sideband definitions to SoC-specific files
    * ea8a3e685f soc/intel/cmn/blk/cnvi: Add descriptive comments for PRRS and RSTT
    * d17ace2c1b soc/intel/cmn/blk/cnvi: Remove hardcoded offset in OperationRegion
    * bb3a484e36 soc/intel/*/acpi: Move the BASE ACPI method to northbridge
    * 3c88e629d9 mb/google/brox/var/lotso: Generate RAM IDs for lotso
    * 1bdf89d78c device/device_util.c: Complete function documentation
    * bc84e1ba42 soc/intel/cmn/acpi: Refactor `SPCO` ASL method
    * 4bf0f4fab3 mb/google/fatcat/var/felino: Add PIXART touchpad to devicetree
    * 8269a89d32 mb/google/fatcat/var/felino: Add Synaptics touchpad to devicetree
    * 4d9dfb63bd Documentation: fix broken flashrom.org link
    * 3696fea4e0 mb/google/ocelot: add BOARD_GOOGLE_OCELOTMCHP
    * 6ebd30bf7d mb/google/ocelot: add BOARD_GOOGLE_OCELOTITE
    * da122fe8f5 mb/starlabs/*: Use PLTRST for PCH Strap GPIOs
    * 7f03e3bd6c drivers/efi/efivars: Change printk level from ERROR to DEBUG
    * c740786f12 drivers/gfx/generic: Use 'noop_read_resources'
    * b1759c9bd6 mb/starlabs/starlite: Adjust the Flash Map to match the Twin Lake IFD
    * cc1f0e5c90 mb/starlabs/starbook: Disable TME_KEY_REGENERATION_ON_WARM_BOOT
    * 9381dd0cbf soc/intel/meteorlake: Make TME_KEY_REGENERATION_ON_WARM_BOOT selectable
    * 9b91d50fc1 mb/siemens/mc_rpl1: Add GPIO configuration
    * f44b19f2dc soc/intel/pantherlake: Fix ACPI can't tag data node error
    * fad0064377 soc/intel/ptl: Add UFS support for Wildcat Lake SOC
    * 3a065dbbfc mb/google/nissa/var/yavilla: Add H58G56CK8BX146 to RAM ID table
    * 98f1886c89 mb/google/nissa/var/yaviks: Add H58G56CK8BX146 to RAM ID table
    * 3711be4e18 soc/intel/xeon_sp: Use Kconfig to define SPI_BASE_ADDRESS
    * ad05c65d72 soc/intel/xeon_sp: Initialize SPI before using it
    * b4f2a51533 libpayload/arch/arm64/mmu: Fix missing CBMEM in used ranges
    * 6da913bd46 docs/security/vboot: Update supported board list
    * a0e6fd9a95 Documentation: Add coreboot release 25.09 template
    * d4a33638f5 mb/trulo/var/pujjolo: Change dram id table
    * 2ee72eaab1 soc/intel/pantherlake: Update CONSOLE_UART_BASE_ADDRESS Kconfig value
    * 25385df017 vc/intel/fsp/ptl: Update PTL header files to FSP 3182_01
    * 2286134002 mb/google/fatcat/var/felino: Configure CAM_VDD_EN_SOC GPIO to restore camera function
    * 486604360c mb/google/ocelot: add BOARD_GOOGLE_MODEL_OCELOT
    * f6926dc8a5 mb/google/nissa/var/pujjoniru: Update DTT settings for thermal control
    * bb022f18d5 mb/google/dedede/var/awasuki: Add 2 NANYA modules to RAM id table
    * 4ef1258436 spd/lp4x: Add Nanya memory part
    * 99c138ec50 soc/mediatek: Don't attempt de-assert PERST# without pci_root_bus
    * b9754131a6 mb/google/ocelot/var/ocelot: Update initial overridetree settings
    * 4199351c1b Revert "libpayload: arm64: Reduce DMA allocator space to 1MB"
    * a11eacc204 mb/msi/{ms7d25,ms7e06}/devicetree.cb: Add fan control config
    * a069c920f5 mb/msi/{ms7d25,ms7e06}: Mimic the vendor BIOS early SIO init
    * 3c23d7b3a9 src/superio/nuvoton: Add HWM initialization code
    * ace18dea15 mainboard: Add 2S Intel Birch Stream MiTAC Computing R520G6SB
    * 4569adeedc mainboard: Add 1S Intel Birch Stream MiTAC Computing SC513G6
    * ab29f52ee2 Haswell NRI: Measure per-task execution time
    * 925845c38c mb/google/ocelot: Update Kconfig
    * c796c68dec mb/google/ocelot: Update MAINBOARD_PART_NUMBER
    * b322d30944 mb/google/brya/var/moxie: Enable RTD3 for SSD to resolve S0ix issue
    * f85f7d7aed mb/intel/beechnutcity_crb: Use host address for BiosRegionBase
    * 4d3dc433f9 mb/intel/avenuecity_crb: Use host address for BiosRegionBase
    * 881fe9cef6 soc/intel/alderlake: Add cpuid_to_adl mapping for Core 3 N350 SoC
    * 08c8a74170 mb/trulo/var/pujjolo: Add MB usb-a port3 function.
    * 317affb0ad mb/trulo/var/pujjolo: Enable Elan touchscreen function.
    * de259ad970 mb/trulo/var/pujjolo: Enable s0ix function
    * 712dfb3761 Revert "util/cbmem: Consolidate CBMEM and coreboot table access"
    * 30865c2fb1 mb/amd/birman_plus: Skip i2c_early init
    * f2e488cfbf mb/google/fatcat: Add power limit overrides for H204 and H404 SKUs
    * 1537c89e8d soc/intel/cmn/block/power_limit: Enforce variant PL4 for Fast VMode
    * d9c5cef7f0 soc/intel/pantherlake: Add Fast VMode PL4 Power Limit configuration
    * b879342fe6 soc/intel/pantherlake: Add support for the H204 SKU
    * b42842bbe5 mb/google/brox: Add brox_rtk_ec variant
    * 73cc8a413a treewide: Work around GCC 15 Werror=unterminated-string-initialization
    * d00f5c2d8c mb/google/skywalker: Reset xsphy0 in mainboard_init
    * 40bf6c28f8 soc/mediatek/mt8189: Add support for USB port 0 reset
    * 26fd33a92a mb/starlabs/starlite_adl/acpi: Fix _GPE callback type
    * d14a3e23da mb/starlabs/starlite_adl: Clarify pmc_gpe0_dw0 mapping in devicetree
    * 2c0417ea06 mb/starlabs/starlite_adl: Remove duplicate GPP_E12 entry
    * 7e711a5bef Reland "soc/mediatek/mt8196: Specify MTKLIB_PATH for building BL31"
    * 47f2c17961 mb/starlabs/*: Add CFR option to enable/disable S0ix
    * dc3d524d19 mb/starlabs/starlite_adl: Use SoC common CFR forms
    * 808c982104 mb/starlabs/starfighter: Use SoC common CFR forms
    * 644fd7b7f5 mb/starlabs/starbook: Use SoC common CFR forms
    * c7a1539d87 mb/starlabs/lite: Use SoC common CFR forms
    * 3f16609ba2 mb/starlabs/byte: Use SoC common CFR forms
    * c3be703b71 soc/intel/common/cfr: Add bool option for auto power on
    * b3ac5ecdac soc/intel/cmn/block/cfr: Add CFR form for pciexp_aspm_cpu
    * 9f8e5ab661 soc/intel/cmn/block/aspm: Use separate option variable for CPU RP
    * 4247128e39 soc/intel/cmn/block/aspm: Fix ASPM control for CPU root ports
    * b66b7f7860 commonlib/device_tree.c: Add a function that reads FDT ints
    * c776d2dbd6 ec/google: Add support for Realtek EC in ChromeOS EC
    * 8b54428200 mb/google/nissa: Override GPIO_PCH_WP for pujjocento variant
    * 2060f24d60 mb/system76/mtl: Add Darter Pro 11 variants
    * c2496bc62e drivers/analogix/anx7625: Add a retry mechanism to decode EDID
    * 7b1eac4192 soc/mediatek/mt8189: Enable MUXes for improved peripheral stability
    * da54093bb9 Update arm-trusted-firmware submodule to upstream master
    * 40c84c2577 mb/starlabs/*: Tidy up the devicetree files
    * cb7d2ebe5c mb/starlabs/starbook/{kbl,cml,tgl}: Remove generic.detect from the touchpad
    * c4eb645a0b update_submodules: Fix submodule path handling
    * 581af94115 ec/dasharo/ec: Add DTT power and battery participants
    * f6dd8f534f MAINTAINERS: Add Dinesh as intel/pantherlake and google/fatcat maintainer
    * f2310ab35e update_submodules: Prefix commit title with relative path
    * 5fcbc709ec mb/google/fatcat/fmap: Add 1 MB from SI_BIOS to SI_All
    * 24778a25de mb/trulo/var/pujjolo: Fix gtx functions.
    * 619699648f soc/intel/pantherlake: Simplify P2SB and P2SB2 device operations
    * beafbfd29a soc/intel/pantherlake: Remove IOE support and references
    * 5277bc4efc soc/intel/pantherlake: Resolve memory corruption by using P2SB2 driver
    * 61ac238bb5 soc/intel/common/block/p2sb: Add driver for second P2SB device
    * 8961f6681f soc/intel/common/acpi/pcie_clk: Fix ACPI conditional compilation error
    * 471df8ca5e util/crossgcc/buildgcc: Fix GMP build on GCC 15
    * c24a12db86 util/cbmem: Consolidate CBMEM and coreboot table access
    * 99e5a386c2 mb/amd/birman_plus/glinda: Add onboard devices
    * 033810a7db payloads/libpayload/Makefile.mk: Replace nm with $(NM)
    * a1738e87b5 soc/intel/panterlake: avoid SPI access delay
    * 359ae67668 elog: Handle elog in later boot phase
    * bf330f2dd0 security/vboot: Back up CMOS data later boot phase
    * 45febdec26 mb/starlabs/starfighter: Add reset GPIO for the USB Bluetooth
    * a9a51f9916 mb/starlabs/starfighter: Add missing ASPM config for the SSD
    * 644ebf5ebc mb/starlabs/starbook/{adl,rpl}: Add generic Graphics driver config
    * 902df45eab mb/starlabs/starfighter: Remove the overcurrent config
    * b872c50f90 mb/starlabs/starfighter: Add generic Graphics driver config
    * cfdf5906fd mb/starlabs/starfighter: Tidy comments for board ID GPIOs
    * 9950825a2b mb/starlabs/starlite_adl: Remove extra lines
    * 6d079d45d1 mb/starlabs/byte_adl: Remove comments for disconnected GPIOs
    * f6a45f6856 mb/starlabs/byte_adl: Re-organise GPIOs
    * 63f781b508 mb/starlabs/byte_adl: Disconnect unused GPIOs
    * 6aeebc4b4b mb/starlabs/byte_adl: Reconfigure PCH Strap GPIOs
    * 5f9046cbb4 mb/starlabs/byte_adl: Remove vGPIO configuration
    * c589142c28 mb/starlabs/byte_adl: Add the Byte Mk III variant
    * 2cb9c3ee46 mb/starlabs/byte_adl: Update the VBT to the Twin Lake version
    * ad8ccf4822 Update arm-trusted-firmware submodule to upstream master
    * c615de7248 soc/amd/glinda: Don't let OS put debug UART into D3
    * 0251e98e9e util/amdfwtool: Do not attempt to continue processing `--help`
    * 0af68855c0 mb/google/nissa/var/pujjoniru: Config AUX gpio to correct TCSS port
    * bba9d27145 mb/google/ocelot: Remove power limit override functionality
    * b3776e23a7 ec/google/chromeec: Add SPI/I2C EC communication files to bootblock
    * be6787a55e mb/google/skywalker: Add storage types to fw_config
    * 0a41779e2e mb/google/skywalker: Add eMMC configuration
    * 3e6b47980a mb/google/skywalker: Add support for getting storage id
    * de251dd677 soc/mediatek/mt8189: Add support AUXADC
    * a283246ef7 soc/mediatek/common: Refactor auxadc driver to support new platform
    * 94686e581a mb/google/skywalker: Add DVFS support in romstage
    * 8ede4bc67b soc/mediatek/mt8189: Add DVFS driver
    * 096ce4b244 soc/mediatek/mt8196: Move dvfs_init() declaration to dvfs_common.h
    * 0b1bc3df2c mb/trulo/var/pujjocento: Support x32 memory configuration
    * 7690442d88 mb/starlabs/byte_adl: Tidy the Kconfig selections
    * ab8339770e 3rdparty/fsp: Update submodule to upstream master
    * 8e3adf778b soc/mediatek: Add data_version to ddr_base_info struct
    * 0cdd4125be mb/trulo/var/pujjolo: Fix touchscreen function and boot up issue
    * 99e0484000 mb/google/bluey: Increase bootblock size to 120KB
    * 1840fb49e0 mb/google/trulo/var/pujjocento: Update gpio setting for DDI-B
    * 69a067a9d6 mb/google/skywalker: Add RT1019 support for beep sound
    * 4caf5131b9 mb/google/skywalker: Add ALC5645 support for beep sound
    * 623caa537f mb/google/skywalker: Add RT9123 support for beep sound
    * 16ff3b33ce mb/google/skywalker: Add SD card configurations
    * 3b68408693 mb/google/trulo/var/pujjocento: Configure USB related settings
    * 6c87853a83 mb/google/bluey: Implement board and SKU ID retrieval
    * 830a887ecb mb/google/bluey: Add WLAN and SSD PCI devices to devicetree
    * 891c208835 soc/qualcomm/x1p42100: Enable basic PCIe support
    * a5d99a814a soc/qc/x1p42100: Perform `soc_mmu_init` inside early bootblock init
    * 481001e13b soc/qualcomm/x1p42100: Add placeholder for early clock initialization
    * 77c6104645 Revert "mb/google/rex: Enable use_gpio_for_status for touchscreen"
    * 715e7e51c5 mb/google/fatcat/var/francka: Add support for DMIC0
    * c16891ecbd soc/intel/meteorlake: Use CACHE_TMP_RAMTOP for TME exclusion range
    * 394dfcaa7b mb/intel/ptlrvp: Handle GPIO support for DDR5 configuration
    * 58165618da mb/google/byra/var/craask: Add VBT for HDMI variant
    * ab160ca301 mb/google/byra/var/teliks: Add default VBT
    * 4d5b32f7f7 mb/google/ocelot/var/ocelot: remove unused gpios
    * 0e5757bfa7 mb/google/trulo/var/pujjocento: Update DTT settings for thermal control
    * c34baacc72 soc/mediatek/common: Add UFS2.2 and eMMC definitions to storage.h
    * f325409784 soc/mediatek/mt8189: Add SD card support
    * ae435c014c soc/mediatek/mt8189: Configure and early initialize eMMC
    * 91ebbb8d35 mb/trulo/var/pujjolo: Modify pujjolo variant
    * aea05e51a7 mb/google/trulo/var/pujjocento: Enable WWAN function
    * 47133a716d mb/google/trulo/var/pujjocento: Add P-sensor support
    * 04c0527aba soc/mediatek/mt8189: Support different PMIC soluitons for MT8189(G/H)
    * 80149f55f7 soc/mediatek/common: Convert spmi_dev_cnt to a function
    * dcf403e43a mb/google/skywalker: Configure fingerprint pins
    * 508d910ed4 libpayload/arch/mock: Select ARCH_HAS_NDELAY for ARCH_MOCK
    * 96ac0224ab pci: Add support for assigning resources to SR-IOV VF BARs
    * ba8be19122 mb/intel/ptlrvp: Update Kconfig for PTLRVP_CHROMEEC
    * 7cbbf786cc update_submodules: Use relative paths to submodules
    * dcc8400e27 mb/google/fatcat/var/felino: Modify GPIOs config
    * 99af85ad36 mb/google/puff: Add VBTs for Moonbuggy and Scout variants
    * 4ae9a79d8d Haswell NRI: Remove unused `SPD_LEN` define
    * 0c5286ba34 Haswell NRI: Tidy up REUT subsequence programming
    * 7766228798 Haswell NRI: Deduplicate PCODE mailbox functions
    * ae68ef3684 cpu/intel/haswell: Export PCODE mailbox functions
    * ddce240d34 cpu/intel/haswell: Clean up Makefile
    * 2117ed850f mb/google/ocelot/var/ocelot: fix storage configs for ocelot
    * c5488c0d6d mb/google/ocelot/var/ocelot: update gpios
    * 6602a4462b mb/google/ocelot/var/ocelot: Enable hda device for AUDIO_ALC721_SNDW.
    * 99b6ff25d4 soc/mediatek/mt8189: Add MTK FSP loader in ramstage
    * c4fe5e2483 mb/google/skywalker: Pass reset GPIO parameter to BL31
    * f59ced2c7c mb/google/fatcat/var/francka: boot up by pressing power button in S5
    * df0221e62a libpayload: Protect against trying to use weak symbols in the wrong way
    * d27e8ef460 update_submodules: Add an empty log line between each iteration
    * d9bd7ce89f mb/google/fatcat/var/francka: Enable audio codec ALC721
    * 48fbd99223 mb/google/fatcat/var/francka: Set the default HDA GPIO pin to an NC pin
    * 3b975f92c7 soc/intel/pantherlake: Select TME support for the SoC
    * 8408bd4863 soc/intel/pantherlake: Add TME configuration
    * dc36a725d6 3rdparty/fsp: Update submodule to upstream master
    * 1f47b0e018 3rdparty/intel-microcode: Update submodule to upstream main
    * 4c446751c6 {commonlib, drivers}: Track firmware splash screen rendering completion
    * ccb8b34194 Revert "mb/var/uldrenite: Use VBT with limited resolution for 4GBx32 memory"
    * 1a00629ae2 mb/google/skywalker: Set up open-drain ChromeOS pins
    * 0f2942b513 mb/google/skywalker: Raise little core CPU frequency to 2.0 GHz
    * 0ba0d03140 mb/google/skywalker: Implement regulator interface
    * 090bce1042 soc/mediatek/common: Add VMODEM and VSRAM_MD bucks support for MT6359
    * c74610afae soc/mediatek/mt8189: Shut down PMIC on power key long press
    * d1f7565403 mb/google/skywalker: Notify EC that AP is in S0
    * da45a88dd3 util/abuild: Fix checking of missing_arches
    * cdcbb71936 mb/google/link: Use chromeec_smi_sleep()
    * 885aacf004 mb/google/byra/var/teliks: Add VBT for 11" panel option
    * 2ce777f178 mb/google/byra/var/yaviks: Add VBT for yavilla
    * 0db4444446 mb/google/byra/var/pujjo: Add VBT for pujjo1e
    * 8c3e6ea319 mb/google/nissa/var/pujjocento: Enable touchpad
    * 643bba345c mb/google/trulo/var/pujjocento: Enable touchscreen
    * 3ecaf04dad mb/var/uldrenite: Use VBT with limited resolution for 4GBx32 memory
    * 71ae2c7366 mb/google/octopus: Add VBTs for DOOD and FOOB variants
    * 7a703fc1fb mb/google/rex: Select IOM_ACPI_DEVICE_VISIBLE
    * 0121d0e3e0 ec/google/chromeec/smi: Clear events before enabling wake mask
    * 5a947da94e mb/google/sarien: Update VBT from v221 to v228
    * 0fba735482 soc/intel/cmn/blk: Refactor CSE status flag and optimize forced sync
    * bb8d069dd3 vc/google/chromeos: Move pvmfw cbmem and enable
    * f562992da1 mb/google/trulo/var/pujjocento: Enable EC keyboard backlight
    * d281a3c559 mb/google/trulo/var/pujjocento: Configure tcss_aux_ori
    * 7150c5e2fe mb/google/skywalker: Create variant Anakin
    * aedc177f00 libpayload: arm64: Reduce DMA allocator space to 1MB
    * 4ccb4a78c4 libpayload: Use Kconfig instead of weak symbol for arch_ndelay()
    * 37513297d3 libpayload: Use Kconfig for architecture memcpy, not weak symbols
    * bcbe17dea3 mb/google/skywalker: Configure TPM
    * 3d40b7d018 soc/mediatek/mt8189: Increase bootblock size from 60KB to 70KB
    * 8d25cf3ae7 soc/mediatek/mt8189: Add SSPM loader
    * 8ab9f56470 mb/google/skywalker: Set up SPM in mainboard
    * 368eeb7da4 soc/mediatek/mt8189: Add MCUPM loader
    * bc3af56fdd soc/mediatek/mt8189: Add SPM loader
    * 98782a59e9 mb/google/fatcat/var/kinmen: Add overridetree
    * bbcb222f0b mb/google/fatcat/var/kinmen: Update GPIO table
    * 743e3a07f5 mb/google/brya/var/nissa: Remove duplicate ACPI device GFX0
    * 87110309d4 mt8196: Remove mcupm_plat.h header from mcupm_plat.h
    * d6fe379e9c mb/google/ocelot: Enable LP5 and DDR5 memory configuration
    * 2985af84c3 mb/google/trulo/var/pujjocento: Add Fn key scancode
    * dafd7d6eb9 mb/google/nissa/var/dirks: Deassert RTL8111H's ISOLATE_ODL earlier
    * c1df30db18 mb/siemens/mc_rpl: Delete fw_config since it is not used
    * 7fbea3175d mb/siemens/mc_rpl: Remove unused gpio and devicetree files
    * 8fdf8694e3 mb/siemens/mc_rpl: Remove Chrome OS and EC as they are not used
    * e020979993 mb/siemens/mc_rpl: Adjust the flash map file
    * 71fb8f63e0 mb/siemens/mc_rpl: Add new mainboard based on Intel's Alder Lake RVP
    * 918f21b72d drivers/spi/winbond.c: Add W25Q64JV signature
    * 278a6d2682 mb/google/trulo/var/pujjocento: update hda_verb table for ALC257
    * 43f7c537f8 mb/google/trulo/var/pujjocento: update GPP_R4/GPP_R5 setting
    * e4fc00adbe soc/amd/common/block: Enable MMCONF first
    * cbbf380fa4 soc/amd/common/block/lpc: Use ROM3 window if possible
    * 9d878fc6c0 soc/intel/xeon_sp: Add support for Emerald Rapids (5th Gen Xeon-SP) CPUs
    * bd66b8cdd2 mb/google/nissa/var/rull: Enable VBOOT_EC_SYNC_ESOL for rull device
    * 3155b2f64c mb/dell/haswell_latitude: Correct BOARD_ROMSIZE_KB_* for E7240
    * 4d30d06637 mainboard/google/ocelot: Configure middle logo vertical alignment
    * 583bf972c5 mb/google/ocelot: Remove NPK device
    * 2bec5a9d9a soc/mediatek/mt8189: Check eFuse ECC in WDT init
    * a89406790a mb/google/nissa/var/meliks: Set vccin_aux_imon_iccmax to 25A
    * ccd4d1d1db mb/var/uldrenite: Make two pins NC to reduce S0ix power consumption
    * e2baa9c7ed mb/google/bluey: Create Quenbi variant
    * a98511fd23 mb/google/bluey: Only select EC_GOOGLE_CHROMEEC_SWITCHES with VBOOT
    * 756d02f779 mb/google/fatcat: Remove extraneous space in Felino Kconfig name
    * 8de02842d5 soc/intel/common/block/cpu: Execute post_cpus_init at BS_DEV_ENABLE
    * 0baf47e03b vc/intel/fsp/ptl: Update header files from FSP 3071_00 to FSP 3144_01
    * 61f043de4a mb/google/skywalker: Initialize DPM in ramstage
    * 3f8702a0d6 soc/mediatek/mt8189: Add DPM v2 driver configuration
    * d5bfa1c697 soc/mediatek/common: Add DPM V2 non-broadcast mode support
    * 24ab31f477 mb/google/skywalker: Enable RTC boot init
    * b288aaee85 soc/mediatek/mt8189: Use common RTC driver MT6359
    * 12d6d0606c mb/google/skywalker: Initialize PMIC in romstage
    * 2a3fd0659d soc/mediatek/mt8189: Add PMIC MT6315 driver
    * 42ac3ccff4 soc/mediatek/mt8189: Add PMIC MT6359 driver
    * a2010cf5ee mb/novacustom/mtl-h/Makefile.mk: include tas5825m.c in the build
    * 2033075753 intel/alderlake/romstage: Implement eSOL during EC software sync
    * e6a7666bcd cpu/intel/car: Skip EC software sync in common code
    * ac4503d0dd security/vboot: Introduce VBOOT_EC_SYNC_ESOL Kconfig option
    * 8a4b3e1346 cpu/intel/microcode: Add error handling if microcode directory is empty
    * cb77cafbb4 soc/mediatek/mt8189: Add SPMI and PWRAP driver
    * b9a4d6ede1 soc/mediatek/common: Correct MT6359 RTC EOSC setting
    * ae2f3ab153 mb/system76: Add SMBIOS slot descriptions
    * c0113106fa nb/amd/pi/00730F01/northbridge: skip IVRS when IOMMU is disabled
    * 5e2aee4474 soc/mediatek/mt8196: Move sspm_enable_sram() to common code
    * c81b08c4ba util/abuild: Fix building ChromeOS boards
    * 62b823f69e mb/google/bluey: Increase flash size to 64MB for W25Q512NWEIM
    * 276eb20b04 mb/google/bluey: Limit SPI flash support to Winbond
    * 47c171a157 mb/google/bluey: Make Chrome EC optional
    * 139a5b6fe0 mb/google/bluey: Select MISSING_BOARD_RESET due to lack of Chrome EC
    * f9d933db36 mb/google/bluey: Introduce MAINBOARD_HAS_GOOGLE_TPM Kconfig
    * e8450f78a0 mb/google/bluey: Make GPIO setups conditional on Kconfig options
    * 4e8ea210bb mb/google/fatcat/var/felino: Add pull high setting on GPP_C03/GPP_C04 in gpio.c
    * 65523e98a6 soc/mediatek: Extract DPM common code
    * aaf373c253 mb/google/skywalker: Implement sku_id()
    * be675e5369 mb/google/skywalker: Configure GPIO XHCI_INIT_DONE as output
    * 9a60da5297 mb/google/skywalker: Enable ChromeOS EC
    * c443478509 mb/trulo/var/pujjolo: Create pujjolo variant
    * 24757047e5 util/abuild: Fix merge error
    * d93f7f01a6 mb/topton/adl: Use CFR setup menu to manage options
    * b59fef9678 soc/intel/cmn/cse: Add Kconfig to set ME default CFR option state
    * 50a5fe77de soc/intel/meteorlake: Add CFR objects for existing options
    * d53f00fbd9 soc/intel/meteorlake: Hook up the VT-d setting to option API
    * e356483eb6 soc/intel/jasperlake: Add CFR objects for existing options
    * 87663d1c0a soc/intel/jasperlake: Hook up the VT-d setting to option API
    * 2c0c2f46d7 soc/intel/tigerlake: Add CFR objects for existing options
    * d06c8dde58 soc/intel/tigerlake: Hook up the VT-d setting to option API
    * 3cfb24a326 soc/intel/alderlake: Hook up the VT-d setting to option API
    * 6f9df7ace4 soc/intel/cannonlake: Add/use enums for IGD config
    * c8199f26e0 soc/intel/skylake: Add/use enums for IGD config
    * 947dd07823 soc/intel/jasperlake: Hook up IGD config to option API
    * 09adda95b9 soc/intel/meteorlake: Hook up IGD config to option API
    * dcbb5771c9 soc/intel/tigerlake: Hook up IGD config to option API
    * d930a3542c soc/intel/alderlake: Hook up IGD config to option API
    * 9faf7ce4f4 soc/intel/alderlake: Add CFR objects for existing options
    * 011baca89d cpu/x86/smm/smm_module_loader: Install bigger page tables
    * aa121a9bbe payloads/external/edk2/Makefile: Set OemId Pcd
    * ca9616b984 ec/system76/ec: Add config for 2nd fan without GPU
    * f1f58b20b9 soc/mediatek/mt8189: Add SPI driver support
    * d4a759a068 mb/system76/mtl: darp10: Add TCSS configs
    * 85972101e6 commonlib/device_tree: Make *path const in dt_find_node()
    * de9d76c761 mb/starlabs/starbook/tgl: Configure the eSPI GPIOs
    * af7fb83ed0 soc/intel/apollolake: Hook up S0ix setting to option API
    * 9979be7482 drivers/intel/fsp2_0: Remove redundant NULL checks and simplify code
    * 6f9de346ae Revert "soc/amd/glinda/Makefile.mk: Use relative address for APOB_NV"
    * d263e0bd92 soc/amd/glinda/Makefile.mk: Use relative address for APOB_NV
    * 4f7ea3667c mb/google/rex/var/kanix: Tune camera I2C timing
    * f0ad05b57e mb/google/brya/var/uldrenite: Fix USB_OC1 for USB3 A0 port
    * 1140891211 mb/google/bluey: Initialize I2C, SPI, and GPIOs in bootblock
    * ba8407f0c1 soc/intel: Add Arrow Lake-H/U IDs
    * 3e1f96a0f4 mb/system76/mtl: Add Lemur Pro 13
    * 3008b8de53 soc/intel/skylake: Show that SMRAM is unconditionally locked
    * e6dc71fe9f util/superiotool: Dump one more NCT6779D register
    * b50ceba64a mb/amd: Increase ROM size on boards, incorrectly limited to 16 MB
    * 850703b32b mb/google/bluey: Configure FPMCU power, reset, and QUPv3 peripherals
    * b4c6984a40 soc/qualcomm/x1p42100: Initialize QSPI and QUPv3 in bootblock
    * fe34206442 soc/mediatek/mt8189: Add audio/display bus protection release functions
    * c2b17a083d soc/mediatek/mt8189: Add PLL and clock init support
    * e4cbd9ea9f soc/mediatek/mt8189: Add MTCMOS init support
    * 5cf460dce9 soc/mediatek/mt8196: Fix RTC protection register unlock failure
    * 2c986d016e MAINTAINERS: Add Google Bluey and Qualcomm SOC maintainers
    * 64fe6fd94a util/abuild: fix TODO and update targets variable to an array
    * 902288db22 util/abuild: Update version and date string
    * 8504c796fc util/abuild: Remove obsolete FIXME
    * a8e1113e3b util/abuild: Check functions directly instead of with $?
    * b128abcdad util/abuild: Add quotes around variables
    * 52b932df3b util/abuild: Group printfs to timestamps file together
    * ad19c94d87 util/abuild: Fix shellcheck warnings about local vars
    * d88ea14e8d util/abuild: Remove unused debug() function
    * 82dea9d6d1 util/abuild: Disable shellcheck warning on interrupt()
    * a2baaec067 util/abuild: Use ${} around variable names
    * 9ddb54e6ad util/abuild: Update syntax from 'function func' to 'func()'
    * f66c7c1037 util/abuild: Update echo to printf for consistency.
    * 49ae935b37 util/abuild: Change [...] to [[...]] for consistency
    * ea32e30a18 mb/starlabs/*/cfr: Remove `reboot_counter` CFR option
    * d4cb553986 mb/starlabs/*/cfr: Remove `boot_option` CFR option
    * 452e179727 mb/starlabs/*/cfr: Use global console CFR object
    * aebef78622 xcompile: Use Walloc-size GCC option
    * 074dd4f6f5 mb/google/fatcat: Set logo vertical alignment to middle for variants
    * 02ca72b2d4 soc/intel/meteorlake: Hook up Pch Sleep Assertion widths
    * 166f0ea146 util/abuild: Identify abuild builds with an env variable
    * 511872dae3 mb/dell: Convert Latitude E7240 into a variant
    * b5581d556b drivers/mrc_cache: Measure MRC cache as runtime data
    * 05eb3e3716 mb/google/skywalker: Create variant Yoda
    * c8ddae9ebe mb/google/puff: Use CFR setup menu to manage options
    * dc19824e56 mb/google/fizz: Use CFR setup menu to manage options
    * 1d62a1e857 mb/google/jecht: Clean up makefile
    * 4112c77919 mb/google/jecht: Use CFR setup menu to manage options
    * 6eddde31bb mb/google/beltino: Clean up makefile
    * 445575525c mb/google/beltino: Use CFR setup menu to manage options
    * 376a5acc24 util/lint: Add lint file for gofmt
    * 4456c125f6 soc/mediatek/common: Move PMIF SPI macros to per-SoC's header
    * 8efdbf0c34 mb/google/nissa/var/meliks: Use default domain_vr_config[] settings
    * f07a1a76f3 mb/google/brya: Enable GNA scoring accelerator
    * 6c830088da mb/google/rex/var/screebo: Generate RAM IDs
    * ac2bd75817 spd/lp5: Add SPD for K3KL9L90EM-MGCU
    * 66873a3812 vc/amd/fsp/glinda: Update SMBIOS Type 17 information
    * b23db384a9 vc/amd/fsp: Update SMBIOS Type 17 PartNumber size
    * 0b120de7c0 Documentation: Update documentation for Topton X2F-N100
    * d50019d432 mb/starlabs/starbook_mtl: Select SKIP_SEND_CONNECT_TOPOLOGY_CMD
    * 4aa1861fbb mb/starlabs/starbook/mtl: Configure sleep assertion times
    * 183c414577 soc/intel/meteorlake: Add Kconfig to skip FSP TBT connect topology
    * aa1eba2f25 drivers/intel/fsp2_0: Enable firmware splash using 24-bit BMP logo
    * da29107572 mb/google/fatcat/var/francka: Reduce generic reset delay to 10ms
    * 60916d0f10 mb/trulo/var/uldrenite: Support different ISH UART mappings
    * 3fe4b00966 mb/trulo/var/uldrenite: Swap ISH UART from UART1 to UART0
    * 407c7d0da3 Documentation: Add Device Operations
    * 20d7eaeb0f Documentation: Add chip operations
    * bf38f8eddc vc/intel/fsp2: Drop superfluous header for Raptor Lake S
    * eec228987e mb/intel/coffelake_rvp: Make use of chipset devicetree
    * c9f4cfa463 AUTHORS: Update list to 25.03
    * da5101fde4 cpu/x86/smm: Drop unused label
    * 9154070320 mb/asus/h61-series: Add H61M-A/USB3
    * e8c724fe1a mb/lenovo/m900_tiny: Update VBT to build 1037 with Kaby Lake gfx support
    * 21ca6701ff mb/google/{drallion,hatch,sarien}: Skip adding DTT/TCPU to SSDT
    * 5bf88a44e9 drivers/smmstore: Support 64-bit MMIO addresses
    * 2706ce0266 mb/intel/ptlrvp: Add GPIO support for T4 LP5 board
    * 40b62ff6c4 mb/intel/ptlrvp: Add memory configuration support for T4 LP5 board
    * 7f826fddc5 mb/intel/ptlrvp: Compile variant.c in ramstage for ptlrvp
    * 0ca46ac0d2 soc/intel/pantherlake: Enable coreboot native logo rendering
    * 210371e25b mainboard/google/fatcat: Configure middle logo vertical alignment
    * e446c1f917 drivers/intel/fsp2_0: Introduce coreboot native logo rendering
    * 2f23896299 soc/intel/intelblocks/cfg: Add splash screen vertical alignment options
    * 78d15d9a12 drivers/intel/fsp2_0: Add Kconfig to select FSP for BMP rendering
    * 5f941893ef cpu/x86/mtrr: Introduce mtrrlib with common MTRR helper functions
    * e180971560 drivers/intel/fsp2_0: Move graphics info struct/GUID to FSP header
    * 18b4349422 mb/var/uldrenite: Fix fw_config_gpio_padbased_override not being called
    * a6be271e63 arch/x86: Unify GDT entries
    * 1e7e4e943f soc/intel/tigerlake: Hook up S0ix setting to option API
    * ba4b26c4fc soc/intel/meteorlake: Hook up S0ix setting to option API
    * 514ad949e3 soc/intel/jasperlake: Hook up S0ix setting to option API
    * 55afbe250d soc/intel/elkhartlake: Hook up S0ix setting to option API
    * 3cc728110d soc/intel/alderlake: Hook up S0ix setting to option API
    * 245cba6795 cpu/x86/smm: Add support for exception handling
    * 2e27ceed67 mb/google/volteer/var/elemi: Check FP presence against SKU ID
    * 663dbd462a soc/amd/phoenix: Remove outdated TODO comments
    * b1b8b0e8e1 mb/starlabs/starbook/tgl: Reconfigure PCH Strap GPIOs
    * 36ac6226ff util/autoport: Add function to create empty files
    * f8071719e7 soc/intel/ptl: Add Wildcat Lake platform reporting
    * db4162adce soc/intel/ptl: Add Wildcat Lake PCIe Device details
    * 1baf0baf58 soc/intel/ptl: Add Wildcat Lake SoC device tree
    * 2fc246cd2d mb/google/ocelot: Remove unused devices from devicetree
    * 3278551f8c drivers/intel/fsp2_0: Include coreboot_tables.h in fsp_gop_blt.h
    * 18172b6009 mb/google/bluey: Add SoundWire amp and SD card GPIOs to lb_gpios
    * 80901a4494 mb/google/bluey: Add GPIOs for Soundwire, Display, and SD Card
    * 1015d4332f mainboard/google/bluey: Add fingerprint sensor GPIO entries
    * a85b9a21b2 mb/intel/ptlrvp: Add support for DDR5 configuration
    * c1bcb43f7c cbgfx: Prevent divide-by-zero edge case in Lanczos kernel
    * 565c768c20 soc/intel/alderlake: only add wifi Mitigation if DRIVERS_WIFI_GENERIC
    * ac948173ad mb/starlabs/starfighter/rpl: Add ramstage.c to makefile
    * f1509a467c mb/starlabs/starfighter: Add CFR option to use native panel resolution
    * 3593314cf5 mb/starlabs/starlite_adl: Add CFR option to use native panel resolution
    * d13afbbbca mb/starlabs/starbook: Add CFR option to use native panel resolution
    * 8fa84d9111 mb/starlabs/*: Add CFR entry for Bluetooth RTD3
    * d2b0220a38 allocator_v4: Re-enable top-down allocation for edk2
    * 4d7b56cdaa soc/intel/cmn/cse_lite: Fix handling of soft disable state
    * 33b3269d91 soc/intel/cmn/cse: Add function to check if ME state is M3_NO_UMA
    * 30a4fec86e mb/google/fatcat/var/kinmen: Generate SPD ID for Micron modules
    * cf5696834b soc/intel/ptl: Refactor Panther Lake SoC configuration
    * e99532d99b soc/mediatek/common: Update SPMI calibration process
    * f83fb11e5f soc/mediatek/mt8189: Add CPU segment ID support
    * 7b27b1ca99 soc/mediatek/mt8189: Fix incorrect GPIO register address
    * f2cf732997 libpayload: usbmsc: Correctly deal with disks larger than 2TB
    * 173c5d0aad src/arch/x86/c_start: Delete duplicated code masking stack pointer
    * 1166f9be0d include/console: Add CFR object for setting the logging level
    * 0f0d5fc725 soc/intel/apollolake/acpi: Add function to get PCIe BAR
    * 5d3664ce3b mb/starlabs/starbook/adl_n: Update VBT to fix HDMI output
    * 4b765fdd98 mb/google/fatcat: Disable EnableFastVmode on Panther Lake H SoC
    * f63c3bb297 soc/intel/cannonlake: Hook up DPTF device to devicetree
    * b7d59185ab soc/intel/common/dtt: Add Kconfig to skip SSDT generation
    * 094f75162f cpu/x86/64bit/pt: Fix integer arithmethic in assembly
    * bbd8f0aef8 soc/intel/ptl: Refactoring NUM_COMx_GRP_PADS calculation
    * cf47edb173 ec/google/wilco/acpi: Add UCSI port data
    * 89e915e981 ec/google/wilco/acpi: Fix S3/S4 support
    * 4a89d1b77d soc/intel/ptl: Add GPIO ACPI support for Wildcat Lake SoC
    * a4a2cdeb17 soc/intel/ptl: Add GPIOs for Wildcat Lake SoC
    * 2ce567f1d0 soc/intel/common/block/cse: Prevent HECI commands when flash descriptor override is set
    * 9660279966 drivers/usb/intel_bluetooth: Hook RTD3 up to the option API
    * e2705d93d8 soc/intel/pantherlake: Reduce IGD stolen memory size from 128MB to 64MB
    * 9f98a2a78a mb/asus/p8z77-v_le_plus: Use additional rt8168 MAC programming
    * 2b598a9472 drivers/net/r8168.c: Add option to program MAC address to ERI registers
    * 4b871c6314 ec/intel: read board ID one time from EC per stage
    * 08722cd9f9 mb/google/dedede/var/beadrix: Add Ziliatech part to RAM ID table
    * c0920396d0 mb/google/bluey: Make GSC_AP_INT GPIO configurable via Kconfig
    * 2e387e13f5 mb/google/fatcat/var/francka: Conditionally init HDA
    * e545494f6d mb/google/fatcat/var/fatcat: Conditionally init ALC256 HDA
    * 03d2ef67d7 soc/intel/cmn/hda: Introduce mainboard hook for HDA initialization
    * 85c65b0c20 mb/google/fatcat: Remove NPK device from fatcat and francka variants
    * 92955fbfa6 mb/google/trulo/var/uldrenite: Configure GPP_E9 as NF2
    * aafcb01ec4 mb/intel/ptlrvp: Synchronize codebase with fatcat
    * effd1ffdad mb/google/ocelot: Update Ocelot board
    * 1044f03878 payloads/external/edk2: Set StatusD register to work around failing AMD boot
    * 2170ad0c60 Documentation/lib/timestamp.html: Reformat to 72 characters per line
    * 22118a137b mb/google/fatcat/var/kinmen: Add memory settings
    * 54c87dbed0 mb/google/trulo/var/uldrenite: Update DPTF parameters
    * 9ef62ad64c mb/intel/ptlrvp: Introduce PTL RVP External and Internal EC Configurations
    * 7c965f9df0 MAINTAINERS: Add Nick, Avi, and Pranava for new google/ocelot entry
    * d2e698056e mb/google/bluey: Set correct Kconfig defaults for peripherals
    * 34d6bc8784 soc/qualcomm/x1p42100: Set correct Kconfig defaults for peripherals
    * 2201f57493 soc/qualcomm/x1p42100: Add QUP Serial Engine (SE) entries
    * 6a503fe5a4 mb/google/var/uldrenite: Configure GPP_A16 as NF4
    * c2c95fbd24 sb/intel/lynxpoint: Add CFR objects for existing options
    * 96fd20c5e0 soc/intel/broadwell: Add CFR objects for existing options
    * ce6f7820f4 ec/google/chromeec: Increase EC status timeout to 30 seconds
    * 17347eedc3 soc/intel/cannonlake: Add CFR objects for existing options
    * ad704e0500 soc/intel/cannonlake: Hook up the VT-d setting to option API
    * 7f8d1f2086 mb/google/nissa/var/pujjoniru: Support x32 memory configuration
    * fe881c990c mb/google/brya: Create pujjocento variant
    * 7da36ad79a mb/google/bluey: Add initial support for Bluey
    * 57d7957e3c soc/qualcomm/x1p42100: Add initial SoC skeleton for X1P-42-100
    * c82f5fe133 soc/amd/glinda: Select SOC_FILL_CPU_CACHE_INFO
    * ee76692571 payload/external/edk2: Add Kconfig to support use of PCIe OpROMs
    * fb3f025ea6 soc/amd/common/cpu/noncar: Add SMBIOS helper
    * 36f01c3481 mb/google/fatcat/var/felino: Add Write Protect GPIO to cros_gpios
    * 934fcfb6a0 soc/mediatek/mt8189: Add I2C driver support
    * b3bdffa475 soc/mediatek/common: Move I2C functions to common code
    * 1e0941c295 mb/google/ocelot: Select Wildcat Lake(WCL) SoC config
    * b249275e3d mb/amd/crater: Fix some ec defines
    * 443f514365 mb/amd/crater: Add touchscreen support
    * 4e55225f2c mb/amd/crater: Add missing dxio descriptors
    * 608db150f1 smmrelocate: Drop unused parameter
    * 157b7ae778 payloads/edk2: Update default branch for MrChromebox repo to 2025-02
    * 76a1e81b10 mb/starlabs/*: Unify Sleep S3 and S4 GPIO configurations
    * fed584e100 soc/intel: Add Wildcat Lake CPU and PCIe device IDs
    * 5d7e2b4c0c mb/google/fatcat: Disable VR settings on Panther Lake H SoC
    * 8be95806a6 mb/google/ocelot/var/ocelot: update gpios
    * 92f9c8a985 mb/google/ocelot: update FW_CONFIG
    * 49bf8f94a0 soc/intel/common: Add CFR objects for existing options
    * 509b01c3b6 soc/intel/cannonlake: Hook up S0ix setting to option API
    * b830fdc2d7 soc/intel/cannonlake: Hook up IGD config to option API
    * 5efb54d371 soc/intel/broadwell: Allow ME enable/disable to be set via option
    * 42379e7f76 sb/intel/lynxpoint: Allow ME enable/disable via option
    * 204aae207d mb/samsung/stumpy: Clean up makefile
    * e3d3fc5b4a mb/samsung/stumpy: Use CFR setup menu to manage options
    * 936ca8404a drivers/option/cfr: Select EFI variable store when edk2 payload used
    * 20ceed1929 drivers/efi/fw_info: Select necessary UDK binding as needed
    * c0e3f6d1d2 drivers/efi/variable_store: Select necessary UDK binding as needed
    * a899359720 sb/intel/bd82x6x: Add CFR objects for existing options
    * ada6b98766 nb/intel/sandybridge: Add CFR objects for existing options
    * f14aa06606 soc/intel/skylake: Add CFR objects for existing options
    * f51c0bb090 soc/intel/skylake: Hook up IGD config to option API
    * 32c78b7e22 soc/intel/skylake: Hook up S0ix setting to option API
    * 73b095d5ea mb/starlabs/*: Select DRIVERS_OPTION_CFR_ENABLED
    * 4eba4e3f26 superio/ite/it8772f: Program power state after failure
    * fbca3e6806 superio/ite/*: Move setting of power state to common code
    * 60b414fc13 soc/intel/cannonlake: Drop redundant PcieRpEnable
    * ee30558c49 soc/intel/skylake: Drop redundant PcieRpEnable
    * 439d7fb7d0 mb/google/brya: Create epic variant
    * c4e6050146 mb/google/skywalker: Create variant Obiwan
    * 0cc0e6996c drivers/smmstore: allow full flash access for capsule updates
    * 7814b8a6be Revert "soc/mediatek/mt8196: Specify MTKLIB_PATH for building BL31"
    * 14b66cb01b soc/intel/pantherlake: Add new SoC config for Intel Wildcat Lake(WCL)
    * d14ebe3957 mb/google/fatcat/var/felino: Use GPP_C08 for GPIO_PCH_WP
    * 6322be7992 sb/intel/bd82x6x/me.h: Add missing definitions
    * 2f62dd8a6b mb/google/brya/var/uldrenite: Configure ISH_GP5 GPIO
    * 3ce612194c mb/google/rex: Generate RAM IDs
    * 430ab9257b spd/lp5: Add SPD for K3KL8L80EM-MGCU
    * c7a450ba7d Documentation/mainboard/asrock/imb-1222.html: Update information
    * ac7717a7b0 mainboard/asrock/imb-1222: Enable USB3 port in WWAN slot
    * eb68ff66eb mb/asrock/imb-1222: Update GPIO config using new intelp2m
    * a1210875e9 mb/imb-1222: Update some GPIOs according to new vendor config
    * fc8e88da9b drivers/intel/mipi_camera: Rework info print output
    * d04d7d80b0 drivers/intel/mipi_camera: Only generate ADR if no HID supplied
    * 36c89598a7 mb/erying/tgl: fsp_params: Replace half_populated with statement
    * 0307f52cd9 soc/mediatek/mt8196: Move SPM loader functions to common part
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 1dee34148fcd5040cd180180bc95304857191606
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Jul 6 15:48:02 2025 +0100

    GRUB: Bump to rev a68a7dece, 23 June 2025
    
    NOTE: gfxterm_menu module removed, because of this
    change by upstream:
    
    commit ca2a91f43bf6e1df23a07c295534f871ddf2d401
    Author: Glenn Washburn <development@efficientek.com>
    Date:   Mon May 5 16:11:36 2025 -0500
    
        tests: Disable gfxterm_menu and cmdline_cat tests
    
    This brings in the following changes from upstream:
    
    * a68a7dece loader/i386/pc/linux: Fix resource leak
    * de80acf36 loader/efi/linux: Unload previous Linux kernel/initrd before updating kernel size
    * 249db11d8 loader/efi/linux: Correctly terminate load_options member
    * f3b339af1 loader/efi/linux: Use sizeof() instead of constant
    * c2b2e0dcf loader/efi/linux: Use proper type for len variable
    * de4e8e2aa loader/efi/linux: Do not pass excessive size for source string
    * 8c8f96664 loader/efi/linux: Remove useless assignment
    * 8ebf155af include/grub/charset.h: Update documentation
    * 2f2ed28d5 Revert "lzma: Make sure we don't dereference past array"
    * 2539ede82 tests/util/grub-shell: Correct netboot and file_filter test failure
    * 8c2d4e64f normal/charset: Fix underflow and overflow in loop init
    * ba8eadde6 dl: Provide a fake grub_dl_set_persistent() and grub_dl_is_persistent() for the emu target
    * 409e72ced util/grub-protect: Correct uninit "err" variable
    * 5eca564b1 gnulib: Bring back the fix for resolving unused variable issue
    * ac1512b87 gnulib: Add patch to allow GRUB w/GCC-15 compile
    * db506b3b8 gnulib/regexec: Fix resource leak
    * bba7dd736 gnulib/regcomp: Fix resource leak
    * 91cb7ff6b tests/tpm2_key_protector_test: Add tests for SHA-384 PCR bank
    * 451e227e5 tpm2_key_protector: Dump the PCR bank for key unsealing
    * 11caacdb2 util/grub-protect: Fix the hash algorithm of PCR digest
    * ce23919ca build: Add new header files to dist to allow building from tar
    * e3b15bafd build: Remove extra_deps.lst from EXTRA_DIST
    * 40e261b89 lib/LzmaEnc: Validate "len" before subtracting
    * 86e8f2c4b osdep/unix/hostdisk: Fix signed integer overflow
    * 438f05581 disk/luks2: Add attempting to decrypt message to align with luks and geli modules
    * 20e6d0c4a osdep/linux/getroot: Detect DDF container similar to IMSM
    * b71bc0f8b fs/fshelp: Avoid possible NULL pointer deference
    * 272ff81cb fs/ntfs: Correct possible infinite loops/hangs
    * 8c95307a0 fs/ntfs: Correct possible access violations
    * 06914b614 fs/ntfs: Correct attribute vs attribute list validation
    * 0e1762c8a fs/ntfs: Correct regression with run list calculation
    * be303f8c1 lib/envblk: Ignore empty new lines while parsing env files
    * 34bd00ee2 fs/zfs: Fix another memory leak in ZFS code
    * ca2a91f43 tests: Disable gfxterm_menu and cmdline_cat tests
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit bd322c05e20ef3f675689394b04a32e5ed817ab5
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Jul 6 15:31:48 2025 +0100

    SeaBIOS/default: Bump to rev b686f460, 28 Jun 2025
    
    This brings in the following changes:
    
    * b686f460 sercon: Fix keycodes for F11 and F12
    * b52ca86e docs: Note v1.17.0 release
    * a6c8e8bb ahci: Fix hangs due to controller reset
    
    The serial console fix is useful to us, as is the AHCI
    fix; the latter was previously mitigated by removing
    SeaBIOS's AHCI reset patch.
    
    Upstream realised that the AHCI controllers need to have
    a timeout on them when resetting them, because they don't
    always react immediately to commands.
    
    This makes the AHCI behaviour more correct, in SeaBIOS.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 6395f3f20ffec282e8498cfc0b5cd9a58df5d1b2
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Jul 6 04:25:22 2025 +0100

    ifd/hppro3500: unlock regions by default
    
    coreboot already unlocks the regions during build, by default,
    anyway, and this was present in the submitter's patch.
    
    however, it's also good to unlock the IFD regions. like so:
    
    ifdtool --unlock ifd.bin -O ifd.bin
    
    this has been done, on the ifd for hp pro 3500
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit fc201b7f08b0051285af5ba5c7d66fc07536d733
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Jul 6 04:22:48 2025 +0100

    ifd/hppro3500: set HAP bit by default
    
    ifdtool --altmedisable 1 ifd.bin -O ifd.bin
    
    always remember to do this, when adding a new
    ifd to lbmk. i merged the 3500 port anyway, since
    the submitted already used me_cleaner anyway, but
    setting the HAP bit is also useful. for example, if
    someone was to only flash the BIOS region, which is
    possible in this case since the submitter also
    didn't truncate the ME region or enlarge the BIOS
    region.
    
    in that case, flashing IFD and BIOS is another valid
    way to do it, where IFD's HAP bit is set
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 0b8cccdcab98ff68bb4cd6313af8839685567a08
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Jul 6 04:15:22 2025 +0100

    cb/hppro3500: use seagrub, not grubsea
    
    We want graphics cards to work out of the box. This is
    why SeaGRUB is default, on desktops; SeaBIOS also has
    better code quality and is less likely to break, so it
    provides a nice fallback in case the GRUB payload is ever
    buggy during development (this decision was made ever
    since the botched May 2024 release)
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit b7c4c41a263f945c992617a827f362aca0548394
Author: Joel Linn <jl@conductive.de>
Date:   Sun Jun 15 15:20:32 2025 +0200

    Add HP Pro 3500 Series
    
    Everything should work except cpu fan control because ME cleaning breaks PECI.
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

commit 09c02817e519c368b309470235039d1dff6706d5
Author: Leah Rowe <leah@libreboot.org>
Date:   Sun Jul 6 03:25:35 2025 +0100

    lib.sh: remove erroneous break from fx_
    
    it means nothing here. in context, if a non-zero return
    is observed, we should not do anything here, which is
    already the behaviour anyway, except that "break" means
    nothing since we're not in a loop here.
    
    where an error exit should be observed, x_ is used inside
    the command given for fx_
    
    Signed-off-by: Leah Rowe <leah@libreboot.org>

I had other stuff going on in my personal life so didn’t do much Canoeboot development, between October 2025 to November 2025. This is why the release has been pushed back to January 2026 instead of December 2025.

When life throws you lemons, make tomatoes.

Markdown file for this page: https://canoeboot.org/news/canoeboot2601rc1.md

Site map

This HTML page was generated by the Libreboot Static Site Generator.