libreboot / lbwww (public) (License: Unspecified) (since 2023-04-11) (hash sha1)
libreboot website (markdown files). https://libreboot.org/
List of commits:
Subject Hash Author Date (UTC)
made the announcement show changes since december 2024 8cfc7486bdce0d8a37437648a519dac095149ee6 Leah Rowe 2025-06-30 23:24:18
Libreboot 25.06 release announcement 2fc8efd375aef58d6c5d6b8e4ffe87b3bd2ff3d4 Leah Rowe 2025-06-30 12:49:26
remove orwellian language 514bda8049526b2074ab72083359411aefda5a27 Leah Rowe 2025-06-09 19:30:06
cleanup 6742a9fc954182e9699b9b5bf844f0d42e5dcd82 Leah Rowe 2025-06-01 03:26:19
do not promote a now-tainted project df73de2bcd051ee16d8061b1c61befc3a3a47169 Leah Rowe 2025-06-01 03:20:54
further clarification about pico2 support 56120eb2fbfa432eb6b465d93503f1da8b6ac5c5 Leah Rowe 2025-05-25 11:18:05
i'm a developer, not a developed 9e1697ed8c478932bbad245323f05903bb6b1054 Leah Rowe 2025-05-23 18:05:37
delete other.md, just link canoeboot instead c1a7cb4f7febb1e6cfacbbf9b2435c382a5e6299 Leah Rowe 2025-05-23 17:15:32
unaligned non-compliance 939b0e741ce6052bd5d179867e2bd4e76e912186 Leah Rowe 2025-05-23 15:41:50
documentation cleanup 675a6d2efdb6acd9e222531d49137c835f80e750 Leah Rowe 2025-05-23 11:31:33
Include the T1700 boards when building from sources. c443c76ee41ea982d90f3cb8ae101cb6ff757a70 Ronanand0 2025-05-16 12:07:11
Mentioning others boards working with this firmware fc83a7156a1f5e307b76790fd8346832d0c775f9 Ronanand0 2025-05-16 11:53:14
Update site/tasks/index.md 9128788bd70296dd515f7ba147c39ad8a2484d2f Ronanand0 2025-05-16 11:46:30
Update tasks list with hp 840 g2 (id 2216) boards a8355f83390639b8bc1cee799dc3137cf9e2f85c Ronanand0 2025-05-16 11:39:53
NEW 2025 release schedule ea0daee30e880a7652dd837f12c858ac2a86dd96 Leah Rowe 2025-05-09 14:42:57
note nvmutil compatibility regarding randomness 4ecef4611a3e21ef8867c0c2afe6b0ec4dc96ce7 Leah Rowe 2025-05-04 17:26:24
nvmutil docs: say x instead of ?, for randomness 888fbb03046fde216ac160e9dbc9d53bd86b0e8a Leah Rowe 2025-05-03 06:30:18
25.04rev1 notes 6f6c27c936fed18bd9b0048ffd343f7d9e02c743 Leah Rowe 2025-05-02 01:02:47
css: limit images to 80 percent on 1337box display b88487ab6ce010bda62383aa42d6389795d9b19b Leah Rowe 2025-05-01 10:32:43
add even more pics to the release page f994c7ac226223c197c019b843de77d8c4db729c Leah Rowe 2025-04-30 22:20:11
Commit 8cfc7486bdce0d8a37437648a519dac095149ee6 - made the announcement show changes since december 2024
not april 2025

Signed-off-by: Leah Rowe <leah@libreboot.org>
Author: Leah Rowe
Author date (UTC): 2025-06-30 23:24
Committer name: Leah Rowe
Committer date (UTC): 2025-06-30 23:24
Parent(s): 2fc8efd375aef58d6c5d6b8e4ffe87b3bd2ff3d4
Signer:
Signing key:
Signing status: N
Tree: 829ea2a033fdd804718ae412537f096417542434
File Lines added Lines deleted
site/news/libreboot2506.md 697 51
File site/news/libreboot2506.md changed (mode: 100644) (index 8347be8..69a9edf)
5 5 A corresponding [Canoeboot 25.06](https://canoeboot.org/news/canoeboot2506.html) A corresponding [Canoeboot 25.06](https://canoeboot.org/news/canoeboot2506.html)
6 6 release is also available. release is also available.
7 7
8 There *was* a Libreboot 25.04 release in April 2025, but that is retroactively
9 regarded as an RC of 25.06. The original 25.06 release announcement showed
10 changes since 25.04, but the changelog is now relative to December 2024.
11 This reflects the [revised release schedule](revisions.md). It means that the
12 changelog is much bigger, and also includes the changes that went in
13 Libreboot 25.04.
14
8 15 Today's Libreboot 25.06 revision is a *stable release*, whereas the previous Today's Libreboot 25.06 revision is a *stable release*, whereas the previous
9 stable release was Libreboot 20241206; the previous *testing* release was
10 Libreboot 25.04, and this releases fixes a few bugs. The codename for this release
11 is *Luminous Lemon*.
16 stable release was Libreboot 20241206. This revised release log lists all
17 changes as of today, 30 June 2025, since the Libreboot 20241206 release of
18 December 2024.
12 19
13 20 <img tabindex=1 class="r" src="https://av.libreboot.org/t480/t480.jpg" /><span class="f"><img src="https://av.libreboot.org/t480/t480.jpg" /></span> <img tabindex=1 class="r" src="https://av.libreboot.org/t480/t480.jpg" /><span class="f"><img src="https://av.libreboot.org/t480/t480.jpg" /></span>
14 21
15 This release was built on the latest Debian 12.10 Bookworm release, as of
16 this day. It was also build-tested successfully on the latest Arch Linux updates
17 as of 26 June 2025.
18
19 22 **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR
20 23 YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions
21 24 there, before flashing. For posterity, there, before flashing. For posterity,
22 25 [here is the link again](../docs/install/ivy_has_common.md).** [here is the link again](../docs/install/ivy_has_common.md).**
23 26
24 New schedule and version numbers
25 -------------------------------
26
27 This change in version release scheme was previously reported in the news
28 post announcing Libreboot's new [formal release schedule](schedule.md). As per
29 that article, the next stable release will be Libreboot 25.06, in June 2025.
30
31 Regarding the changelog
32 --------------------
33
34 The Libreboot 25.04 releases were essentially RCs (release candidates) of
35 the Libreboot 25.06 release, given the [revised release schedule](revisions.md).
36
37 The focus since Libreboot 25.04 has been on fixing bugs, while making as few
38 breaking changes as possible, ideally none; this also means that fewer boards
39 were added, and fewer features were added. This is because major works are
40 done right up until RCs, about two months before official release, and then
41 bugs are fixed between then and the release; this changelog reflects that.
42
43 The [original schedule](schedule.md) created *four* annual releases: YY.04, YY.06,
44 YY.10 and YY.12. 04 and 10 being testing releases, leading up to 06 and 12. These
45 numbers refer to the month of the year, and YY represents the year.
46
47 The revised schedule changed this to *two* releases, with RCs that get deleted
48 after the stable release comes out; 25.04 shall be retained on rsync, but it
49 is retroactively (and informally) referred to as "Libreboot 25.06 RC0". This
50 explanation has been provided, for context.
51
52 27 Open source BIOS/UEFI firmware Open source BIOS/UEFI firmware
53 28 ---------------------------- ----------------------------
54 29
 
... ... Summarised list of changes
75 50
76 51 ### Board support ### Board support
77 52
53 The priority for the first half of 2025 has been on further auditing the
54 Libreboot build system, so fewer board ports were added. More board ports
55 will be added instead in the December 2025 release (a lot more).
56
78 57 The following boards have been added since the Libreboot 20241206 release: The following boards have been added since the Libreboot 20241206 release:
79 58
59 * Acer Q45T-AM support added (similar to G43T-AM3 mainboard)
80 60 * Dell Precision T1700 SFF and MT * Dell Precision T1700 SFF and MT
81 61
82 62 Board ports were low priority for this release; now it shall be the focus, Board ports were low priority for this release; now it shall be the focus,
 
... ... Intel Xeon processor is installed.
92 72 In descending order from latest changes to earliest changes: In descending order from latest changes to earliest changes:
93 73
94 74 * GRUB: Update to revision 73d1c959e (14 March 2025) * GRUB: Update to revision 73d1c959e (14 March 2025)
75 * Bump SeaBIOS to to rev 9029a010, 4 March 2025
76 * Updated Untitled to newer LBSSG repository.
77 * Bump flashprog to rev e060018 (1 March 2025)
78 * Bump U-Boot on ARM64 boards to U-Boot v2025.04. Patching courtesy of
79 Alper Nebi Yasak.
80 * Bump uefitool to rev a072527, 26 Apr 2025 to fix CMake compatibility issue
81 since CMake 4 no longer supports version 3.5, whereas the old uefitool had
82 an earlier version as the minimum supported. This fixed a minor build error.
83 * Merged coreboot/next with coreboot/default
84 * Bump coreboot/next to rev c247f62749b as of 20 April 2025
85 * Bump coreboot/default to rev c247f62749b as of 20 April 2025
86 * Bump flashprog to revision eb2c041 (14 Nov 2024).
95 87
96 The GRUB update brings in several changes from upstream:
88 The GRUB revision includes a number of critical CVE fixes, and regression
89 fixes, that were also included in Libreboot 20241206 rev11. Some later fixes
90 are also present, such as wiping LUKS keys from memory after successfully
91 booting Linux (Linux handles LUKS itself, and starts the process again).
97 92
98 ```
99 * 73d1c959e cryptocheck: Add --quiet option
100 * dbc0eb5bd disk/cryptodisk: Wipe the passphrase from memory
101 * 301b4ef25 disk/cryptodisk: Add the "erase secrets" function
102 * 23ec4535f docs: Document available crypto disks checks
103 * 10d778c4b commands/search: Add the diskfilter support
104 * 7a584fbde disk/diskfilter: Introduce the "cryptocheck" command
105 * ed691c0e0 commands/search: Introduce the --cryptodisk-only argument
106 * c448f511e kern/rescue_reader: Block the rescue mode until the CLI authentication
107 * 4abac0ad5 fs/xfs: Fix large extent counters incompat feature support
108 ```
93 The NASM version was updated to version 2.16.03 on coreboot/fam15h, to prevent
94 build errors, instead of fixing the old NASM 2.14.02. Tested on Debian Sid
95 Experimental, with GCC15-based toolchain, and on Fedora 42.
96
97 PICO support: Reverted to the old pico serprog/sdk repositories used
98 in Libreboot 20240612. This is temporary, because pico2 support is currently
99 broken, so this release only has pico1 support, when dealing with Rpi Pico
100 devices. Upstream pico-serprog works fine on pico2, so this will be fixed
101 in and re-updated again in a future revision release. The pico2 update images
102 were retroactively removed from the 20241206 release on rsync.
103
104 A patch from upstream was backported to the old pico-sdk version, so that it
105 builds correctly on newer GCC15 (tested on Debian Sid with "Experimental"
106 packages enabled).
109 107
110 108 ### Licensing ### Licensing
111 109
112 * no changes (relative to Libreboot 25.04)
110 <img tabindex=1 class="r" src="https://av.libreboot.org/hp8460p/hp8460p.webp" /><span class="f"><img src="https://av.libreboot.org/hp8460p/hp8460p.webp" /></span>
111
112 * Added SPDX license headers to almost every configuration file in lbmk.
113 113
114 114 ### Security ### Security
115 115
 
... ... massive concern to users.
120 120 update: `dbc0eb5bd disk/cryptodisk: Wipe the passphrase from memory` - this update: `dbc0eb5bd disk/cryptodisk: Wipe the passphrase from memory` - this
121 121 wipes the LUKS key from memory, after GRUB exits, where one was created wipes the LUKS key from memory, after GRUB exits, where one was created
122 122 by GRUB while unlocking a given volume. by GRUB while unlocking a given volume.
123 * Merged *73* critical CVE fixes into the GNU GRUB source code, from upstream.
124 * Stricter use of pledge and unveil in the nvmutil source code.
125 * *Much* safer `./mk inject`. It used to be that the tarballs were extracted
126 and files inserted into the extracted images, but the tarballs were left
127 unmodified; many users thought then that they should extract the tarball
128 and flash that, which lead to bricks. And it was easy to flash uninjected
129 images, where files (e.g. Intel ME) are needed, so now ROM images are padded
130 by one byte, to prevent flashing, and the user is strongly reminded to
131 inject files first; upon running the `./mk inject` commands, these images
132 are then safe to flash.
133 * Fix globbing issues in lbmk by double-quoting variables everywhere, and
134 generally making sure that certain characters are escaped properly when
135 necessary. To reduce the chance of bad commands being run by mistake or
136 intentionally.
137 * Removed auto-confirm on `./mk dependencies` commands, to mitigate the risk
138 of a buggy package manager on the user's distro possibly removing many
139 packages. Now the user must confirm their choice, e.g. when a conflict
140 occurs, instead of the package manager already deciding for the user.
141 * ThinkPad T480 / OptiPlex 3050: Disable HyperThreading/SMT by default, for
142 security, to reduce the attack vector of certain speculative execution-based
143 exploits.
123 144
124 145 ### Feature changes ### Feature changes
125 146
 
... ... In descending order from latest changes to earliest changes:
155 176 config being checked. In practise, this causes no real behaviour changes. config being checked. In practise, this causes no real behaviour changes.
156 177 * `rom.sh`: Print the rom image path being generated * `rom.sh`: Print the rom image path being generated
157 178 * `lib.sh`: Add warning if x_ is called without args * `lib.sh`: Add warning if x_ is called without args
179 * `init.sh`: More verbose error info, on non-zero exits.
180 * `util/nvmutil`: Within each 4KB part, only handle 4KB, even if the block
181 size is bigger. This means using less memory, and modification of anything
182 past 4KB is not required.
183 * `util/nvmutil`: Support 16KB and 128KB GbE files, in addition to the
184 usual 8KB files. The size is based on the block size of the flash you use.
185 * Added non-root USB3 hub support to GRUB on the xHCI implementation, courtesy
186 of a patch from Nitrokey.
187 * GRUB: Scan LUKS inside *every* LVM, to support the uncommon use case where
188 LUKS is inside LVM, instead of LVM inside LUKS. It is theoretically possible,
189 even if ill advised.
190 * GRUB: Scan *every* LVM device, where available, as a fallback at boot time
191 when all else fails.
192 * Release ROMs prefixed with a "DO NOT FLASH" warning and padded by one byte,
193 where vendor files are required. The `./mk inject` commands remove this
194 prefix/padding, after vendor files are inserted and checksums verified.
195 * Better detecting of whether vendor files are needed, and confirmation to
196 the user while running `./mk inject` commands.
197 * Allow restoring the default MAC address on `./mk inject` commands, by using
198 the `setmac restore` arguments.
199 * Randomise the MAC address by default, where applicable, when running
200 the `./mk inject` commands, because lots of users previously flashed without
201 changing it, so lots of users had generic MAC addresses.
202 The `setmac keep` argument prevents this from happening, where desired.
203 * `include/vendor.sh`: More user-friendly debug messages, for the user to
204 know what's going on.
205 * `util/nvmutil`: Add uninstall command to the Makefile
206 * `util/nvmutil`: Add distclean command to the Makefile
207 * `util/nvmutil`: Nicer hexdump display, similar to `hexdump -C`.
208 * Support a `re` argument in `./mk dependencies` Fedora commands, for
209 re-installation of packages as desired.
210 * Support `--reinstall` in the `./mk dependencies debian` command, when the
211 user wants to re-install dependencies.
212 * Put temporary `PATH` directory in the normal `XBMK_CACHE` directory, and
213 clear it whenever a new parent instance of the build system is executed.
214 This is used for the GCC/GNAT matched symlinks, for example, or the python
215 symlink created at startup.
216 * Pico 2 support briefly added, but was a bit buggy for now, so it's removed
217 in this release, and was retroactively removed in rsync for the
218 Libreboot 20241206 release; this will be re-added in a future release.
219 * Added GRUB-first payload setups as an option, but not enabled by default.
220 The user can add `payload_grubsea="y"` in the `target.cfg` file for a given
221 mainboard.
222 * Support automatically downloading Lenovo ThunderBolt firmware for the
223 ThinkPad T480, automatically padding it for installation. This update fixes
224 a charging bug that affected some earlier launch models.
225 * Insert GRUB backgrounds in CBFS instead of GRUB memdisk, which makes
226 GRUB background images easier to replace.
158 227
159 228 ### Configuration changes ### Configuration changes
160 229
 
... ... In descending order from the latest changes to the earliest changes:
178 247 the size of releases. the size of releases.
179 248 * A GRUB configuration change was made, fixing auto-scanning of LVMs when * A GRUB configuration change was made, fixing auto-scanning of LVMs when
180 249 doing cryptomount. doing cryptomount.
250 * T480/3050micro: Removed the `fsp` targets, because we only need
251 the `vfsp` targets.
252 * Added `gnutls-devel` to Fedora 41 dependencies.
253 * Added `libx86` to Arch dependencies, needed for the `int` utility.
254 * Added `less` to Arch dependencies, because it's needed for certain commands
255 e.g. git commands.
256 * GRUB: Use the codeberg mirror first, to mitigate GNU mirrors often being
257 slow or rate limited, e.g. for gnulib downloads.
258 * fedora41/dependencies: add libuuid-devel
259 * Added `uuid-devel` to fedora41 dependencies
260 * flashprog: Disable `-Werror` to prevent minor warnings being treated as errors.
181 261
182 262 ### Bug fixes ### Bug fixes
183 263
184 264 <img tabindex=1 class="r" src="https://av.libreboot.org/rpi/wson8/0003.jpg" /><span class="f"><img src="https://av.libreboot.org/rpi/wson8/0003.jpg" /></span> <img tabindex=1 class="r" src="https://av.libreboot.org/rpi/wson8/0003.jpg" /><span class="f"><img src="https://av.libreboot.org/rpi/wson8/0003.jpg" /></span>
185 265
186 Most of these are build system fixes, but for example there is also a fix
187 applied to the GRUB source code.
266 This combines both build system fixes, and changes to upstream sources (e.g.
267 coreboot and various payloads like SeaBIOS/GRUB, utilities like flashprog, and
268 so on).
188 269
189 270 The following bug fixes have been merged (in descending order from the latest The following bug fixes have been merged (in descending order from the latest
190 271 changes to the earliest changes): changes to the earliest changes):
 
... ... changes to the earliest changes):
394 475 release simply reverts the AHCI reset patch for now. The AHCI reset plus delay release simply reverts the AHCI reset patch for now. The AHCI reset plus delay
395 476 will be present in Libreboot's next release, after 25.06. will be present in Libreboot's next release, after 25.06.
396 477 * lenovo/t420: Add missing text-mode configuration * lenovo/t420: Add missing text-mode configuration
478 * coreboot (all trees): Added patch fixing GMP build errors on modern
479 GCC15 hostcc.
480 * coreboot (all trees): Fixed building of crossgcc with newer GCC15. Patches
481 courtesy of Alper Nebi Yasak.
482 * coreboot (all trees): Added a patch to fix building coreboot utils with
483 newer GCC15.
484 * dependencies/debian: Fixed the libusb package name for newer Debian releases,
485 courtesy of Alper Nebi Yasak.
486 * SeaBIOS: Fixed `malloc_fn` function pointers in the `romfile` patch, courtesy
487 of Alper Nebi Yasak. Fix build errors on GCC 15.
488 * `include/lib.sh`: Force use of System Python e.g. `/usr/bin/python`, when
489 a python venv is detected. This prevents the build system from hanging.
490 * coreboot `g43t_am3`: Fixed the `data.vbt` path.
491 * Alper Nebi Yasak fixed the Python 2/3 detection in some edge cases when
492 the `python` command is python2.
493 * `include/lib.sh` (later `init.sh`): Do root check *first*, right after
494 the dependencies check, whereas it previously did the python check before
495 checking for root user.
496 * lbmk: Don't use TMPDIR directly, use another variable containing its value,
497 and make sure it doesn't get changed wrongly. This reduces the possibility
498 of accidentally leaving old tmp files laying around.
499 * `include/lib.sh`: `tar` commands now return an exit with error, if a fault
500 occurs, whereas it didn't before, due to piped output. This is done
501 using the `x_` wrapper on tar commands, to provide error exits.
502 * `mk`: function `check_project_hashes` now returns an error, if the sha512sum
503 command fails. It previously didn't, due to piped outputs. It's now mitigated
504 by using `x_` on piped commands, for error exits.
505 * Forking of lbmk parent instance to child instance isno longer handled by
506 variables. It's been simplified, to only be based on whether TMPDIR is set,
507 and it's generally more robust now in this release. The old code sometimes
508 broke under certain edge cases.
509 * `include/vendor.sh` (later renaming to `inject.sh`): General code cleanup,
510 about 100 sloc removed without reducing features.
511 * lbmk: Initialise `PATH` to a standard string if not set, on the parent
512 instance of lbmk.
513 * lbmk: Use `pwd` instead of the `PWD` variable, resetting the latter safely
514 as lbmk runs. This prevents lbmk from changing directory to an erroneous
515 system path, if `PWD` wasn't properly set for some reason. This is a
516 preventative bug fix, because no actual issue ever occured in practise.
517 * Much safer Python version check at lbmk startup, using data structures that
518 are provided universally by all Python implementations, instead of
519 relying on the output of `--version`.
520 * Fixed T480 backlight controls, courtesy of a patch from Mate Kukri.
521 * Set up Python in `PATH` when lbmk starts, to ensure that it is always
522 version 3. This is checked at startup.
523 * `include/vendor.sh`: Prevent double-nuke, where a given tarball already had
524 vendor files removed prior to release.
525 * `include/vendor.sh`: Allow setting a MAC address even if vendor files aren't
526 needed.
527 * `include/vendor.sh`: Download utils even if `vcfg` is not set, in case the
528 user is also setting a MAC address.
529 * `util/nvmutil`: Honour the `INSTALL` variable, if set by the user, otherwise
530 it is set to `install` by default.
531 * `util/nvmutil`: Don't do `clean` when running `uninstall`.
532 * `util/nvmutil`: Proper DESTDIR/PREFIX handling, whereas it was not handled
533 properly at all before.
534 * `util/nvmutil`: Only set CC/CFLAGS if unset, and use sensible defaults.
535 * Fixed various shellcheck errors in lbmk.
536 * HP EliteBook 820 G2: Fixed vendor file insertion and set `release=y`. The
537 insertion of Intel MRC and refcode previously didn't pass checksum validation.
538 * ThinkPad T480 / OptiPlex 3050: Force power-off state upon recovery from
539 power loss, otherwise the system always turns on as soon as a charger is
540 plugged in. This is configured by hardcoding, due to a current lack of any
541 option table on the T480.
542 * Debian dependencies: replace liblz4-tool with lz4 and liblz4-dev. The latter
543 is also available in Debian Trixie and Sid, at this time, in addition to
544 Debian Bookworm, so it works on all of them.
545 * U-Boot (x86): Fixed a bug since Swig 4.3.0 changed the syntax for its
546 language-specific AppendOut functions. A patch from upstream was backported,
547 and the patch is also compatible with older versions of Swig.
548 * In lbmk scripts, use `command -v` instead of `which`, to find the locations
549 of certain binaries. This is a bug fix, since `which` is non-standard and
550 so could break on some setups.
551 * Crossgcc: when building it for coreboot, fix mismatching GCC/GNAT versions
552 so that they match, if multiple versions are present. This was done because
553 Debain Trixie initially had GCC 14 and GNAT 13, whereas we need GNAT to build
554 the Intel video init code on many mainboards.
555 * T480/T480: Disable TPM2 to mitigate a hang in SeaBIOS due to buggy drivers.
556 * `dependencies/debian`: Fix the `python3-distutils` package, renamed it
557 to `python3-distutils-extra`, which works on bookworm *and* newer, but the
558 former did not.
559 * `git.sh`: don't initialise the `livepull` variable globally, reset it per
560 target instead, to prevent some repositories from being wrongly re-cloned.
561 * Thinkpad T480 / Dell OptiPlex 3050: Handle FSP insertion post-release, rather
562 than providing FSP images directly in release images. It is now handled by
563 the `./mk inject` command, copying the reference image from coreboot and
564 splitting it upp and rebasing it, to mitigate certain technicalities of
565 Intel's FSP license, which otherwise permits free redistribution.
566 * Safer, more reliable exit when handling vendor files, because in some cases
567 lbmk was leaving the `lock` file in place (erroneously).
568 * Safer exit when running the `./mk dependencies` commands, so that lbmk is
569 more likely to exit, because it was theoretically possible that it might
570 not under certain edge cases.
571 * Disable nvme hotplug on Dell OptiPlex 3050 Micro, to prevent replugging in
572 Linux, which would otherwise lead to possible data corruption.
573 * T480: Fix coreboot SPD size to 512 instead of 256 (it was already
574 auto-corrected to 512 at build time, but the original configs were 256 which
575 is wrong).
576 * Add tarballs and gpg signatures to `.gitignore`
397 577
398 578 ### General code cleanup ### General code cleanup
399 579
 
... ... In descending order from the latest changes to the earliest changes:
587 767 * `lib.sh`: simplify remkdir() * `lib.sh`: simplify remkdir()
588 768 * xbmk: move x_() to `lib.sh` * xbmk: move x_() to `lib.sh`
589 769 * `init.sh`: move setvars/err_ to lib.sh * `init.sh`: move setvars/err_ to lib.sh
770 * `init.sh`: Generally modularised it, moving separate tasks into separate
771 functions, rathher than having it be one big monolith.
772 * `vendor.sh` was renamed to `inject.sh`, so that future changes can be
773 in better sync between lbmk and cbmk on this file, because the cbmk version
774 has the MAC address changer (but no vendorfile handling). In the future,
775 this will be split so that `vendor.sh` exists again, containing only the
776 vendorfile handling, and `inject.sh` will only handle MAC addresses.
777 * `init.sh`: Several variables were moved out of this file and elsewwhere in
778 lbmk.
779 * Moved the `singletree` function to `git.sh` instead of `lib.sh`
780 * Moved the `cbfs` function from `lib.sh` to `rom.sh`.
781 * `include/lib.sh`: Use a more top-down function order, more clear, and it was
782 split into an extra file `init.sh` that does the most basic lbmk initialisation
783 at startup, whereas what remains in `lib.sh` really are generic library
784 functions used throughout lbmk.
785 * `include/git.sh`: Removed unused crossgcc linking feature, because we don't
786 use it anymore (coreboot trees have their own crossgcc and never link to
787 another these days). Libreboot used to have many more coreboot trees, some
788 of which re-used crossgcc from another tree. Similarly, the accompanying
789 variable `tree_depend` is no longer handled. The `xtree` variable is still
790 handled, because projects like U-Boot use that to configure crossgcc.
791 * include/vendor.sh: Removed unnecessary check against the ROM image size.
792 Generally simplified the processing of release images.
793 * include/git.sh`: Removed many redundant functions, merging several of them.
794 * `include/mrc.sh`: Fixed a bad print, making proper use of a string inside
795 a printf statement.
796 * Simplified many file checks in lbmk, by using the `e` function.
797 * Removed a bunch of useless `eval` commands in general, throughout lbmk,
798 making the code much cleaner.
799 * lbmk: the `x_` function is now used much more aggressively, for error
800 handling, simplifying error handling in lbmk overall.
801 * `mk` main script: Merged the `trees` script with it, so now it's all one
802 script. The `mk` script is now the only executable script in lbmk.
803 * `mk` (main script): The `roms` command is removed (legacy / obsolete).
804 * The version/versiondate files are now dotfiles, to hide during operation.
805 * `include/lib.sh`: Hardcoded projectname/projectsite variables, instead
806 of storing them in a file.
807 * `trees` script: Unified handling of flags (same string used in error output),
808 to ensure that error(usage) messages always match.
809 * `trees` script (later merged into `mk`): Removed a lot of old bloat.
810 * `util/nvmutil`: Make the checksum word position a define. Generally cleaned
811 up a lot of code to make it clearer for the reader. Added more verbose
812 messages to the user, confirming things such as how much was read or written
813 on the user's file system. Various miscallaneous bug fixes (edge cases that
814 were unlikely to ever be triggered).
815 * `util/nvmutil`: More efficient use of memory when handling files.
816 * `util/nvmutil`: Much cleaner handling of user input.
817 * `util/nvmutil: More granular MAC address parsing errors, easy for debugging.
818 * `util/nvmutil`: Make the Gbe Checksum a define, for readibility.
819 * `util/nvmutil`: Obey the 79-character-per-line limit, as per lbmk coding
820 style.
821 * `util/nvmutil`: Tidied up several pledge calls
822 * Removed use of several unnecessary subshells and `eval` statements in lbmk.
823 * `trees`: Later, the GCC/GNAT matching feature was rewritten to work both ways,
824 where an older GCC was matched to GNAT and vice versa, whereas it previously
825 only went one way. `gcc` and `gnat` are manipulated in `PATH` to ensure that
826 the user has a consistent version of both.
827 * `path.sh` later merged into the `trees` script (which later merged
828 into the main `mk` script). This `path.sh` is what contained the first
829 implementation of the GNAT/GCC version matching feature.
830 * `path.sh`: Remove unnecessary shebang, and the same on other `include/`
831 scripts. NOTE: `path.sh` was later merged into `lib.sh`, which then became
832 split into `init.sh` in later changes (see above).
833 * Removed legacy build system commands e.g. `./build` and `./update`; now
834 only the newer `./mk` commands are supported. This and the change below was
835 briefly reverted, for the 20241206 revisions, but then re-introduced.
836 * Removed the deprecated `./vendor` command; now only `./mk` commands are
837 used. The `./mk -d coreboot target` commands are used, for downloading
838 vendor files.
839 * Removed unused patch that was for the original deguard implementation,
840 prior to Mate Kukri's re-write of it.
590 841
591 842 Git log Git log
592 843 ------- -------
593 844
594 This log is relative to Libreboot 25.04:
845 This log shows all changes in today's release, from 30 June 2025, ever
846 since the Libreboot 20241206 release of 6 December 2025:
595 847
596 848 ``` ```
849 * c46a71138c7 Libreboot 25.06 release
597 850 * b1ef562b767 tree.sh: add sha512 error for check_project_hashes * b1ef562b767 tree.sh: add sha512 error for check_project_hashes
598 851 * 04bee3834d0 tree.sh: add error check in check_project_hashes() * 04bee3834d0 tree.sh: add error check in check_project_hashes()
599 852 * 677dfc4d103 tree.sh: more reliable clean in run_make_command * 677dfc4d103 tree.sh: more reliable clean in run_make_command
 
... ... This log is relative to Libreboot 25.04:
865 1118 * c073ee9d4fc Restore SeaBIOS 9029a010 update, but with AHCI fix * c073ee9d4fc Restore SeaBIOS 9029a010 update, but with AHCI fix
866 1119 * 8245f0b3211 Revert "seabios: bump to rev 9029a010, 4 March 2025" * 8245f0b3211 Revert "seabios: bump to rev 9029a010, 4 March 2025"
867 1120 * 4c50157234d coreboot/t420_8mb: add missing txtmode config * 4c50157234d coreboot/t420_8mb: add missing txtmode config
1121 * f21749da8b1 Libreboot 25.04 Corny Calamity
1122 * bb5f5cd5763 add pico-sdk backport patch fixing gcc 14.x
1123 * 4f77125066d coreboot/fam15h: update submodule for nasm
1124 * 0f2202554ab coreboot/fam15h: update nasm to 2.16.03
1125 * 2009c26f0aa serprog: Remove pico2 support for the time being
1126 * a08b8d94fc5 seabios: bump to rev 9029a010, 4 March 2025
1127 * 342eca6f3d1 update untitled
1128 * b0a6d4711a3 coreboot413: add alper's fix to cbfstool for gcc15
1129 * 628ae867c9a flashprog: bump to rev e060018 (1 March 2025)
1130 * 5e96db5a2b4 further gcc-15 fix for gmp on -std=23
1131 * 9a9cd26b2d5 coreboot/default and fam15h: gmp fix, gcc15 hostcc
1132 * 80007223c85 lib.sh: Provide printf for mktarball
1133 * a16c483e5fd Merge pull request 'coreboot: fam15h: Add patches to fix build with GCC 15 as host compiler' (#318) from alpernebbi/lbmk:coreboot-fam15h-gcc15 into master
1134 |\
1135 | * 685685ab0e4 coreboot: fam15h: Add patches to fix build with GCC 15 as host compiler
1136 |/
1137 * 02110f2bc1d Merge pull request 'coreboot: Add patch to fix build with GCC 15 as host compiler' (#317) from alpernebbi/lbmk:coreboot-gcc15-nonstring into master
1138 |\
1139 | * 5ad1de3931a coreboot: Add patch to fix build with GCC 15 as host compiler
1140 |/
1141 * 9e7bceb7fa9 Merge pull request 'seabios: Fix malloc_fn function pointer in romfile patch' (#313) from alpernebbi/lbmk:seabios-romfile-malloc-fptr into master
1142 |\
1143 | * 35c853f8b33 seabios: Fix malloc_fn function pointer in romfile patch
1144 * | 686e136f150 Merge pull request 'dependencies/debian: Fix libusb package name' (#315) from alpernebbi/lbmk:debian-libusb-dependency into master
1145 |\ \
1146 | * | 6f120f01588 dependencies/debian: Fix libusb package name
1147 | |/
1148 * / d8b0e749983 init.sh: fix yet another double quote for dotfiles
1149 |/
1150 * 780844112ae Merge pull request 'Update U-Boot to v2025.10' (#305) from alpernebbi/lbmk:uboot-v2025.04 into master
1151 |\
1152 | * 1265927ca38 u-boot: gru: Disable INIT_SP_RELATIVE
1153 | * 5bea1fade9a u-boot: arm64: Expand our modified defconfigs to full configs
1154 | * fd56d8ada13 u-boot: arm64: Merge our modifications into new defconfigs
1155 | * ed9ddd7415f u-boot: arm64: Add new upstream defconfigs
1156 | * b1fa44858cb u-boot: arm64: Rebase to v2025.04
1157 | * 976fc6890ae u-boot: arm64: Save our modifications to the upstream defconfigs
1158 | * 418570a6172 u-boot: arm64: Turn configs into defconfigs
1159 |/
1160 * 093a86d9c09 init.sh: don't use eval to read version files
1161 * 3045079947b init.sh: use backslash for dotfiles in eval
1162 * da108d1c045 mk: Don't run mkhelpers if mode is set
1163 * 71a58a38ab4 mk: condense main() again
1164 * f3882b9bf21 init.sh: make git name/email error more useful
1165 * 9cebda333d5 init.sh: move git name/mail check to xbmk_git_init
1166 * ea081adc4ca init.sh: tidy up the git name/email check
1167 * 3292bded692 mk: make main() more readable
1168 * 97a5e3d15ed mk: move git check to init.sh xbmk_set_version
1169 * 11cd952060d init.sh: tidy up xbmk_init()
1170 * f6c5c8d396d mk: move git_init to init.sh
1171 * ec1c92238cc init.sh: minor cleanup
1172 * e009f09e7fa init.sh: clean up setvars
1173 * 9ec72153408 init.sh setvars: make err a printf for eval
1174 * 18ad654a1f7 init.sh: merge xbmk_child_init with xbmk_init
1175 * 15268202478 init.sh: split xbmk_child_init into functions
1176 * 0280cd4c0e7 init.sh: move parent fork to new function
1177 * a0e1d42ff74 init.sh: Provide more complete error info
1178 * a8f0623efbb update uefitool to rev a072527, 26 Apr 2025
1179 * c698972130f rename include/vendor.sh to inject.sh
1180 * 24e488aae56 lib.sh: move _ua to the xbmkget function
1181 * 6779d3f9915 move variables out of init.sh to others
1182 * 848159fa0eb lib.sh: rename vendor_checksum
1183 * 1de77c6558c lib.sh: move singletree() to git.sh
1184 * 703fe444312 lib.sh: move cbfs() to rom.sh
1185 * b57952e90d2 re-split include/init.sh to lib.sh
1186 * 8ecb62c6628 rename include/lib.sh to init.sh
1187 * ce4381169fa lib.sh: introduce more top-down function order
1188 * 15b64cfebe8 mk/git.sh: remove tree_depend variable
1189 * 9b8179c0e5d git.sh: remove unused xgcc linking feature
1190 * 4624c6e536c mk: remove unused variables (ser/xp)
1191 * aba5b3a3532 mk: simplify main()
1192 * 0ab7c6ff9cf lib.sh: use realpath to get sys python on venv
1193 * 8edea026c58 lib.sh: Force use of System Python to prevent hang
1194 * b1b964fa5c3 lib.sh: further condense the python check
1195 * 9543a325acb lib.sh: further simplify the python check
1196 * 9baabed7186 lib.sh: condense the python check
1197 * 0c5c5ffc873 lib.sh: simplify mk()
1198 * 83022b6ba83 lib.sh: simplify cbfs()
1199 * 13ad839691d lib.sh: simplify the python check
1200 * b1ea4165754 mk: remove mkhelp() and use x_() instead
1201 * 4cf64e59ed0 mk: simplify handling of trees()
1202 * d0581914c74 coreboot/hp8300cmt: purge xhci_overcurrent_mapping
1203 * cb52fc4ba82 Fix VBT path on HP Elite desktops
1204 * 2bee87cfc26 lib.sh: add missing copyright year
1205 * 4b7ab403c65 ifd/q45t_am: unlock regions by default
1206 * 564155277ea coreboot/g43t_am3: use ifd-based setup
1207 * 0ddd1963751 coreboot/q45t_am3: use ifd-based setup
1208 * 3b2d933842a coreboot/default: add missing submodules
1209 * a10d81399c7 NEW MAINBOARD: Acer Q45T-AM (G43T-AM3 variant)
1210 * d114e0a765c mk: don't print confirmation of git pkg.cfg
1211 * f59c24f12aa coreboot/g43t_am3: fix data.vbt path
1212 * 21020fa319a add missing config/data/coreboot/0
1213 * 2b4629d790b Merge pull request 'lib.sh: Fix python3 detection when 'python' is python2' (#290) from alpernebbi/lbmk:python3-detection-fix into master
1214 |\
1215 | * a18d287a81e lib.sh: Fix python3 detection when 'python' is python2
1216 |/
1217 * c7569a67145 coreboot/next: merge with coreboot/default
1218 * 762c7ff43eb coreboot/default: Update, c247f62749b (8 Feb 2025)
1219 * 86e7aa80c51 Update the GRUB revisions
1220 * 8d57bf6009e Revert "git.sh: minor cleanup"
1221 * a2898771f6e lib.sh: perform root check even earlier
1222 * 779f6003421 lib.sh: tidy up opening logic (put it together)
1223 * bac4be99c20 lib.sh: do root check before python check
1224 * e63d8dd20d9 git.sh: minor cleanup
1225 * 11078508a25 lib.sh: simplify mktarball()
1226 * 087bbedc5f8 vendor.sh: tidy up vendor_download()
1227 * e11fd52d958 mk: tidy up check_gnu_path()
1228 * 3442f4278ed mk: simplify check_project_hashes()
1229 * 6b6a0fa607c lib.sh: fix missing s/TMPDIR/xbmktmp
1230 * e07a2adb130 lbmk: don't handle TMPDIR directly
1231 * 9d3b52cd1d2 rom.sh: minor cleanup
1232 * b4402c54258 vendor.sh: yet even more code cleanup
1233 * fe5bdc7633d vendor.sh: even more cleanup
1234 * fcedb17a9a1 vendor.sh: more cleanup
1235 * 4e2b59ed3ff vendor.sh: minor cleanup
1236 * a3acf4c3f95 vendor.sh: simplify process_release_roms
1237 * 30213a96883 vendor.sh: remove unnecessary check
1238 * 38df7275f12 git.sh: remove unnecessary comment
1239 * f5891fb6991 git.sh: remove link_crossgcc()
1240 * a685654b90f git.sh: remove move_repo()
1241 * e4aa62f79a8 git.sh: remove prep_submodule()
1242 * 2839feb9e43 git.sh: make git_prep command clearer
1243 * 410fa702c9c mrc.sh: Make proper use of variable inside printf
1244 * 075902c3ea7 simplify a few file checks
1245 * b2255425eba rom.sh: remove unnecessary check
1246 * 39640d76a75 lbmk: minor cleanup
1247 * c8dc701f3eb lib.sh mktarball: stricter tar error handling
1248 * 58a53d7046f vendor.sh: don't err on bruteforce me extract
1249 * 958fa34832a mk check_project_hashes: handle error on sha512sum
1250 * 8b4b069e3f6 vendor.sh: remove unnecessary xchanged="y"
1251 * 166dbb04c92 vendor.sh: set need_files="n" if skipping patch
1252 * e90657cc734 vendor.sh: Don't handle vendor files if not needed
1253 * 2e10a45fa36 Revert "lib.sh: use eval for the command in x_"
1254 * 738d4bb6b6d lib.sh: fix bad eval writing resized file
1255 * eb9e5d2d5d4 lib.sh: fix bad eval writing version/versiondate
1256 * 3bfdecdc75b lib.sh: use eval for the command in x_
1257 * 4fa3bb9e5b1 mk: use eval to run mkhelp commands
1258 * 9b3635718a8 mk: tidy up the switch/case block in main()
1259 * 0c381028abc mk: tidier error handling
1260 * 023f9cf0498 lib.sh: tidy up the error handling
1261 * cb3253befb9 rom.sh: tidy up error handling
1262 * 7af46721bcb vendor.sh: tidy up error handling
1263 * 04ebb3b91a0 vendor.sh: tidy up decat_fspfd()
1264 * 0c87fdf96ad git.sh: clean up fetch_project()
1265 * 9eb8856b3c5 mk: Remove unnecessary argument checks on trees()
1266 * 52f3d54116f vendor.sh: properly call err_ in fail_inject
1267 * c4c6692b761 remove xbmk_parent, handle forking in lib.sh
1268 * fd5431db05d lib.sh: define x_ right after err_
1269 * 972681a127b mk: minor cleanup
1270 * b41cd39b686 lib.sh: minor cleanup
1271 * 49939502648 mrc.sh: minor cleanup
1272 * c158d82298b rom.sh: minor cleanup
1273 * cb36248c8c0 vendor.sh: tidy up check_release()
1274 * 409cab39c56 vendor.sh: tidy up vendor_inject()
1275 * 12b1623e473 vendor.sh: tidy up readcfg()
1276 * 0d85f061e2e vendor.sh: tidy up patch_release_roms()
1277 * 61f20141028 vendor.sh: tidy up process_release_roms()
1278 * 5901f36e49d vendor.sh: tidy up patch_rom()
1279 * 082930ce0e7 vendor.sh: tidy up inject()
1280 * e1f91f30372 vendor.sh: tidy up modify_mac_addresses()
1281 * 3181ac50126 script/trees: merge with mk and delete script/
1282 * 3d03dd1a507 mk: remove the legacy "roms" command
1283 * f0c629dcc6c lib.sh: write version/versiondate to dotfiles
1284 * 23b942c83e9 lib.sh: hardcode projectname/projectsite
1285 * a03bb793aea remove update/vendor symlinks
1286 * d7f80ebe71e move build to mk
1287 * 57d58527fd0 trees: unify the execution of mkhelper commands
1288 * e5262da4be7 trees: tidy up configure_project()
1289 * 51798278397 build: make coreboot building an else in "roms"
1290 * c189257888a trees: don't build dependencies if dry=":"
1291 * 115a66fddd3 trees: unified handling of flags
1292 * 3ea633cc791 trees: simplified handling of badhash/do_make
1293 * 9be40e94a2b trees: don't set mode on ./mk -b
1294 * 67ad7c2635c trees: don't set mod on ./mk -d
1295 * 24448948419 trees: don't initialise mode to "all"
1296 * 97c50a39a60 trees: clean up some comments
1297 * cfb14fd8dd8 vendor.sh: simplified readkconfig()
1298 * 5b697b93a2d lib.sh: double-quote pwd to prevent globbing
1299 * 5a0a24f5559 lbmk: unified PWD handling (work directory)
1300 * a25a29cfbb7 lib.sh: initialise PATH if it's unset
1301 * 1022abf6991 move XBMKPATH to include/lib.sh
1302 * 0764c969a29 lbmk: use pwd util, not PWD environmental variable
1303 * f98b9b01107 clean up a few semicolons in the build system
1304 * 8ccb61cc718 trees: err if first argument is not a flag
1305 * 947c3e1a176 trees: err if no argument given
1306 * edbbde0b12d trees: set dry=":" on ./mk -f
1307 * 33bb0ecf764 trees: clean up initialisation of the dry variable
1308 * c7636ff1dfc trees: initialise mode to "all", not ""
1309 * d0bd12631a6 trees: don't abuse the mode variable on -f
1310 * c4cd876c609 trees: Add missing flag to error output
1311 * 5ebcae5235f lbmk: minor code formatting cleanup
1312 * 70cef71dbab grub/xhci: Remove unused patch
1313 * 3f14a470a2e remove _fsp targets (keep _vfsp)
1314 * d7312260e7e util/nvmutil: remove excessive comments
1315 * e348ea0381a Bump GRUB revision to add 73 security patches
1316 * 4b228c11f9f Merge pull request 'Update pico-serprog revision' (#271) from Riku_V/lbmk:master into master
1317 |\
1318 | * a8359e30b27 Update pico-serprog revision
1319 |/
1320 * d2cb954933b util/nvmutil: Fix bad error messages on R/W
1321 * e1e515bd22a util/nvmutil: hardened pledge on help output
1322 * ada057a865c Merge pull request 'Simplify the README' (#269) from runxiyu/lbmk:readme-simplification into master
1323 |\
1324 | * 9ced146b47c README.md: Use newlines instead of bulleted list for docs/support links
1325 | * 266122592cd README.md: Use the EFF's page on Right to Repair
1326 | * e36aa8c5a5c README.md: Vastly simplify it
1327 | * c17f4381ce5 README.md: Mention SeaBIOS and U-Boot instead of Tianocore as payloads
1328 |/
1329 * 47eb049cb47 Merge pull request 'deps/arch: genisoimage belongs to cdrtools' (#267) from runxiyu/lbmk:master into master
1330 |\
1331 | * fa9a0df2458 deps/arch: genisoimage belongs to cdrtools
1332 |/
1333 * a98490573be util/nvmutil: only set mac_updated at the end
1334 * 6b9cf09ca21 restore old x230 gbe file
1335 * 8a435355135 util/nvmutil: Fix bad comparison
1336 * a65a0c2f963 util/nvmutil: allow ./nvm gbe MAC
1337 * 96356ce94f6 util/nvmutil: move "e" to swap()
1338 * b1d8975959d util/nvmutil: Only read up to 4KB on larger gbe
1339 * 6821659bcb2 util/nvmutil: fix minor mistake (line break)
1340 * 3bb7520f6d9 util/nvmutil: do setmac if only filename given
1341 * d94b274fd9f vendor.sh: don't error if grep -v fails
1342 * 6ebdd3c72ba vendor.sh: Don't show gbe filename on inject
1343 * a08748a9eda util/nvmutil: don't say write not needed if errno
1344 * 6841a351ebc util/nvmutil: print dump *after* modification
1345 * da0a6c216cf util/nvmutil: verbosely print the written MAC
1346 * db5879c6b5a util/nvmutil: minor cleanup in cmd_dump
1347 * bd7215d1eb7 util/nvmutil: show nvm words written on writeGbe
1348 * c70117c79c4 util/nvmutil: clean up readonly check on writeGbe
1349 * cf5a63e65ca util/nvmutil: Remove useless gbeFileChanged var
1350 * 83601aa524b util/nvmutil: reset errno if any MAC updated
1351 * 3e86bf5ce25 util/nvmutil: reset errno when writing a MAC
1352 * bcf53cc2cc0 util/nvmutil: show total number of bytes read
1353 * c91cc329cf8 util/nvmutil: rename tbw/bw to tnw/nw
1354 * 90607108330 util/nvmutil: err if bytes read lower than nf
1355 * c72f699d368 util/nvmutil: err if fewer bytes written
1356 * d666f67ebe5 util/nvmutil: Show bytes written in writeGbe
1357 * b2d6393ed5f util/nvmutil swap(): ensure that no overflow occurs
1358 * 063fef14d34 util/nvmutil: make swap() a bit clearer
1359 * fd1bbdc96cb util/nvmutil: make 0x3f checksum position a define
1360 * 5ddf7f251d6 util/nvmutil: make 128 (nvm area) a define
1361 * 8850acc7da6 util/nvmutil swap(): Only handle the nvm area
1362 * 49506a88328 util/nvmutil: move write checks to writeGbe
1363 * 948377b0e7e util/nvmutil: make cmd_swap its own function again
1364 * 6e134c9f4bf util/nvmutil: minor cleanup
1365 * 98e105ac4f1 util/nvmutil: allocate less memory for setchecksum
1366 * 52e8ea57f7b util/nvmutil: Further reduce memory usage
1367 * 7a7d356824e util/nvmutil: Remove unnecessary buf16 variable
1368 * cdf23975bc1 util/nvmutil: Only allocate needed memory for file
1369 * ed45da9cae5 util/nvmutil: Remove unnecessary buffer
1370 * ec3148dc3b5 util/nvmutil: Show specific error for bad cmd argc
1371 * 073420d3056 util/nvmutil: cleaner argument handling
1372 * a6c18734e70 util/nvmutil: extreme pledge/unveil hardening
1373 * deb307eaf63 util/nvmutil: more minor cleanup
1374 * c14eccaf153 util/nvmutil: more granular MAC parsing errors
1375 * 88fb9cc90ea util/nvmutil: more cleanup
1376 * 5aaf27f80c3 remove errant comment in nvmutil
1377 * c829b45c17c util/nvmutil: support 16kb and 128kb gbe files
1378 * a98ca5bf65c util/nvmutil: Prevent unveil allowing dir access
1379 * 68c32034a00 typo: nvme should say nvm in nvmutil.c
1380 * c944c2bbac7 util/nvmutil: General code cleanup
1381 * 8c65e64e398 snip
1382 * f666652fe15 snip
1383 * 64d3c7b5150 grub/xhci: Add xHCI non-root-hub fixes from Nitrokey
1384 * 7bf0d4c2ed5 add gnults-devel to fedora 41 dependencies
1385 * 66d084e7f7c grub.cfg: scan luks *inside lvm*
1386 * 5a3b0dab966 grub.cfg: Scan *every* LVM device
1387 * 3c9f4be76f6 Libreboot 20241206, 8th revision
1388 * d4cc94d6b44 rom.sh: don't run mkpicotool on dry builds
1389 * de6d2f556f1 pico-sdk: Import picotool as a dependency
1390 * 4210ee68ea2 lib.sh: Much safer python version check
1391 * 8c7ba6131cc coreboot/next uprev: Fix T480 backlight keys
1392 * 411fb697dfc set up python in PATH, ensuring that it is python3
1393 * e8336bcc3ca vendor.sh: Proper semantics on prefix file names
1394 * 63f45782638 vendor.sh: Confirm if need_files=n
1395 * 13b06ae130f vendor.sh: Allow restoring the default GbE file
1396 * ab8feff92e0 vendor.sh: set random MAC address *by default*
1397 * 0ceaa01d45d vendor.sh: add clarification to nogbe warning
1398 * 4d5caf1dcfc vendor.sh: check that the vcfg file exists
1399 * fc4ee88e167 vendor.sh: error out if nuking failed
1400 * 8819a93d89b add line break, part 3
1401 * 8ce1a00f517 add line break, part 2
1402 * bc2c14e76a8 add line break
1403 * c762850311a vendor.sh: prevent double-nuke
1404 * 68299ad05ca vendor.sh: much more verbose errors/confirmation
1405 * b8e6d12f3d9 add libx86 to arch dependencies
1406 * cf8ad497b4e vendor.sh: Remove unnecessary return
1407 * c858099b359 vendor.sh: Download utils even if vcfg unset
1408 * ce16856a242 vendor.sh: Allow setmac if vendorfiles not needed
1409 * 4b51787d078 add less to arch dependencies
1410 * 8bd028ec153 lib.sh: Set python after dependencies
1411 * 44b6df7c24c update my copyright years on modified scripts
1412 * 818f3d630c2 vendor.sh: Don't error if vcfg is unset
1413 * 432a1a5bca7 lib.sh: Fix unescaped quotes in chkvars()
1414 * a73b0fd910a Revert "fix more unescaped quotes in eval"
1415 * ec6bcc1fba5 fix more unescaped quotes in eval
1416 * 5284f20b981 fix ./mk dependencies build issue
1417 * d825f9a9683 rom.sh: Remove errant GRUB modules check
1418 * 4149f3dc81a submodule/grub: use codeberg for 1st gnulib mirror
1419 * 0305975e705 util/nvmutil: Update AUTHORS and COPYING files
1420 * 20b192e13bd util/nvmutil: Describe nvmutil in help output
1421 * d1ca21628cb util/nvmutil: Remove the correct binary on uninstall
1422 * e63fe256dfc util/spkmodem-recv: More correct Makefile
1423 * efd50ee548b util/nvmutil: Honour the INSTALL variable
1424 * 8008838abbc util/nvmutil: Don't clean when doing uninstall
1425 * 982f257f58a util/nvmutil: Proper DESTDIR/PREFIX handling
1426 * 3f85ae5f853 util/nvmutil: Set CC and CFLAGS only if unset
1427 * 2c7b9fb9412 util/nvmutil: Capitalise BABA
1428 * 57f9906f6d1 util/nvmutil: Add uninstall to Makefile
1429 * 4defe2c6085 util/nvmutil: Add distclean to Makefile
1430 * 033e4cd9d50 util/nvmutil: Make the GbE checksum a define
1431 * 874317c4e59 util/nvmutil: nicer hexdump display
1432 * a338e585eed util/nvmutil: show the correct hexdump order
1433 * b032e483ef1 lib.sh mktarball: cleaner if statement
1434 * 0cf58c22734 fix lbmk shellcheck errors
1435 * 8276560cc99 lib.sh and rom.sh: update my header
1436 * 08e86d2218c vendor.sh inject: reset err upon return
1437 * 41275d699ca vendor.sh: MUCH, MUCH, MUCH safer ./mk inject
1438 * ed7293494e3 util/nvmutil: Obey the 79-character per line limit
1439 * 637b5e36fd2 util/nvmutil: Tidy up copyright header
1440 * cd28db883e2 vendor.sh: fix comment
1441 * 57971ceb227 util/nvmutil: Fix another straggler
1442 * 15b37b2a1ab util/nvmutil: Tidy up pledge calls
1443 * e8799310db2 hp820g2: fix vendorfile inject and set release=y
1444 * f9ab082ec19 fedora41/dependencies: add libuuid-devel
1445 * 661591f9f0b add uuid-devel to fedora41 dependencies
1446 * 1a46c047386 support ./mk dependencies fedora reinstall
1447 * d58d63569f1 fix missing semicolon in grub nvme patch
1448 * 95ea3293df5 bump seabios to rev 1602647f1 (7 November 2024)
1449 * 6d7e6c361b3 Bump GRUB revision to 6811f6f09 (26 November 2024)
1450 * 09a01477df6 t480/3050micro: force power off post power failure
1451 * d344cd95eac flashprog: Disable -Werror
1452 * dc95e912bfe bump flashprog to revision eb2c041 (14 Nov 2024)
1453 * 27c8c1c16ba replace liblz4-tool with lz4 and liblz4-dev
1454 * d3a732a64db lib.sh dependencies: support --reinstall argument
1455 * 466ada423dd move xbmkpath to XBMK_CACHE/
1456 * b0a23840327 Revert "Remove legacy update/vendor commands"
1457 * 3d7dd4aa9fe Fix U-Boot build issue with Swig 4.3.0
1458 * 0c810747469 use command -v instead of which
1459 * 6c7e3ce2d6e trees: remove unnecessary subshell
1460 * ad137eae89d trees: only symlink host gcc/gnat to build xgcc
1461 * cfb6de94c33 trees: correction on check_gnu_path
1462 * ec2f0716662 trees: match gcc/gnat versions both ways
1463 * f64b5996279 Merge path.sh into script/trees
1464 * 295463d281e path.sh: Further cleanup
1465 * 5b24e0a5a96 path.sh: More thorough gcc/gnat version check
1466 * 7849a075886 path.sh: minor cleanup
1467 * 17168a87dbf path.sh: remove unnecessary shebang
1468 * e565df94fd7 Fix globbing issue in lbmk
1469 * c80cc0a00b6 remove auto-confirm on distro dependencies
1470 * 01fc65a0a9d Mitigate Debian Trixie/Sid GCC/GNAT version mismatch
1471 * 424b0c7103b t480/3050micro: disable hyperthreading
1472 * 603105f3b4e t480/t480s: Disable TPM2 to mitigate SeaBIOS lag
1473 * 754bd1e6ca3 rom.sh: Name pico directory serprog_pico
1474 * db22308eba5 add 2024 to Riku's copyright header on rom.sh
1475 * 4fa5f696db8 Merge pull request 'rp2530' (#258) from Riku_V/lbmk:rp2530 into master
1476 |\
1477 | * a5e0360992d pico-sdk: update to 2.1.0
1478 | * e2f8cc7f3ee pico-serprog: enable building for multiple pico chips
1479 |/
1480 * ccc2b4d589f add spdx headers to dependencies configs
1481 * a3969701e6b dependencies/debian: fix debian sid
1482 * 8f370cb60d9 add spdx headers to various config files
1483 * d591ea4c5dc git.sh: don't initialise livepull globally
1484 * b5da9feba3b vendor.sh: Print useful message on ./mk inject
1485 * 12c6259cb2f vendor.sh: Handle FSP insertion post-release
1486 * 78132051462 Remove legacy update/vendor commands
1487 * 07037561bd6 lbmk: remove use of deprecated ./vendor command
1488 * 5d1f1823067 vendor.sh: Safer exit when vendorfiles not needed
1489 * a18175a5df9 data/deguard: Remove unused patch
1490 * ee8f53b96ff lib.sh: Safer exit from ./mk dependencies
1491 * a8b35c88cf1 remove geteltorito and mtools from lbmk
1492 * 1dd32ea5487 rom.sh: support grub-first setups
1493 * f7801ef4770 vendor.sh: delete old tb.bin first, just in case
1494 * 02cbf8a729d vendor.sh: make TBFW pad size configurable
1495 * 9884e5ed1b0 T480/T480S: Support fetching ThunderBolt firmware
1496 * 36b42dd1c11 also de-rainbow the u-boot menu
1497 * eafc82028a4 Revert "use rainbow deer on the grub background"
1498 * 44969c73bd2 rom.sh: insert grub background in cbfs not memdisk
1499 * 401efb24b22 use rainbow deer on the grub background
1500 * dc27cb91784 add some scripts to .gitignore
1501 * 3b6b283eabe disable 3050micro nvme hotplug
1502 * c2023921893 fix t480 spd size (512, not 256)
1503 * da527459b68 add tarballs and signatures to gitignore
1504 * b910424b5df fix another very stupid mistake
1505 * e3b77b132e6 fix the stupidest bug ever
868 1506 ``` ```
869 1507
1508 This is about 650 changes.
1509
870 1510 Revision releases Revision releases
871 1511 ----------------- -----------------
872 1512
 
... ... is *rev1*.
881 1521 No revisions, thus far. The original 25.06 release is the current revision, so No revisions, thus far. The original 25.06 release is the current revision, so
882 1522 it could be considered *rev0* (revision zero). it could be considered *rev0* (revision zero).
883 1523
1524 Build testing
1525 -------------
1526
1527 This release was built on the latest Debian 12.10 Bookworm release, as of
1528 this day. It was also build-tested successfully on the latest Arch Linux updates
1529 as of 26 June 2025.
884 1530
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/libreboot/lbwww

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/libreboot/lbwww

Clone this repository using git:
git clone git://git.rocketgit.com/user/libreboot/lbwww

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main