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)
Libreboot 25.04 release 47c993cba483ff23a4c7b866c6cedcc905e9a2bd Leah Rowe 2025-04-30 11:03:42
20241206rev11 notes 68f4ff8a0fb9d50fbe781ef00d75932fff5813dc Leah Rowe 2025-04-20 23:55:44
docs/linux: Update regarding Fedora "sixteenbit" 9c86f0c89a55d352da4038f53cb118420ad5acad Leah Rowe 2025-04-17 00:30:33
hp8460p vendor manual added 9ce0dc2889ede3ca2c48122bdf4e926b14771f53 Ronanand0 2025-04-08 09:24:29
hp9470m Vendor manual update a52ebef53bc4fdc34ac62012e05973bb52183cb8 Ronanand0 2025-04-08 09:20:51
hp8470p spec. link update be35d8c0e1ae62f76f5c2f1c1eaf23f24caef5ea Ronanand0 2025-04-08 09:13:04
Update site/docs/install/hp8560w.md 0a83f8fc42d9fd9193375bc9a306a0b994f801dd Ronanand0 2025-04-08 09:05:09
Link for vendor manual 6bbbf9fe085eb5e3cf7cc6f9019dcbb9b0d750e8 Ronanand0 2025-04-08 09:04:11
spec link update c73745f6486fc966a4f1f4ccabbae570f2cc3cc0 Ronanand0 2025-04-08 08:45:44
hp820g2 tpm2 upgrade + spec. site update 086765046d83b48fc503666800802fa37357e4fa Ronanand0 2025-04-08 08:38:19
remove _fsp references in the documentation dbf5ec3ebf49c81c9055d8587eee0d5476059258 Leah Rowe 2025-04-01 11:21:11
Add uboot instructions for installing Trisquel Aramo 067aa382163435faf042664290a7a1c67c04fc3d arielenter 2025-03-30 21:59:26
Add uboot instructions for installing Trisquel Aramo b38fb3356061cf7a28a7a02b67da41ec4cd4d145 arielenter 2025-03-30 21:55:27
fix maintain page typos 1e4efd903e07795a2c8c96cf111eccbaca95c0e3 justinschuldt 2025-03-14 07:00:13
Turkish translations for couple of pages. 198b3c6d20f5219a26adbbec4e6a889e1b4180c4 can kurttekin 2025-03-09 12:33:51
MA472LL/A tested and working 5109958992afd8ffd94ca84a1803943abbb9af01 Skylar "The Cobra" Astaroth 2025-03-05 14:28:46
update revnotes on the home page 5589d09492117b8cdf26c8aa3bcbeec254e0b932 Leah Rowe 2025-02-28 08:48:25
fix date 380d78a68ebb70c99d0115705c6984a4d06c3018 Leah Rowe 2025-02-20 09:16:42
20241206rev10 release announcement 7d5145149283fa0b5ecfb5ebb60f5da1adeb938b Leah Rowe 2025-02-20 08:58:54
add t480 errata regarding the microphone 2095c95771395f616d141e77fd19f7393cd2f276 Leah Rowe 2025-02-19 23:32:24
Commit 47c993cba483ff23a4c7b866c6cedcc905e9a2bd - Libreboot 25.04 release
Signed-off-by: Leah Rowe <leah@libreboot.org>
Author: Leah Rowe
Author date (UTC): 2025-04-30 11:03
Committer name: Leah Rowe
Committer date (UTC): 2025-04-30 11:18
Parent(s): 68f4ff8a0fb9d50fbe781ef00d75932fff5813dc
Signer:
Signing key:
Signing status: N
Tree: ed2b3c5706b84a55c91f2433e0a8090790a100de
File Lines added Lines deleted
site/docs/install/spi.md 8 2
site/docs/maintain/index.md 128 135
site/download.md 4 4
site/download.tr.md 5 5
site/download.uk.md 5 5
site/index.de.md 3 3
site/index.fr.md 2 2
site/index.it.md 2 2
site/index.md 3 5
site/index.ru.md 1 1
site/index.tr.md 4 4
site/index.uk.md 2 2
site/index.zh-cn.md 1 1
site/news/MANIFEST 1 0
site/news/libreboot2504.md 791 0
site/news/libreboot2504.md.description 1 1
File site/docs/install/spi.md changed (mode: 100644) (index a6b8e09..5303dea)
... ... Raspberry Pi Pico
102 102
103 103 ### RP2040/RP2530 both supported ### RP2040/RP2530 both supported
104 104
105 **Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8
106 or higher. Releases before this only supported the original Pico, and other
105 NOTE: RP2530 dongles removed in the Libreboot 25.04 testing release, but will
106 be re-added in future revisions. It was removed due to bugs, so Libreboot only
107 supports Pico1 for now, and the Pico2 images were also removed from the December
108 release of 2024, retroactively. Subsequent revisions will once again re-add
109 Pico 2 support, after it has been better tested.
110
111 **Pico 2 and other RP2530 dongles also supported, on Libreboot 20241206 rev8,
112 but experimental. Releases before this only supported the original Pico, and other
107 113 RP2040 dongles; newer Libreboot releases now support both RP2040 and RP2530.** RP2040 dongles; newer Libreboot releases now support both RP2040 and RP2530.**
108 114
109 115 The pinout on Raspberry Pi Pico and Raspberry Pi Pico 2 are identical, but you The pinout on Raspberry Pi Pico and Raspberry Pi Pico 2 are identical, but you
File site/docs/maintain/index.md changed (mode: 100644) (index 1acc220..229b7c6)
... ... instead, because nproc is not available on every operating system.
170 170
171 171 ### XBMK\_RELEASE ### XBMK\_RELEASE
172 172
173 If set to `y`, it signals to `script/roms` that a release is being built,
173 If set to `y`, it signals that a release is being built,
174 174 and it will honour `release="n"` in target.cfg files. You could also set this and it will honour `release="n"` in target.cfg files. You could also set this
175 175 yourself when doing regular builds, if you wanted to test how `./mk -b coreboot` yourself when doing regular builds, if you wanted to test how `./mk -b coreboot`
176 176 behaves running it in release mode. Do this if you want to: behaves running it in release mode. Do this if you want to:
 
... ... and it can successfully boot UEFI applications on x86 Libreboot systems.
518 518 Please also visit: <https://github.com/LongSoft/UEFITool> Please also visit: <https://github.com/LongSoft/UEFITool>
519 519
520 520 This is compiled, so as to provide `UEFIExtract`. Currently used by the This is compiled, so as to provide `UEFIExtract`. Currently used by the
521 vendor download logic within `include/vendor.sh`, to download SCH5545 EC
521 vendor download logic within `include/inject.sh`, to download SCH5545 EC
522 522 firmware (used for fan control on Dell Precision T1650). firmware (used for fan control on Dell Precision T1650).
523 523
524 524 This has also been modified to build reliably on non-glibc-based systems e.g. This has also been modified to build reliably on non-glibc-based systems e.g.
 
... ... posix shell scripts) that constitute the entire Libreboot build system, lbmk:
1330 1330 Scripts in root directory of lbmk Scripts in root directory of lbmk
1331 1331 --------------------------------- ---------------------------------
1332 1332
1333 ### build
1333 ### mk
1334 1334
1335 1335 This is the main build script. This is the main build script.
1336 1336
 
... ... Example commands:
1339 1339 ./mk -b coreboot ./mk -b coreboot
1340 1340 ./mk ./mk
1341 1341
1342 Special commands available (not provided by files under `script/`):
1342 Special commands available:
1343 1343
1344 1344 ./mk release ./mk release
1345 1345 ./mk inject ./mk inject
 
... ... You can also know what build system revision you have by running:
1353 1353
1354 1354 This script is the beating heart of Libreboot. Break it and you break Libreboot. This script is the beating heart of Libreboot. Break it and you break Libreboot.
1355 1355
1356 It *also* handles simple git trees, where there is only one revision for the
1357 project, e.g. GRUB, and the command syntax is the same. Whether a project is
1358 multi-tree or single-tree is determined by the presence of the
1359 file `config/PROJECT/build.list` - if it exists, it's multi-tree, otherwise
1360 single-tree.
1361
1362 It *also*, in addition to downloading from git, can handle modification or
1363 updating of defconfig files. As already stated, and stated further: it is
1364 Libreboot's other beating heart. Break this, and you break Libreboot.
1365
1366 For multi-tree projects, it handles the following files (PROJECT can
1367 be `coreboot`, `seabios` or `u-boot`):
1368
1369 * `config/PROJECT/build.list` (defines what files to copy, after building for
1370 the target)
1371 * `config/PROJECT/*/target.cfg` (lbmk build parameters, project project/target)
1372 * `config/PROJECT/*/config/*` (defconfig files)
1373
1374 For single-tree projects, these files are used:
1375
1376 * `config/git/` - files are concatenated and then scanned, to find project info.
1377
1378 NOTE: For multi-tree projects, `config/git` is still used, to download the
1379 upstream repository to `src/PROJECT/PROJECT` but with git revision being `HEAD`.
1380 In this way, you always have the latest code, but revisions defined
1381 in `config/PROJECT/TARGET/target.cfg` will define a tree,
1382 then `config/PROJECT/TREE/target.cfg` (which could be the same as `TARGET`,
1383 but this is not the preferred style in lbmk) will define a revision; then,
1384 the directory `src/PROJECT/TREE` will be created, reset to the specific
1385 revision - for multi-tree projects, all defined targets are scanned for their
1386 corresponding tree, and the trees are prepared as defined above.
1387
1388 Basic command: `./mk FLAG projectname`
1389
1390 Special operation: for building coreboot utilities `cbfstool` and `ifdtool` to
1391 go under `cbutils/`, do this:
1392
1393 ./mk -d coreboot TREENAME
1394
1395 Or define specific coreboot tree such as:
1396
1397 ./mk -d coreboot default
1398 ./mk -d coreboot cros
1399
1400 FLAG values are (only *one* to be used at a time):
1401
1402 * `-b` builds an image for the target, based on defconfig for multi-tree
1403 projects, or based only on a Makefile for single-tree projects; on some
1404 single-tree projects, this script also handles *cmake*.
1405 * `-u` runs `make oldconfig` on the target's corresponding source tree, using
1406 its defconfig (useful for automatically updating configs, when updating trees
1407 like when adding patches or switching git revisions)
1408 * `-m` runs `make menuconfig` on the target's corresponding source tree, using
1409 its defconfig (useful for modifying configs, e.g. changing CBFS size on
1410 a coreboot image)
1411 * `-c` tries `make distclean`, deferring to `make clean` under fault
1412 conditions and from that, non-zero exit under fault conditions. This is done
1413 on the target's corresponding source tree.
1414 * `-x` tries 'make crossgcc-clean`. This only works on coreboot trees, but no
1415 error status will be returned on exit if you try it on other project trees; no
1416 action will be performed.
1417 * `-f` downloads the Git repository for the given project, and resets to a
1418 revision as defined under `config/git/`, or (for multi-tree projects), the
1419 file `config/PROJECT/TREE/target.cfg` to create `src/project/treename`.
1420
1421 As for *projectname", this can either be `coreboot`, `u-boot` or `seabios`.
1422
1423 Example commands:
1424
1425 ./mk -b coreboot
1426 ./mk -b coreboot x200_8mb
1427 ./mk -b coreboot x230_12mb x220_8mb t1650_12mb
1428 ./mk -x coreboot default
1429 ./mk -u seabios
1430 ./mk -m u-boot gru_bob
1431 ./mk -f coreboot
1432 ./mk -d coreboot default
1433 ./mk -d coreboot
1434
1435 NOTE: the `-x` and `-c` options will cause an exit with zero status, when
1436 the target's corresponding source tree is unavailable; a non-zero status is
1437 only return under fault conditions when said source tree is *available*. ALL
1438 other flags will cause the very same source tree to be downloaded and prepared,
1439 if unavailable and *that* too will return with non-zero status under fault
1440 conditions.
1441
1442 NOTE: "target" can indeed be the tree name, under some circumstances. For
1443 example, `./mk -m seabios default`
1444
1445 After `projectname`, a target can be specified, but if no target is specified,
1446 then *all* targets will be operated on. For
1447 example, `./mk -b coreboot` will attempt to build *all*
1448 coreboot ROM images.
1449
1450 NOTE: the `coreboot` projectname here shall cause the ROM images to go
1451 under `elf/` - this is the no-payload ROM images, which are later used
1452 separately by `script/build/roms` to provide full images, with
1453 payloads inserted. It is an intentional design choice of Libreboot, to split
1454 it up this way and *not* use coreboot's own build system to handle payloads.
1455
1456 In lbmk, there are *two* types of git download: *simple* downloads where only
1457 a single revision would ever be used, or *multi* downloads where different
1458 revisions are used depending on target.
1459
1460 All such downloads are *simple* downloads, except for coreboot, U-Boot and
1461 SeaBIOS which are *multi* downloads. The *other* requirement is that defconfigs
1462 be used, though this could be worked around in the future if a *multi* setup is
1463 needed on a project that *does not use defconfigs* (this is not yet the case in
1464 lbmk).
1465
1466 All of this used to about 20 different scripts, all with much-duplicated logic.
1467 Now it is unified, efficiently, under a single script.
1468
1469 Remember: code equals bugs, so less code equals fewer bugs.
1470
1356 1471 include/ include/
1357 1472 -------- --------
1358 1473
 
... ... command in `bash`, but we rely upon posix `sh` only).
1363 1478 ### include/git.sh ### include/git.sh
1364 1479
1365 1480 These functions in here previously existed as independent scripts, but they These functions in here previously existed as independent scripts, but they
1366 were unified here, and they are used when you pass the `-f` argument
1367 to `script/update/trees` (e.g. `./mk -f coreboot`).
1481 were unified here, and they are used when you pass the `-f` argument to `mk`.
1368 1482
1369 1483 These functions deal with git cloning, submodule updates, revision resets and These functions deal with git cloning, submodule updates, revision resets and
1370 1484 the application of patch files via `git am`. *Every* git repository downloaded the application of patch files via `git am`. *Every* git repository downloaded
 
... ... by lbmk is handled by the functions in this file.
1373 1487 ### include/mrc.sh ### include/mrc.sh
1374 1488
1375 1489 This was previously a separate script. The download logic was removed, and This was previously a separate script. The download logic was removed, and
1376 now the logic under `include/vendor.sh` is used for downloads. This file now
1490 now the logic under `include/inject.sh` is used for downloads. This file now
1377 1491 only contains those functions used for extraction of MRC files from Google only contains those functions used for extraction of MRC files from Google
1378 1492 Chromebook images, currently only used for Haswell motherboards. Chromebook images, currently only used for Haswell motherboards.
1379 1493
1380 This is an include, used by `include/vendor.sh`, but it's here in
1494 This is an include, used by `include/inject.sh`, but it's here in
1381 1495 this file because the vendor download script is GPLv3-only, while the MRC this file because the vendor download script is GPLv3-only, while the MRC
1382 1496 extract logic in this file is GPLv2-only (forked from coreboot ages ago). Thus, extract logic in this file is GPLv2-only (forked from coreboot ages ago). Thus,
1383 1497 it is provided as an include to bypass license incompatibility. It has been it is provided as an include to bypass license incompatibility. It has been
1384 1498 heavily modified to use the same style of logic and general control flow used heavily modified to use the same style of logic and general control flow used
1385 in the script at `include/vendor.sh`, and it is used from there.
1499 in the script at `include/inject.sh`, and it is used from there.
1386 1500
1387 ### include/lib.sh
1501 ### include/lib.sh and init.sh
1502
1503 The `init.sh` file contains generic lbmk initialisation, and extra library
1504 functions are contained inside `lib.sh`.
1388 1505
1389 1506 Several other parts of lbmk also use this file. It is added to as little as Several other parts of lbmk also use this file. It is added to as little as
1390 1507 possible, and contains miscallaneous functions that don't belong anywhere else. possible, and contains miscallaneous functions that don't belong anywhere else.
 
... ... Example command: `./mk -b stm32-vserprog`
1492 1609 This also uses `rom.sh` as with the coreboot image build logic. It's all This also uses `rom.sh` as with the coreboot image build logic. It's all
1493 1610 defined in that file, so read the main section pertaining to this file. defined in that file, so read the main section pertaining to this file.
1494 1611
1495 ### include/vendor.sh
1612 ### include/inject.sh
1496 1613
1497 1614 Helper functions for downloading and injecting vendor files. How to use: Helper functions for downloading and injecting vendor files. How to use:
1498 1615
 
... ... Helper functions for downloading and injecting vendor files. How to use:
1501 1618
1502 1619 Refer elsewhere in the documentation for how to handle vendor files, and/or Refer elsewhere in the documentation for how to handle vendor files, and/or
1503 1620 read [the guide](../install/ivy_has_common.md). read [the guide](../install/ivy_has_common.md).
1504
1505 script/
1506 -------
1507
1508 ### script/trees
1509
1510 *This* is the other beating heart of Libreboot. Used heavily by Libreboot, this
1511 script is what handles defconfig files for SeaBIOS, U-Boot *and* coreboot; it
1512 used to be separate scripts, but the logic was unified under this single script.
1513
1514 It *also* handles simple git trees, where there is only one revision for the
1515 project, e.g. GRUB, and the command syntax is the same. Whether a project is
1516 multi-tree or single-tree is determined by the presence of the
1517 file `config/PROJECT/build.list` - if it exists, it's multi-tree, otherwise
1518 single-tree.
1519
1520 It *also*, in addition to downloading from git, can handle modification or
1521 updating of defconfig files. As already stated, and stated further: it is
1522 Libreboot's other beating heart. Break this, and you break Libreboot.
1523
1524 For multi-tree projects, it handles the following files (PROJECT can
1525 be `coreboot`, `seabios` or `u-boot`):
1526
1527 * `config/PROJECT/build.list` (defines what files to copy, after building for
1528 the target)
1529 * `config/PROJECT/*/target.cfg` (lbmk build parameters, project project/target)
1530 * `config/PROJECT/*/config/*` (defconfig files)
1531
1532 For single-tree projects, these files are used:
1533
1534 * `config/git/` - files are concatenated and then scanned, to find project info.
1535
1536 NOTE: For multi-tree projects, `config/git` is still used, to download the
1537 upstream repository to `src/PROJECT/PROJECT` but with git revision being `HEAD`.
1538 In this way, you always have the latest code, but revisions defined
1539 in `config/PROJECT/TARGET/target.cfg` will define a tree,
1540 then `config/PROJECT/TREE/target.cfg` (which could be the same as `TARGET`,
1541 but this is not the preferred style in lbmk) will define a revision; then,
1542 the directory `src/PROJECT/TREE` will be created, reset to the specific
1543 revision - for multi-tree projects, all defined targets are scanned for their
1544 corresponding tree, and the trees are prepared as defined above.
1545
1546 Basic command: `./mk FLAG projectname`
1547
1548 Special operation: for building coreboot utilities `cbfstool` and `ifdtool` to
1549 go under `cbutils/`, do this:
1550
1551 ./mk -d coreboot TREENAME
1552
1553 Or define specific coreboot tree such as:
1554
1555 ./mk -d coreboot default
1556 ./mk -d coreboot cros
1557
1558 FLAG values are (only *one* to be used at a time):
1559
1560 * `-b` builds an image for the target, based on defconfig for multi-tree
1561 projects, or based only on a Makefile for single-tree projects; on some
1562 single-tree projects, this script also handles *cmake*.
1563 * `-u` runs `make oldconfig` on the target's corresponding source tree, using
1564 its defconfig (useful for automatically updating configs, when updating trees
1565 like when adding patches or switching git revisions)
1566 * `-m` runs `make menuconfig` on the target's corresponding source tree, using
1567 its defconfig (useful for modifying configs, e.g. changing CBFS size on
1568 a coreboot image)
1569 * `-c` tries `make distclean`, deferring to `make clean` under fault
1570 conditions and from that, non-zero exit under fault conditions. This is done
1571 on the target's corresponding source tree.
1572 * `-x` tries 'make crossgcc-clean`. This only works on coreboot trees, but no
1573 error status will be returned on exit if you try it on other project trees; no
1574 action will be performed.
1575 * `-f` downloads the Git repository for the given project, and resets to a
1576 revision as defined under `config/git/`, or (for multi-tree projects), the
1577 file `config/PROJECT/TREE/target.cfg` to create `src/project/treename`.
1578
1579 As for *projectname", this can either be `coreboot`, `u-boot` or `seabios`.
1580
1581 Example commands:
1582
1583 ./mk -b coreboot
1584 ./mk -b coreboot x200_8mb
1585 ./mk -b coreboot x230_12mb x220_8mb t1650_12mb
1586 ./mk -x coreboot default
1587 ./mk -u seabios
1588 ./mk -m u-boot gru_bob
1589 ./mk -f coreboot
1590 ./mk -d coreboot default
1591 ./mk -d coreboot
1592
1593 NOTE: the `-x` and `-c` options will cause an exit with zero status, when
1594 the target's corresponding source tree is unavailable; a non-zero status is
1595 only return under fault conditions when said source tree is *available*. ALL
1596 other flags will cause the very same source tree to be downloaded and prepared,
1597 if unavailable and *that* too will return with non-zero status under fault
1598 conditions.
1599
1600 NOTE: "target" can indeed be the tree name, under some circumstances. For
1601 example, `./mk -m seabios default`
1602
1603 After `projectname`, a target can be specified, but if no target is specified,
1604 then *all* targets will be operated on. For
1605 example, `./mk -b coreboot` will attempt to build *all*
1606 coreboot ROM images.
1607
1608 NOTE: the `coreboot` projectname here shall cause the ROM images to go
1609 under `elf/` - this is the no-payload ROM images, which are later used
1610 separately by `script/build/roms` to provide full images, with
1611 payloads inserted. It is an intentional design choice of Libreboot, to split
1612 it up this way and *not* use coreboot's own build system to handle payloads.
1613
1614 In lbmk, there are *two* types of git download: *simple* downloads where only
1615 a single revision would ever be used, or *multi* downloads where different
1616 revisions are used depending on target.
1617
1618 All such downloads are *simple* downloads, except for coreboot, U-Boot and
1619 SeaBIOS which are *multi* downloads. The *other* requirement is that defconfigs
1620 be used, though this could be worked around in the future if a *multi* setup is
1621 needed on a project that *does not use defconfigs* (this is not yet the case in
1622 lbmk).
1623
1624 All of this used to about 20 different scripts, all with much-duplicated logic.
1625 Now it is unified, efficiently, under a single script.
1626
1627 Remember: code equals bugs, so less code equals fewer bugs.
File site/download.md changed (mode: 100644) (index f1af170..635b527)
... ... there, before flashing. For posterity,
33 33 GPG signing key GPG signing key
34 34 --------------- ---------------
35 35
36 **The latest release is Libreboot 20241206, under the `stable` directory.**
36 **The latest release is Libreboot 25.04, under the `testing` directory.**
37 37
38 38 ### NEW KEY ### NEW KEY
39 39
 
... ... there is a Git repository that you can download from. Go here:
85 85 HTTPS mirrors {#https} HTTPS mirrors {#https}
86 86 ------------- -------------
87 87
88 **The latest release is Libreboot 20241206, under the `stable` directory.**
88 **The latest release is Libreboot 25.04, under the `testing` directory.**
89 89
90 90 These mirrors are recommended, since they use TLS (https://) encryption. These mirrors are recommended, since they use TLS (https://) encryption.
91 91
 
... ... crontab. This page tells you how to use crontab:
176 176 HTTP mirrors {#http} HTTP mirrors {#http}
177 177 ------------ ------------
178 178
179 **The latest release is Libreboot 20241206, under the `stable` directory.**
179 **The latest release is Libreboot 25.04, under the `testing` directory.**
180 180
181 181 WARNING: these mirrors are non-HTTPS which means that they are WARNING: these mirrors are non-HTTPS which means that they are
182 182 unencrypted. Your traffic could be subject to interference by unencrypted. Your traffic could be subject to interference by
 
... ... if using HTTPS.
190 190 FTP mirrors {#ftp} FTP mirrors {#ftp}
191 191 ----------- -----------
192 192
193 **The latest release is Libreboot 20241206, under the `stable` directory.**
193 **The latest release is Libreboot 25.04, under the `testing` directory.**
194 194
195 195 WARNING: FTP is also unencrypted, like HTTP. The same risks are present. WARNING: FTP is also unencrypted, like HTTP. The same risks are present.
196 196
File site/download.tr.md changed (mode: 100644) (index e688586..3cad1dc)
... ... takip edin. Hatırlatma olarak, [işte bağlantı tekrar burada](docs/install/iv
24 24 GPG İmza Anahtarı GPG İmza Anahtarı
25 25 ---------------- ----------------
26 26
27 **En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.**
27 **En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.**
28 28
29 29 ### YENİ ANAHTAR ### YENİ ANAHTAR
30 30
 
... ... Ancak, Libreboot'un en güncel sürümü için indirebileceğiniz bir Git deposu
69 69 HTTPS Yansıları {#https} HTTPS Yansıları {#https}
70 70 -------------- --------------
71 71
72 **En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.**
72 **En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.**
73 73
74 74 Bu yansılar TLS (https://) şifrelemesi kullandığı için önerilir. Bu yansılar TLS (https://) şifrelemesi kullandığı için önerilir.
75 75
 
... ... Rsync yansınızı düzenli olarak güncel tutmak istiyorsanız, bir crontab'a e
146 146 HTTP Yansıları {#http} HTTP Yansıları {#http}
147 147 ------------- -------------
148 148
149 **En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.**
149 **En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.**
150 150
151 151 UYARI: bu yansılar HTTPS olmadığı için şifrelenmemiştir. Trafiğiniz UYARI: bu yansılar HTTPS olmadığı için şifrelenmemiştir. Trafiğiniz
152 152 kötü niyetli kişiler tarafından müdahaleye uğrayabilir. Doğru anahtara sahip olduğunuzu kötü niyetli kişiler tarafından müdahaleye uğrayabilir. Doğru anahtara sahip olduğunuzu
 
... ... HTTPS kullansanız bile bunu yapmalısınız.
159 159 FTP Yansıları {#ftp} FTP Yansıları {#ftp}
160 160 ------------ ------------
161 161
162 **En son sürüm, `stable` dizini altındaki Libreboot 20241206'dır.**
162 **En son sürüm, `testing` dizini altındaki Libreboot 25.04'dır.**
163 163
164 164 UYARI: FTP de HTTP gibi şifrelenmemiştir. Aynı riskler mevcuttur. UYARI: FTP de HTTP gibi şifrelenmemiştir. Aynı riskler mevcuttur.
165 165
 
... ... GPL v2'ye uymak için, Libreboot projesi tarafından kaynak ISO'lar sağlanır.
176 176
177 177 20160907 sürümünden sonraki Libreboot sürümleri statik olarak bağlanmış ikili dosyalar dağıtmaz. Bunun yerine, bu sürümler normal Libreboot kaynak kodu arşivlerinin yeterli olduğu önceden derlenmiş ROM imajları dışında yalnızca kaynak içerir. Bu yeni sürümler bunun yerine derleme bağımlılıklarının kurulumunu otomatikleştirir ve çeşitli yardımcı programları kaynak koddan derlemek için belgelerde talimatlar sunar. 20160907 sürümünden sonraki Libreboot sürümleri statik olarak bağlanmış ikili dosyalar dağıtmaz. Bunun yerine, bu sürümler normal Libreboot kaynak kodu arşivlerinin yeterli olduğu önceden derlenmiş ROM imajları dışında yalnızca kaynak içerir. Bu yeni sürümler bunun yerine derleme bağımlılıklarının kurulumunu otomatikleştirir ve çeşitli yardımcı programları kaynak koddan derlemek için belgelerde talimatlar sunar.
178 178
179 Bu yürütülebilir dosyalar `flashprog` gibi yardımcı programlardır.
179 Bu yürütülebilir dosyalar `flashprog` gibi yardımcı programlardır.
File site/download.uk.md changed (mode: 100644) (index 7d55784..9352e4f)
... ... there, before flashing. For posterity,
33 33 Код підпису GPG Код підпису GPG
34 34 --------------- ---------------
35 35
36 **Останнім випуском є Libreboot 20241206, в директорії `stable`.**
36 **Останнім випуском є Libreboot 25.04, в директорії `testing`.**
37 37
38 38 ### НОВИЙ КЛЮЧ ### НОВИЙ КЛЮЧ
39 39
 
... ... will expire on 26 December 2028.
52 52 Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856` Повний відбиток ключа: `98CC DDF8 E560 47F4 75C0 44BD D0C6 2464 FA8B 4856`
53 53
54 54 This key is for Libreboot releases *after* the 20160907 release, and up This key is for Libreboot releases *after* the 20160907 release, and up
55 to the Libreboot 20241206 release. This key *expired* during December 2023,
55 to the Libreboot 25.04 release. This key *expired* during December 2023,
56 56 so you should use the *newer* key (see above) for the releases after so you should use the *newer* key (see above) for the releases after
57 57 Libreboot 20240126. Libreboot 20240126.
58 58
 
... ... Libreboot 20240126.
85 85 Дзеркала HTTPS {#https} Дзеркала HTTPS {#https}
86 86 ------------- -------------
87 87
88 **Останнім випуском є Libreboot 20241206, в директорії `stable`.**
88 **Останнім випуском є Libreboot 25.04, в директорії `testing`.**
89 89
90 90 Дані дзеркала є рекомендованими, оскільки використовують TLS (https://) шифрування. Дані дзеркала є рекомендованими, оскільки використовують TLS (https://) шифрування.
91 91
 
... ... crontab. Ця сторінка розповідає вам, як викорис
176 176 Дзеркала HTTP {#http} Дзеркала HTTP {#http}
177 177 ------------ ------------
178 178
179 **Останнім випуском є Libreboot 20241206, під директорією `stable`.**
179 **Останнім випуском є Libreboot 25.04, під директорією `testing`.**
180 180
181 181 УВАГА: ці дзеркала є не-HTTPS, що означає, що вони УВАГА: ці дзеркала є не-HTTPS, що означає, що вони
182 182 незашифровані. Ваш трафік може бути об'єктом втручання незашифровані. Ваш трафік може бути об'єктом втручання
 
... ... crontab. Ця сторінка розповідає вам, як викорис
190 190 Дзеркала FTP {#ftp} Дзеркала FTP {#ftp}
191 191 ----------- -----------
192 192
193 **Останнім випуском є Libreboot 20241206, під директорією `stable`.**
193 **Останнім випуском є Libreboot 25.04, під директорією `testing`.**
194 194
195 195 УВАГА: FTP є також незашифрованим, подібно HTTP. Ті ж самі ризики присутні. УВАГА: FTP є також незашифрованим, подібно HTTP. Ті ж самі ризики присутні.
196 196
File site/index.de.md changed (mode: 100644) (index 139f540..6919c53)
... ... depends on your preferences. Libreboot's design incorporates all of these boot
27 27 methods in a single image, so you can choose which one you use at boot time, methods in a single image, so you can choose which one you use at boot time,
28 28 and more payloads (e.g. Linux kexec payload) are planned for future releases. and more payloads (e.g. Linux kexec payload) are planned for future releases.
29 29
30 **NEUESTE VERSION: Die neueste Version von Libreboot ist 20241206, veröffentlicht
31 am 6 December 2024.
32 Siehe auch: [Libreboot 20241206 release announcement](news/libreboot20241206.md).**
30 **NEUESTE VERSION: Die neueste Version von Libreboot ist 25.04, veröffentlicht
31 am 30 April 2025.
32 Siehe auch: [Libreboot 25.04 release announcement](news/libreboot2504.md).**
33 33
34 34 You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd,
35 35 on select hardware, as well as send your compatible hardware on select hardware, as well as send your compatible hardware
File site/index.fr.md changed (mode: 100644) (index 4ab6977..3f59410)
... ... depends on your preferences. Libreboot's design incorporates all of these boot
20 20 methods in a single image, so you can choose which one you use at boot time, methods in a single image, so you can choose which one you use at boot time,
21 21 and more payloads (e.g. Linux kexec payload) are planned for future releases. and more payloads (e.g. Linux kexec payload) are planned for future releases.
22 22
23 **NOUVELLE VERSION: La dernière version est [Libreboot 20241206](news/Libreboot20241206.md), sortie
24 le 6 December 2024.**
23 **NOUVELLE VERSION: La dernière version est [Libreboot 25.04](news/libreboot2504.md), sortie
24 le 30 April 2025.**
25 25
26 26 Vous pouvez également acheter du matériel avec [Libreboot pré-installé](https://minifree.org/) via l'entreprise Minifree Ltd, Vous pouvez également acheter du matériel avec [Libreboot pré-installé](https://minifree.org/) via l'entreprise Minifree Ltd,
27 27 ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree.org/product/installation-service/). ou envoyer votre propre ordinateur [pour y installer Libreboot](https://minifree.org/product/installation-service/).
File site/index.it.md changed (mode: 100644) (index 072018f..d693e93)
... ... depends on your preferences. Libreboot's design incorporates all of these boot
26 26 methods in a single image, so you can choose which one you use at boot time, methods in a single image, so you can choose which one you use at boot time,
27 27 and more payloads (e.g. Linux kexec payload) are planned for future releases. and more payloads (e.g. Linux kexec payload) are planned for future releases.
28 28
29 **ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 20241206, rilasciato il 6 December 2024.
30 Vedi: [Libreboot 20241206 annuncio di rilascio](news/libreboot20241206.md).**
29 **ULTIMO RILASCIO: L'ultimo rilascio e' Libreboot 25.04, rilasciato il 30 April 2025.
30 Vedi: [Libreboot 25.04 annuncio di rilascio](news/libreboot2504.md).**
31 31
32 32 You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd,
33 33 on select hardware, as well as send your compatible hardware on select hardware, as well as send your compatible hardware
File site/index.md changed (mode: 100644) (index b5cbb4d..0f102e9)
... ... on some boards. The x86, x86\_64 and arm64 U-Boot payloads provide a lightweight
25 25 UEFI boot implementation. Libreboot's [design](docs/maintain/) incorporates all UEFI boot implementation. Libreboot's [design](docs/maintain/) incorporates all
26 26 of these payloads in a single image, and you choose one at boot time. of these payloads in a single image, and you choose one at boot time.
27 27
28 **NEW RELEASE: The latest release is Libreboot 20241206, released on
29 6 December 2024.
30 See: [Libreboot 20241206 release announcement](news/libreboot20241206.md) - the
31 newest revision release, Libreboot 20241206 revision 11, is from 20
32 April 2025.**
28 **NEW RELEASE: The latest release is Libreboot 25.04, released on
29 30 April 2025.
30 See: [Libreboot 25.04 release announcement](news/libreboot2504.md).
33 31
34 32 You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd,
35 33 on select hardware, as well as send your compatible hardware on select hardware, as well as send your compatible hardware
File site/index.ru.md changed (mode: 100644) (index 0407781..64a1bd0)
... ... depends on your preferences. Libreboot's design incorporates all of these boot
19 19 methods in a single image, so you can choose which one you use at boot time, methods in a single image, so you can choose which one you use at boot time,
20 20 and more payloads (e.g. Linux kexec payload) are planned for future releases. and more payloads (e.g. Linux kexec payload) are planned for future releases.
21 21
22 **НОВЫЙ РЕЛИЗ: Последний релиз Libreboot - 20241206, опубликован 6 December 2024 года. Смотрите: [Libreboot 20241206 release announcment](news/libreboot20241206.md).**
22 **НОВЫЙ РЕЛИЗ: Последний релиз Libreboot - 25.04, опубликован 30 April 2025 года. Смотрите: [Libreboot 25.04 release announcment](news/libreboot2504.md).**
23 23
24 24 Вы также можете купить [Libreboot предустановленным](https://minifree.org) от Minifree Ltd, а также присылать нам свои совместимые устройства для [установки Libreboot](https://minifree.org/product/installation-service/). Основатель и ведущий разработчик Libreboot, Лия Роу, также владеет и управляет Minifree; продажи обеспечивают финансирование для Libreboot. Вы также можете купить [Libreboot предустановленным](https://minifree.org) от Minifree Ltd, а также присылать нам свои совместимые устройства для [установки Libreboot](https://minifree.org/product/installation-service/). Основатель и ведущий разработчик Libreboot, Лия Роу, также владеет и управляет Minifree; продажи обеспечивают финансирование для Libreboot.
25 25
File site/index.tr.md changed (mode: 100644) (index aa5e774..4098655)
... ... x-toc-enable: true
9 9
10 10 Libreboot, x86/x86_64 Intel/AMD anakartlarda GNU önyükleyici "[GRUB](docs/linux/)" ve SeaBIOS yüklerini, ARM64(Aarch64) anakartlarda ise *coreboot için* [U-Boot UEFI yükünü](docs/uboot/) sağlar. Bazı kartlarda [x86/x86_64 U-Boot UEFI yükü](docs/uboot/uboot-x86.md) de mevcuttur. x86, x86_64 ve arm64 U-Boot yükleri hafif bir UEFI önyükleme uygulaması sağlar. Libreboot'un [tasarımı](docs/maintain/) tüm bu yükleri tek bir imajda birleştirir ve önyükleme sırasında birini seçersiniz. Libreboot, x86/x86_64 Intel/AMD anakartlarda GNU önyükleyici "[GRUB](docs/linux/)" ve SeaBIOS yüklerini, ARM64(Aarch64) anakartlarda ise *coreboot için* [U-Boot UEFI yükünü](docs/uboot/) sağlar. Bazı kartlarda [x86/x86_64 U-Boot UEFI yükü](docs/uboot/uboot-x86.md) de mevcuttur. x86, x86_64 ve arm64 U-Boot yükleri hafif bir UEFI önyükleme uygulaması sağlar. Libreboot'un [tasarımı](docs/maintain/) tüm bu yükleri tek bir imajda birleştirir ve önyükleme sırasında birini seçersiniz.
11 11
12 **YENİ SÜRÜM: En son sürüm 6 Aralık 2024'te yayınlanan Libreboot 20241206'dır.
13 Bakınız: [Libreboot 20241206 sürüm duyurusu](news/libreboot20241206.md) - en
14 yeni revizyon sürümü olan Libreboot 20241206 revizyon 10, 18 Şubat 2025 tarihlidir.**
12 **YENİ SÜRÜM: En son sürüm 4 April 2025'te yayınlanan Libreboot 25.04'dır.
13 Bakınız: [Libreboot 25.04 sürüm duyurusu](news/libreboot2504.md) - en
14 yeni revizyon sürümü olan Libreboot 25.04 revizyon 10, 18 Şubat 2025 tarihlidir.**
15 15
16 16 Ayrıca Minifree Ltd'den seçili donanımlarda [Libreboot önyüklenmiş cihazlar satın alabilir](https://minifree.org/) veya uyumlu donanımınızı [Libreboot önyükleme hizmeti](https://minifree.org/product/installation-service/) için gönderebilirsiniz. Libreboot'un kurucusu ve baş geliştiricisi Leah Rowe aynı zamanda Minifree'yi de işletmektedir; satışlar Libreboot için finansman sağlamaktadır. Ayrıca Minifree Ltd'den seçili donanımlarda [Libreboot önyüklenmiş cihazlar satın alabilir](https://minifree.org/) veya uyumlu donanımınızı [Libreboot önyükleme hizmeti](https://minifree.org/product/installation-service/) için gönderebilirsiniz. Libreboot'un kurucusu ve baş geliştiricisi Leah Rowe aynı zamanda Minifree'yi de işletmektedir; satışlar Libreboot için finansman sağlamaktadır.
17 17
 
... ... Libreboot şu anda Ukraynaca ve Fransızca çevrilmiş web sayfalarına sahiptir
82 82
83 83 [libreboot.org için çeviri nasıl gönderilir](news/translations.md) [libreboot.org için çeviri nasıl gönderilir](news/translations.md)
84 84
85 Belirli bir dilde biri zaten çalışıyor olsa bile, her zaman birden fazla kişi kullanabiliriz. Ne kadar çok o kadar iyi!
85 Belirli bir dilde biri zaten çalışıyor olsa bile, her zaman birden fazla kişi kullanabiliriz. Ne kadar çok o kadar iyi!
File site/index.uk.md changed (mode: 100644) (index 4772fae..dbe4d47)
... ... depends on your preferences. Libreboot's design incorporates all of these boot
27 27 methods in a single image, so you can choose which one you use at boot time, methods in a single image, so you can choose which one you use at boot time,
28 28 and more payloads (e.g. Linux kexec payload) are planned for future releases. and more payloads (e.g. Linux kexec payload) are planned for future releases.
29 29
30 **НОВИЙ ВИПУСК: Останній випуск Libreboot 20241206, випущено 6 December 2024.
31 Дивіться: [Оголошення про випуск Libreboot 20241206](news/libreboot20241206.md).**
30 **НОВИЙ ВИПУСК: Останній випуск Libreboot 25.04, випущено 30 April 2024.
31 Дивіться: [Оголошення про випуск Libreboot 25.04](news/libreboot2504.md).**
32 32
33 33 You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd, You can also [buy Libreboot preinstalled](https://minifree.org/) from Minifree Ltd,
34 34 on select hardware, as well as send your compatible hardware on select hardware, as well as send your compatible hardware
File site/index.zh-cn.md changed (mode: 100644) (index 31eb162..08e790e)
... ... depends on your preferences. Libreboot's design incorporates all of these boot
19 19 methods in a single image, so you can choose which one you use at boot time, methods in a single image, so you can choose which one you use at boot time,
20 20 and more payloads (e.g. Linux kexec payload) are planned for future releases. and more payloads (e.g. Linux kexec payload) are planned for future releases.
21 21
22 **新版发布: 最新版本 Libreboot 20241206 已在 2024 年 12 月 06 日发布。详见: [Libreboot 20241206 发布公告](news/libreboot20241206.md).**
22 **新版发布: 最新版本 Libreboot 25.04 已在 2025 年 04 月 30 日发布。详见: [Libreboot 25.04 发布公告](news/libreboot2504.md).**
23 23
24 24 你也可以从 Minifree Ltd [购买特定硬件的 Libreboot 电脑](https://minifree.org/), 你也可以从 Minifree Ltd [购买特定硬件的 Libreboot 电脑](https://minifree.org/),
25 25 或者将兼容硬件寄来预装 Libreboot。 或者将兼容硬件寄来预装 Libreboot。
File site/news/MANIFEST changed (mode: 100644) (index f7a1f1c..9879344)
1 libreboot2504.md
1 2 libreboot20241206rev11.md libreboot20241206rev11.md
2 3 libreboot20241206rev10.md libreboot20241206rev10.md
3 4 schedule.md schedule.md
File site/news/libreboot2504.md added (mode: 100644) (index 0000000..e7ae0de)
1 % Libreboot 25.04 "Corny Calamity" released!
2 % Leah Rowe
3 % 30 April 2025
4
5 Today's Libreboot 25.04 revision is a *testing release*, whereas the previous
6 stable release was Libreboot 20241206. The codename for this release
7 is *Corny Calamity*. This is the first release to have a codename, and it is
8 using YY.MM format for the version number for the first time. Older releases
9 used YYYYMMDD as release dates.
10
11 **[PLEASE READ THESE INSTRUCTIONS BEFORE INSTALLING](../docs/install/ivy_has_common.md), OR
12 YOU MAY BRICK YOUR MACHINE!! - Please click the link and follow the instructions
13 there, before flashing. For posterity,
14 [here is the link again](../docs/install/ivy_has_common.md).**
15
16 New schedule and version numbers
17 -------------------------------
18
19 This change in version release scheme was previously reported in the news
20 post announcing Libreboot's new [formal release schedule](schedule.md). As per
21 that article, the next stable release will be Libreboot 25.06, in June 2025.
22
23 Regarding the changelog
24 --------------------
25
26 A lot has happened since Libreboot 20241206, released in December 2024. Although
27 several revisions were made to that release in recent months, *this* new
28 release changelog is relative to the *original* December 2024 release, so some
29 of these changes were also included in 20241206 revision releases.
30
31 Open source BIOS/UEFI firmware
32 ----------------------------
33
34 <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>
35
36 Libreboot is a free/open source BIOS/UEFI replacement on x86 and ARM, providing
37 boot firmware that initialises the hardware in your computer, to then load an
38 operating system (e.g. Linux/BSD). It is specifically
39 a *[coreboot distribution](../docs/maintain/)*,
40 in the same way that Debian is a Linux distribution. It provides an automated
41 build system to produce coreboot ROM images with a variety of payloads such as
42 GRUB or SeaBIOS, with regular well-tested releases to make coreboot as easy
43 to use as possible for non-technical users. From a project management perspective,
44 this works in *exactly* the same way as a Linux distro, providing a source-based
45 package manager (called lbmk) which patches sources and compiles coreboot images.
46 It makes use of [coreboot](https://www.coreboot.org/) for hardware initialisation,
47 and then a payload such as [SeaBIOS](https://www.seabios.org/SeaBIOS)
48 or [GRUB](https://www.gnu.org/software/grub/) to boot your operating
49 system; on ARM(chromebooks) and certain x86 mainboards, we provide *U-Boot* (as
50 a coreboot payload), which provides a lightweight UEFI implementation..
51
52 <img tabindex=1 class="r" src="https://av.vimuser.org/uboot.png" /><span class="f"><img src="https://av.vimuser.org/uboot.png" /></span>
53
54 Summarised list of changes
55 -------------------------
56
57 ### Board support
58
59 The following boards have been added since the Libreboot 20241206 release:
60
61 * Acer Q45T-AM support added (similar to G43T-AM3 mainboard)
62
63 G43T-AM3 and Q45T-AM were also changed to a descriptor-based setup, with
64 full GbE region and correct 4MB ROM size, so for example ethernet should
65 work fine now.
66
67 ### Revision updates
68
69 In descending order from latest changes to earliest changes:
70
71 * Bump SeaBIOS to to rev 9029a010, 4 March 2025
72 * Updated Untitled to newer LBSSG repository.
73 * Bump flashprog to rev e060018 (1 March 2025)
74 * Bump U-Boot on ARM64 boards to U-Boot v2025.04. Patching courtesy of
75 Alper Nebi Yasak.
76 * Bump uefitool to rev a072527, 26 Apr 2025 to fix CMake compatibility issue
77 since CMake 4 no longer supports version 3.5, whereas the old uefitool had
78 an earlier version as the minimum supported. This fixed a minor build error.
79 * Merged coreboot/next with coreboot/default
80 * Bump coreboot/next to rev c247f62749b as of 20 April 2025
81 * Bump coreboot/default to rev c247f62749b as of 20 April 2025
82 * Bump GRUB to rev a4da71daf (20 April 2025)
83 * Bump flashprog to revision eb2c041 (14 Nov 2024).
84
85 The GRUB revision includes a number of critical CVE fixes, and regression
86 fixes, that were also included in Libreboot 20241206 rev11.
87
88 The NASM version was updated to version 2.16.03 on coreboot/fam15h, to prevent
89 build errors, instead of fixing the old NASM 2.14.02. Tested on Debian Sid
90 Experimental, with GCC15-based toolchain, and on Fedora 42.
91
92 PICO support: Reverted to the old pico serprog/sdk repositories used
93 in Libreboot 20240612. This is temporary, because pico2 support is currently
94 broken, so this release only has pico1 support, when dealing with Rpi Pico
95 devices. Upstream pico-serprog works fine on pico2, so this will be fixed
96 in and re-updated again in a future revision release. The pico2 update images
97 were retroactively removed from the 20241206 release on rsync.
98
99 A patch from upstream was backported to the old pico-sdk version, so that it
100 builds correctly on newer GCC15 (tested on Debian Sid with "Experimental"
101 packages enabled).
102
103 ### Licensing
104
105 * Added SPDX license headers to almost every configuration file in lbmk.
106
107 ### Security
108
109 These can be considered bug fixes, but these are special fixes that are of
110 massive concern to users.
111
112 * Merged *73* critical CVE fixes into the GNU GRUB source code, from upstream.
113 * Stricter use of pledge and unveil in the nvmutil source code.
114 * *Much* safer `./mk inject`. It used to be that the tarballs were extracted
115 and files inserted into the extracted images, but the tarballs were left
116 unmodified; many users thought then that they should extract the tarball
117 and flash that, which lead to bricks. And it was easy to flash uninjected
118 images, where files (e.g. Intel ME) are needed, so now ROM images are padded
119 by one byte, to prevent flashing, and the user is strongly reminded to
120 inject files first; upon running the `./mk inject` commands, these images
121 are then safe to flash.
122 * Fix globbing issues in lbmk by double-quoting variables everywhere, and
123 generally making sure that certain characters are escaped properly when
124 necessary. To reduce the chance of bad commands being run by mistake or
125 intentionally.
126 * Removed auto-confirm on `./mk dependencies` commands, to mitigate the risk
127 of a buggy package manager on the user's distro possibly removing many
128 packages. Now the user must confirm their choice, e.g. when a conflict
129 occurs, instead of the package manager already deciding for the user.
130 * ThinkPad T480 / OptiPlex 3050: Disable HyperThreading/SMT by default, for
131 security, to reduce the attack vector of certain speculative execution-based
132 exploits.
133
134 ### Feature changes
135
136 In descending order from latest changes to earliest changes:
137
138 * `init.sh`: More verbose error info, on non-zero exits.
139 * `util/nvmutil`: Within each 4KB part, only handle 4KB, even if the block
140 size is bigger. This means using less memory, and modification of anything
141 past 4KB is not required.
142 * `util/nvmutil`: Support 16KB and 128KB GbE files, in addition to the
143 usual 8KB files. The size is based on the block size of the flash you use.
144 * Added non-root USB3 hub support to GRUB on the xHCI implementation, courtesy
145 of a patch from Nitrokey.
146 * GRUB: Scan LUKS inside *every* LVM, to support the uncommon use case where
147 LUKS is inside LVM, instead of LVM inside LUKS. It is theoretically possible,
148 even if ill advised.
149 * GRUB: Scan *every* LVM device, where available, as a fallback at boot time
150 when all else fails.
151 * Release ROMs prefixed with a "DO NOT FLASH" warning and padded by one byte,
152 where vendor files are required. The `./mk inject` commands remove this
153 prefix/padding, after vendor files are inserted and checksums verified.
154 * Better detecting of whether vendor files are needed, and confirmation to
155 the user while running `./mk inject` commands.
156 * Allow restoring the default MAC address on `./mk inject` commands, by using
157 the `setmac restore` arguments.
158 * Randomise the MAC address by default, where applicable, when running
159 the `./mk inject` commands, because lots of users previously flashed without
160 changing it, so lots of users had generic MAC addresses.
161 The `setmac keep` argument prevents this from happening, where desired.
162 * `include/vendor.sh`: More user-friendly debug messages, for the user to
163 know what's going on.
164 * `util/nvmutil`: Add uninstall command to the Makefile
165 * `util/nvmutil`: Add distclean command to the Makefile
166 * `util/nvmutil`: Nicer hexdump display, similar to `hexdump -C`.
167 * Support a `re` argument in `./mk dependencies` Fedora commands, for
168 re-installation of packages as desired.
169 * Support `--reinstall` in the `./mk dependencies debian` command, when the
170 user wants to re-install dependencies.
171 * Put temporary `PATH` directory in the normal `XBMK_CACHE` directory, and
172 clear it whenever a new parent instance of the build system is executed.
173 This is used for the GCC/GNAT matched symlinks, for example, or the python
174 symlink created at startup.
175 * Pico 2 support briefly added, but was a bit buggy for now, so it's removed
176 in this release, and was retroactively removed in rsync for the
177 Libreboot 20241206 release; this will be re-added in a future release.
178 * Added GRUB-first payload setups as an option, but not enabled by default.
179 The user can add `payload_grubsea="y"` in the `target.cfg` file for a given
180 mainboard.
181 * Support automatically downloading Lenovo ThunderBolt firmware for the
182 ThinkPad T480, automatically padding it for installation. This update fixes
183 a charging bug that affected some earlier launch models.
184 * Insert GRUB backgrounds in CBFS instead of GRUB memdisk, which makes
185 GRUB background images easier to replace.
186
187 ### Configuration changes
188
189 In descending order from the latest changes to the earliest changes:
190
191 * T480/3050micro: Removed the `fsp` targets, because we only need
192 the `vfsp` targets.
193 * Added `gnutls-devel` to Fedora 41 dependencies.
194 * Added `libx86` to Arch dependencies, needed for the `int` utility.
195 * Added `less` to Arch dependencies, because it's needed for certain commands
196 e.g. git commands.
197 * GRUB: Use the codeberg mirror first, to mitigate GNU mirrors often being
198 slow or rate limited, e.g. for gnulib downloads.
199 * fedora41/dependencies: add libuuid-devel
200 * Added `uuid-devel` to fedora41 dependencies
201 * flashprog: Disable `-Werror` to prevent minor warnings being treated as errors.
202
203 ### Bug fixes
204
205 The following bug fixes have been merged (in descending order from the latest
206 changes to the earliest changes):
207
208 * coreboot (all trees): Added patch fixing GMP build errors on modern
209 GCC15 hostcc.
210 * coreboot (all trees): Fixed building of crossgcc with newer GCC15. Patches
211 courtesy of Alper Nebi Yasak.
212 * coreboot (all trees): Added a patch to fix building coreboot utils with
213 newer GCC15.
214 * dependencies/debian: Fixed the libusb package name for newer Debian releases,
215 courtesy of Alper Nebi Yasak.
216 * SeaBIOS: Fixed `malloc_fn` function pointers in the `romfile` patch, courtesy
217 of Alper Nebi Yasak. Fix build errors on GCC 15.
218 * `include/lib.sh`: Force use of System Python e.g. `/usr/bin/python`, when
219 a python venv is detected. This prevents the build system from hanging.
220 * coreboot `g43t_am3`: Fixed the `data.vbt` path.
221 * Alper Nebi Yasak fixed the Python 2/3 detection in some edge cases when
222 the `python` command is python2.
223 * `include/lib.sh` (later `init.sh`): Do root check *first*, right after
224 the dependencies check, whereas it previously did the python check before
225 checking for root user.
226 * lbmk: Don't use TMPDIR directly, use another variable containing its value,
227 and make sure it doesn't get changed wrongly. This reduces the possibility
228 of accidentally leaving old tmp files laying around.
229 * `include/lib.sh`: `tar` commands now return an exit with error, if a fault
230 occurs, whereas it didn't before, due to piped output. This is done
231 using the `x_` wrapper on tar commands, to provide error exits.
232 * `mk`: function `check_project_hashes` now returns an error, if the sha512sum
233 command fails. It previously didn't, due to piped outputs. It's now mitigated
234 by using `x_` on piped commands, for error exits.
235 * Forking of lbmk parent instance to child instance isno longer handled by
236 variables. It's been simplified, to only be based on whether TMPDIR is set,
237 and it's generally more robust now in this release. The old code sometimes
238 broke under certain edge cases.
239 * `include/vendor.sh` (later renaming to `inject.sh`): General code cleanup,
240 about 100 sloc removed without reducing features.
241 * lbmk: Initialise `PATH` to a standard string if not set, on the parent
242 instance of lbmk.
243 * lbmk: Use `pwd` instead of the `PWD` variable, resetting the latter safely
244 as lbmk runs. This prevents lbmk from changing directory to an erroneous
245 system path, if `PWD` wasn't properly set for some reason. This is a
246 preventative bug fix, because no actual issue ever occured in practise.
247 * Much safer Python version check at lbmk startup, using data structures that
248 are provided universally by all Python implementations, instead of
249 relying on the output of `--version`.
250 * Fixed T480 backlight controls, courtesy of a patch from Mate Kukri.
251 * Set up Python in `PATH` when lbmk starts, to ensure that it is always
252 version 3. This is checked at startup.
253 * `include/vendor.sh`: Prevent double-nuke, where a given tarball already had
254 vendor files removed prior to release.
255 * `include/vendor.sh`: Allow setting a MAC address even if vendor files aren't
256 needed.
257 * `include/vendor.sh`: Download utils even if `vcfg` is not set, in case the
258 user is also setting a MAC address.
259 * `util/nvmutil`: Honour the `INSTALL` variable, if set by the user, otherwise
260 it is set to `install` by default.
261 * `util/nvmutil`: Don't do `clean` when running `uninstall`.
262 * `util/nvmutil`: Proper DESTDIR/PREFIX handling, whereas it was not handled
263 properly at all before.
264 * `util/nvmutil`: Only set CC/CFLAGS if unset, and use sensible defaults.
265 * Fixed various shellcheck errors in lbmk.
266 * HP EliteBook 820 G2: Fixed vendor file insertion and set `release=y`. The
267 insertion of Intel MRC and refcode previously didn't pass checksum validation.
268 * ThinkPad T480 / OptiPlex 3050: Force power-off state upon recovery from
269 power loss, otherwise the system always turns on as soon as a charger is
270 plugged in. This is configured by hardcoding, due to a current lack of any
271 option table on the T480.
272 * Debian dependencies: replace liblz4-tool with lz4 and liblz4-dev. The latter
273 is also available in Debian Trixie and Sid, at this time, in addition to
274 Debian Bookworm, so it works on all of them.
275 * U-Boot (x86): Fixed a bug since Swig 4.3.0 changed the syntax for its
276 language-specific AppendOut functions. A patch from upstream was backported,
277 and the patch is also compatible with older versions of Swig.
278 * In lbmk scripts, use `command -v` instead of `which`, to find the locations
279 of certain binaries. This is a bug fix, since `which` is non-standard and
280 so could break on some setups.
281 * Crossgcc: when building it for coreboot, fix mismatching GCC/GNAT versions
282 so that they match, if multiple versions are present. This was done because
283 Debain Trixie initially had GCC 14 and GNAT 13, whereas we need GNAT to build
284 the Intel video init code on many mainboards.
285 * T480/T480: Disable TPM2 to mitigate a hang in SeaBIOS due to buggy drivers.
286 * `dependencies/debian`: Fix the `python3-distutils` package, renamed it
287 to `python3-distutils-extra`, which works on bookworm *and* newer, but the
288 former did not.
289 * `git.sh`: don't initialise the `livepull` variable globally, reset it per
290 target instead, to prevent some repositories from being wrongly re-cloned.
291 * Thinkpad T480 / Dell OptiPlex 3050: Handle FSP insertion post-release, rather
292 than providing FSP images directly in release images. It is now handled by
293 the `./mk inject` command, copying the reference image from coreboot and
294 splitting it upp and rebasing it, to mitigate certain technicalities of
295 Intel's FSP license, which otherwise permits free redistribution.
296 * Safer, more reliable exit when handling vendor files, because in some cases
297 lbmk was leaving the `lock` file in place (erroneously).
298 * Safer exit when running the `./mk dependencies` commands, so that lbmk is
299 more likely to exit, because it was theoretically possible that it might
300 not under certain edge cases.
301 * Disable nvme hotplug on Dell OptiPlex 3050 Micro, to prevent replugging in
302 Linux, which would otherwise lead to possible data corruption.
303 * T480: Fix coreboot SPD size to 512 instead of 256 (it was already
304 auto-corrected to 512 at build time, but the original configs were 256 which
305 is wrong).
306 * Add tarballs and gpg signatures to `.gitignore`
307
308 ### General code cleanup
309
310 A large audit has been conducted, removing a lot of dead code in the build
311 system and improving the code quality considerably. Not all of such cleanup
312 changes are listed, because otherwise it'd overwhelm the changelog, and many
313 of the changes alone are quite pedantic, but together make a big change. You
314 can consult the Git log if you're more interested.
315
316 A lot of bloat was removed, but a *lot* of new features, especially safety
317 features, were added, so the build system is *bigger*: lbmk has a sloccount
318 of *1507* source lines, in this release, versus 1145 in the 20241206 release.
319 However, this is with a slew of new features that are useful, including much
320 safer handling of vendor files, safer in that the risk of bricks is reduced.
321 This sloccount includes only the core shell scripts that comprise the build
322 system; there are millions of lines of code, between all the upstream sources
323 that lbmk imports, or otherwise depends on. lbmk is *[tiny](../docs/maintain/)*.
324
325 In descending order from the latest changes to the earliest changes:
326
327 * `init.sh`: Generally moralised it, moving separate tasks into separate
328 functions, rathher than having it be one big monolith.
329 * `vendor.sh` was renamed to `inject.sh`, so that future changes can be
330 in better sync between lbmk and cbmk on this file, because the cbmk version
331 has the MAC address changer (but no vendorfile handling). In the future,
332 this will be split so that `vendor.sh` exists again, containing only the
333 vendorfile handling, and `inject.sh` will only handle MAC addresses.
334 * `init.sh`: Several variables were moved out of this file and elsewwhere in
335 lbmk.
336 * Moved the `singletree` function to `git.sh` instead of `lib.sh`
337 * Moved the `cbfs` function from `lib.sh` to `rom.sh`.
338 * `include/lib.sh`: Use a more top-down function order, more clear, and it was
339 split into an extra file `init.sh` that does the most basic lbmk initialisation
340 at startup, whereas what remains in `lib.sh` really are generic library
341 functions used throughout lbmk.
342 * `include/git.sh`: Removed unused crossgcc linking feature, because we don't
343 use it anymore (coreboot trees have their own crossgcc and never link to
344 another these days). Libreboot used to have many more coreboot trees, some
345 of which re-used crossgcc from another tree. Similarly, the accompanying
346 variable `tree_depend` is no longer handled. The `xtree` variable is still
347 handled, because projects like U-Boot use that to configure crossgcc.
348 * include/vendor.sh: Removed unnecessary check against the ROM image size.
349 Generally simplified the processing of release images.
350 * include/git.sh`: Removed many redundant functions, merging several of them.
351 * `include/mrc.sh`: Fixed a bad print, making proper use of a string inside
352 a printf statement.
353 * Simplified many file checks in lbmk, by using the `e` function.
354 * Removed a bunch of useless `eval` commands in general, throughout lbmk,
355 making the code much cleaner.
356 * lbmk: the `x_` function is now used much more aggressively, for error
357 handling, simplifying error handling in lbmk overall.
358 * `mk` main script: Merged the `trees` script with it, so now it's all one
359 script. The `mk` script is now the only executable script in lbmk.
360 * `mk` (main script): The `roms` command is removed (legacy / obsolete).
361 * The version/versiondate files are now dotfiles, to hide during operation.
362 * `include/lib.sh`: Hardcoded projectname/projectsite variables, instead
363 of storing them in a file.
364 * `trees` script: Unified handling of flags (same string used in error output),
365 to ensure that error(usage) messages always match.
366 * `trees` script (later merged into `mk`): Removed a lot of old bloat.
367 * `util/nvmutil`: Make the checksum word position a define. Generally cleaned
368 up a lot of code to make it clearer for the reader. Added more verbose
369 messages to the user, confirming things such as how much was read or written
370 on the user's file system. Various miscallaneous bug fixes (edge cases that
371 were unlikely to ever be triggered).
372 * `util/nvmutil`: More efficient use of memory when handling files.
373 * `util/nvmutil`: Much cleaner handling of user input.
374 * `util/nvmutil: More granular MAC address parsing errors, easy for debugging.
375 * `util/nvmutil`: Make the Gbe Checksum a define, for readibility.
376 * `util/nvmutil`: Obey the 79-character-per-line limit, as per lbmk coding
377 style.
378 * `util/nvmutil`: Tidied up several pledge calls
379 * Removed use of several unnecessary subshells and `eval` statements in lbmk.
380 * `trees`: Later, the GCC/GNAT matching feature was rewritten to work both ways,
381 where an older GCC was matched to GNAT and vice versa, whereas it previously
382 only went one way. `gcc` and `gnat` are manipulated in `PATH` to ensure that
383 the user has a consistent version of both.
384 * `path.sh` later merged into the `trees` script (which later merged
385 into the main `mk` script). This `path.sh` is what contained the first
386 implementation of the GNAT/GCC version matching feature.
387 * `path.sh`: Remove unnecessary shebang, and the same on other `include/`
388 scripts. NOTE: `path.sh` was later merged into `lib.sh`, which then became
389 split into `init.sh` in later changes (see above).
390 * Removed legacy build system commands e.g. `./build` and `./update`; now
391 only the newer `./mk` commands are supported. This and the change below was
392 briefly reverted, for the 20241206 revisions, but then re-introduced in
393 preparation for this Libreboot 25.04 release.
394 * Removed the deprecated `./vendor` command; now only `./mk` commands are
395 used. The `./mk -d coreboot target` commands are used, for downloading
396 vendor files.
397 * Removed unused patch that was for the original deguard implementation,
398 prior to Mate Kukri's re-write of it.
399
400 Git log
401 -------
402
403 This log is relative to Libreboot 20241206:
404
405 ```
406 * 4f77125066d coreboot/fam15h: update submodule for nasm
407 * 0f2202554ab coreboot/fam15h: update nasm to 2.16.03
408 * 2009c26f0aa serprog: Remove pico2 support for the time being
409 * a08b8d94fc5 seabios: bump to rev 9029a010, 4 March 2025
410 * 342eca6f3d1 update untitled
411 * b0a6d4711a3 coreboot413: add alper's fix to cbfstool for gcc15
412 * 628ae867c9a flashprog: bump to rev e060018 (1 March 2025)
413 * 5e96db5a2b4 further gcc-15 fix for gmp on -std=23
414 * 9a9cd26b2d5 coreboot/default and fam15h: gmp fix, gcc15 hostcc
415 * 80007223c85 lib.sh: Provide printf for mktarball
416 * 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
417 |\
418 | * 685685ab0e4 coreboot: fam15h: Add patches to fix build with GCC 15 as host compiler
419 |/
420 * 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
421 |\
422 | * 5ad1de3931a coreboot: Add patch to fix build with GCC 15 as host compiler
423 |/
424 * 9e7bceb7fa9 Merge pull request 'seabios: Fix malloc_fn function pointer in romfile patch' (#313) from alpernebbi/lbmk:seabios-romfile-malloc-fptr into master
425 |\
426 | * 35c853f8b33 seabios: Fix malloc_fn function pointer in romfile patch
427 * | 686e136f150 Merge pull request 'dependencies/debian: Fix libusb package name' (#315) from alpernebbi/lbmk:debian-libusb-dependency into master
428 |\ \
429 | * | 6f120f01588 dependencies/debian: Fix libusb package name
430 | |/
431 * / d8b0e749983 init.sh: fix yet another double quote for dotfiles
432 |/
433 * 780844112ae Merge pull request 'Update U-Boot to v2025.10' (#305) from alpernebbi/lbmk:uboot-v2025.04 into master
434 |\
435 | * 1265927ca38 u-boot: gru: Disable INIT_SP_RELATIVE
436 | * 5bea1fade9a u-boot: arm64: Expand our modified defconfigs to full configs
437 | * fd56d8ada13 u-boot: arm64: Merge our modifications into new defconfigs
438 | * ed9ddd7415f u-boot: arm64: Add new upstream defconfigs
439 | * b1fa44858cb u-boot: arm64: Rebase to v2025.04
440 | * 976fc6890ae u-boot: arm64: Save our modifications to the upstream defconfigs
441 | * 418570a6172 u-boot: arm64: Turn configs into defconfigs
442 |/
443 * 093a86d9c09 init.sh: don't use eval to read version files
444 * 3045079947b init.sh: use backslash for dotfiles in eval
445 * da108d1c045 mk: Don't run mkhelpers if mode is set
446 * 71a58a38ab4 mk: condense main() again
447 * f3882b9bf21 init.sh: make git name/email error more useful
448 * 9cebda333d5 init.sh: move git name/mail check to xbmk_git_init
449 * ea081adc4ca init.sh: tidy up the git name/email check
450 * 3292bded692 mk: make main() more readable
451 * 97a5e3d15ed mk: move git check to init.sh xbmk_set_version
452 * 11cd952060d init.sh: tidy up xbmk_init()
453 * f6c5c8d396d mk: move git_init to init.sh
454 * ec1c92238cc init.sh: minor cleanup
455 * e009f09e7fa init.sh: clean up setvars
456 * 9ec72153408 init.sh setvars: make err a printf for eval
457 * 18ad654a1f7 init.sh: merge xbmk_child_init with xbmk_init
458 * 15268202478 init.sh: split xbmk_child_init into functions
459 * 0280cd4c0e7 init.sh: move parent fork to new function
460 * a0e1d42ff74 init.sh: Provide more complete error info
461 * a8f0623efbb update uefitool to rev a072527, 26 Apr 2025
462 * c698972130f rename include/vendor.sh to inject.sh
463 * 24e488aae56 lib.sh: move _ua to the xbmkget function
464 * 6779d3f9915 move variables out of init.sh to others
465 * 848159fa0eb lib.sh: rename vendor_checksum
466 * 1de77c6558c lib.sh: move singletree() to git.sh
467 * 703fe444312 lib.sh: move cbfs() to rom.sh
468 * b57952e90d2 re-split include/init.sh to lib.sh
469 * 8ecb62c6628 rename include/lib.sh to init.sh
470 * ce4381169fa lib.sh: introduce more top-down function order
471 * 15b64cfebe8 mk/git.sh: remove tree_depend variable
472 * 9b8179c0e5d git.sh: remove unused xgcc linking feature
473 * 4624c6e536c mk: remove unused variables (ser/xp)
474 * aba5b3a3532 mk: simplify main()
475 * 0ab7c6ff9cf lib.sh: use realpath to get sys python on venv
476 * 8edea026c58 lib.sh: Force use of System Python to prevent hang
477 * b1b964fa5c3 lib.sh: further condense the python check
478 * 9543a325acb lib.sh: further simplify the python check
479 * 9baabed7186 lib.sh: condense the python check
480 * 0c5c5ffc873 lib.sh: simplify mk()
481 * 83022b6ba83 lib.sh: simplify cbfs()
482 * 13ad839691d lib.sh: simplify the python check
483 * b1ea4165754 mk: remove mkhelp() and use x_() instead
484 * 4cf64e59ed0 mk: simplify handling of trees()
485 * d0581914c74 coreboot/hp8300cmt: purge xhci_overcurrent_mapping
486 * cb52fc4ba82 Fix VBT path on HP Elite desktops
487 * 2bee87cfc26 lib.sh: add missing copyright year
488 * 4b7ab403c65 ifd/q45t_am: unlock regions by default
489 * 564155277ea coreboot/g43t_am3: use ifd-based setup
490 * 0ddd1963751 coreboot/q45t_am3: use ifd-based setup
491 * 3b2d933842a coreboot/default: add missing submodules
492 * a10d81399c7 NEW MAINBOARD: Acer Q45T-AM (G43T-AM3 variant)
493 * d114e0a765c mk: don't print confirmation of git pkg.cfg
494 * f59c24f12aa coreboot/g43t_am3: fix data.vbt path
495 * 21020fa319a add missing config/data/coreboot/0
496 * 2b4629d790b Merge pull request 'lib.sh: Fix python3 detection when 'python' is python2' (#290) from alpernebbi/lbmk:python3-detection-fix into master
497 |\
498 | * a18d287a81e lib.sh: Fix python3 detection when 'python' is python2
499 |/
500 * c7569a67145 coreboot/next: merge with coreboot/default
501 * 762c7ff43eb coreboot/default: Update, c247f62749b (8 Feb 2025)
502 * 86e7aa80c51 Update the GRUB revisions
503 * 8d57bf6009e Revert "git.sh: minor cleanup"
504 * a2898771f6e lib.sh: perform root check even earlier
505 * 779f6003421 lib.sh: tidy up opening logic (put it together)
506 * bac4be99c20 lib.sh: do root check before python check
507 * e63d8dd20d9 git.sh: minor cleanup
508 * 11078508a25 lib.sh: simplify mktarball()
509 * 087bbedc5f8 vendor.sh: tidy up vendor_download()
510 * e11fd52d958 mk: tidy up check_gnu_path()
511 * 3442f4278ed mk: simplify check_project_hashes()
512 * 6b6a0fa607c lib.sh: fix missing s/TMPDIR/xbmktmp
513 * e07a2adb130 lbmk: don't handle TMPDIR directly
514 * 9d3b52cd1d2 rom.sh: minor cleanup
515 * b4402c54258 vendor.sh: yet even more code cleanup
516 * fe5bdc7633d vendor.sh: even more cleanup
517 * fcedb17a9a1 vendor.sh: more cleanup
518 * 4e2b59ed3ff vendor.sh: minor cleanup
519 * a3acf4c3f95 vendor.sh: simplify process_release_roms
520 * 30213a96883 vendor.sh: remove unnecessary check
521 * 38df7275f12 git.sh: remove unnecessary comment
522 * f5891fb6991 git.sh: remove link_crossgcc()
523 * a685654b90f git.sh: remove move_repo()
524 * e4aa62f79a8 git.sh: remove prep_submodule()
525 * 2839feb9e43 git.sh: make git_prep command clearer
526 * 410fa702c9c mrc.sh: Make proper use of variable inside printf
527 * 075902c3ea7 simplify a few file checks
528 * b2255425eba rom.sh: remove unnecessary check
529 * 39640d76a75 lbmk: minor cleanup
530 * c8dc701f3eb lib.sh mktarball: stricter tar error handling
531 * 58a53d7046f vendor.sh: don't err on bruteforce me extract
532 * 958fa34832a mk check_project_hashes: handle error on sha512sum
533 * 8b4b069e3f6 vendor.sh: remove unnecessary xchanged="y"
534 * 166dbb04c92 vendor.sh: set need_files="n" if skipping patch
535 * e90657cc734 vendor.sh: Don't handle vendor files if not needed
536 * 2e10a45fa36 Revert "lib.sh: use eval for the command in x_"
537 * 738d4bb6b6d lib.sh: fix bad eval writing resized file
538 * eb9e5d2d5d4 lib.sh: fix bad eval writing version/versiondate
539 * 3bfdecdc75b lib.sh: use eval for the command in x_
540 * 4fa3bb9e5b1 mk: use eval to run mkhelp commands
541 * 9b3635718a8 mk: tidy up the switch/case block in main()
542 * 0c381028abc mk: tidier error handling
543 * 023f9cf0498 lib.sh: tidy up the error handling
544 * cb3253befb9 rom.sh: tidy up error handling
545 * 7af46721bcb vendor.sh: tidy up error handling
546 * 04ebb3b91a0 vendor.sh: tidy up decat_fspfd()
547 * 0c87fdf96ad git.sh: clean up fetch_project()
548 * 9eb8856b3c5 mk: Remove unnecessary argument checks on trees()
549 * 52f3d54116f vendor.sh: properly call err_ in fail_inject
550 * c4c6692b761 remove xbmk_parent, handle forking in lib.sh
551 * fd5431db05d lib.sh: define x_ right after err_
552 * 972681a127b mk: minor cleanup
553 * b41cd39b686 lib.sh: minor cleanup
554 * 49939502648 mrc.sh: minor cleanup
555 * c158d82298b rom.sh: minor cleanup
556 * cb36248c8c0 vendor.sh: tidy up check_release()
557 * 409cab39c56 vendor.sh: tidy up vendor_inject()
558 * 12b1623e473 vendor.sh: tidy up readcfg()
559 * 0d85f061e2e vendor.sh: tidy up patch_release_roms()
560 * 61f20141028 vendor.sh: tidy up process_release_roms()
561 * 5901f36e49d vendor.sh: tidy up patch_rom()
562 * 082930ce0e7 vendor.sh: tidy up inject()
563 * e1f91f30372 vendor.sh: tidy up modify_mac_addresses()
564 * 3181ac50126 script/trees: merge with mk and delete script/
565 * 3d03dd1a507 mk: remove the legacy "roms" command
566 * f0c629dcc6c lib.sh: write version/versiondate to dotfiles
567 * 23b942c83e9 lib.sh: hardcode projectname/projectsite
568 * a03bb793aea remove update/vendor symlinks
569 * d7f80ebe71e move build to mk
570 * 57d58527fd0 trees: unify the execution of mkhelper commands
571 * e5262da4be7 trees: tidy up configure_project()
572 * 51798278397 build: make coreboot building an else in "roms"
573 * c189257888a trees: don't build dependencies if dry=":"
574 * 115a66fddd3 trees: unified handling of flags
575 * 3ea633cc791 trees: simplified handling of badhash/do_make
576 * 9be40e94a2b trees: don't set mode on ./mk -b
577 * 67ad7c2635c trees: don't set mod on ./mk -d
578 * 24448948419 trees: don't initialise mode to "all"
579 * 97c50a39a60 trees: clean up some comments
580 * cfb14fd8dd8 vendor.sh: simplified readkconfig()
581 * 5b697b93a2d lib.sh: double-quote pwd to prevent globbing
582 * 5a0a24f5559 lbmk: unified PWD handling (work directory)
583 * a25a29cfbb7 lib.sh: initialise PATH if it's unset
584 * 1022abf6991 move XBMKPATH to include/lib.sh
585 * 0764c969a29 lbmk: use pwd util, not PWD environmental variable
586 * f98b9b01107 clean up a few semicolons in the build system
587 * 8ccb61cc718 trees: err if first argument is not a flag
588 * 947c3e1a176 trees: err if no argument given
589 * edbbde0b12d trees: set dry=":" on ./mk -f
590 * 33bb0ecf764 trees: clean up initialisation of the dry variable
591 * c7636ff1dfc trees: initialise mode to "all", not ""
592 * d0bd12631a6 trees: don't abuse the mode variable on -f
593 * c4cd876c609 trees: Add missing flag to error output
594 * 5ebcae5235f lbmk: minor code formatting cleanup
595 * 70cef71dbab grub/xhci: Remove unused patch
596 * 3f14a470a2e remove _fsp targets (keep _vfsp)
597 * d7312260e7e util/nvmutil: remove excessive comments
598 * e348ea0381a Bump GRUB revision to add 73 security patches
599 * 4b228c11f9f Merge pull request 'Update pico-serprog revision' (#271) from Riku_V/lbmk:master into master
600 |\
601 | * a8359e30b27 Update pico-serprog revision
602 |/
603 * d2cb954933b util/nvmutil: Fix bad error messages on R/W
604 * e1e515bd22a util/nvmutil: hardened pledge on help output
605 * ada057a865c Merge pull request 'Simplify the README' (#269) from runxiyu/lbmk:readme-simplification into master
606 |\
607 | * 9ced146b47c README.md: Use newlines instead of bulleted list for docs/support links
608 | * 266122592cd README.md: Use the EFF's page on Right to Repair
609 | * e36aa8c5a5c README.md: Vastly simplify it
610 | * c17f4381ce5 README.md: Mention SeaBIOS and U-Boot instead of Tianocore as payloads
611 |/
612 * 47eb049cb47 Merge pull request 'deps/arch: genisoimage belongs to cdrtools' (#267) from runxiyu/lbmk:master into master
613 |\
614 | * fa9a0df2458 deps/arch: genisoimage belongs to cdrtools
615 |/
616 * a98490573be util/nvmutil: only set mac_updated at the end
617 * 6b9cf09ca21 restore old x230 gbe file
618 * 8a435355135 util/nvmutil: Fix bad comparison
619 * a65a0c2f963 util/nvmutil: allow ./nvm gbe MAC
620 * 96356ce94f6 util/nvmutil: move "e" to swap()
621 * b1d8975959d util/nvmutil: Only read up to 4KB on larger gbe
622 * 6821659bcb2 util/nvmutil: fix minor mistake (line break)
623 * 3bb7520f6d9 util/nvmutil: do setmac if only filename given
624 * d94b274fd9f vendor.sh: don't error if grep -v fails
625 * 6ebdd3c72ba vendor.sh: Don't show gbe filename on inject
626 * a08748a9eda util/nvmutil: don't say write not needed if errno
627 * 6841a351ebc util/nvmutil: print dump *after* modification
628 * da0a6c216cf util/nvmutil: verbosely print the written MAC
629 * db5879c6b5a util/nvmutil: minor cleanup in cmd_dump
630 * bd7215d1eb7 util/nvmutil: show nvm words written on writeGbe
631 * c70117c79c4 util/nvmutil: clean up readonly check on writeGbe
632 * cf5a63e65ca util/nvmutil: Remove useless gbeFileChanged var
633 * 83601aa524b util/nvmutil: reset errno if any MAC updated
634 * 3e86bf5ce25 util/nvmutil: reset errno when writing a MAC
635 * bcf53cc2cc0 util/nvmutil: show total number of bytes read
636 * c91cc329cf8 util/nvmutil: rename tbw/bw to tnw/nw
637 * 90607108330 util/nvmutil: err if bytes read lower than nf
638 * c72f699d368 util/nvmutil: err if fewer bytes written
639 * d666f67ebe5 util/nvmutil: Show bytes written in writeGbe
640 * b2d6393ed5f util/nvmutil swap(): ensure that no overflow occurs
641 * 063fef14d34 util/nvmutil: make swap() a bit clearer
642 * fd1bbdc96cb util/nvmutil: make 0x3f checksum position a define
643 * 5ddf7f251d6 util/nvmutil: make 128 (nvm area) a define
644 * 8850acc7da6 util/nvmutil swap(): Only handle the nvm area
645 * 49506a88328 util/nvmutil: move write checks to writeGbe
646 * 948377b0e7e util/nvmutil: make cmd_swap its own function again
647 * 6e134c9f4bf util/nvmutil: minor cleanup
648 * 98e105ac4f1 util/nvmutil: allocate less memory for setchecksum
649 * 52e8ea57f7b util/nvmutil: Further reduce memory usage
650 * 7a7d356824e util/nvmutil: Remove unnecessary buf16 variable
651 * cdf23975bc1 util/nvmutil: Only allocate needed memory for file
652 * ed45da9cae5 util/nvmutil: Remove unnecessary buffer
653 * ec3148dc3b5 util/nvmutil: Show specific error for bad cmd argc
654 * 073420d3056 util/nvmutil: cleaner argument handling
655 * a6c18734e70 util/nvmutil: extreme pledge/unveil hardening
656 * deb307eaf63 util/nvmutil: more minor cleanup
657 * c14eccaf153 util/nvmutil: more granular MAC parsing errors
658 * 88fb9cc90ea util/nvmutil: more cleanup
659 * 5aaf27f80c3 remove errant comment in nvmutil
660 * c829b45c17c util/nvmutil: support 16kb and 128kb gbe files
661 * a98ca5bf65c util/nvmutil: Prevent unveil allowing dir access
662 * 68c32034a00 typo: nvme should say nvm in nvmutil.c
663 * c944c2bbac7 util/nvmutil: General code cleanup
664 * 8c65e64e398 snip
665 * f666652fe15 snip
666 * 64d3c7b5150 grub/xhci: Add xHCI non-root-hub fixes from Nitrokey
667 * 7bf0d4c2ed5 add gnults-devel to fedora 41 dependencies
668 * 66d084e7f7c grub.cfg: scan luks *inside lvm*
669 * 5a3b0dab966 grub.cfg: Scan *every* LVM device
670 * 3c9f4be76f6 Libreboot 20241206, 8th revision
671 * d4cc94d6b44 rom.sh: don't run mkpicotool on dry builds
672 * de6d2f556f1 pico-sdk: Import picotool as a dependency
673 * 4210ee68ea2 lib.sh: Much safer python version check
674 * 8c7ba6131cc coreboot/next uprev: Fix T480 backlight keys
675 * 411fb697dfc set up python in PATH, ensuring that it is python3
676 * e8336bcc3ca vendor.sh: Proper semantics on prefix file names
677 * 63f45782638 vendor.sh: Confirm if need_files=n
678 * 13b06ae130f vendor.sh: Allow restoring the default GbE file
679 * ab8feff92e0 vendor.sh: set random MAC address *by default*
680 * 0ceaa01d45d vendor.sh: add clarification to nogbe warning
681 * 4d5caf1dcfc vendor.sh: check that the vcfg file exists
682 * fc4ee88e167 vendor.sh: error out if nuking failed
683 * 8819a93d89b add line break, part 3
684 * 8ce1a00f517 add line break, part 2
685 * bc2c14e76a8 add line break
686 * c762850311a vendor.sh: prevent double-nuke
687 * 68299ad05ca vendor.sh: much more verbose errors/confirmation
688 * b8e6d12f3d9 add libx86 to arch dependencies
689 * cf8ad497b4e vendor.sh: Remove unnecessary return
690 * c858099b359 vendor.sh: Download utils even if vcfg unset
691 * ce16856a242 vendor.sh: Allow setmac if vendorfiles not needed
692 * 4b51787d078 add less to arch dependencies
693 * 8bd028ec153 lib.sh: Set python after dependencies
694 * 44b6df7c24c update my copyright years on modified scripts
695 * 818f3d630c2 vendor.sh: Don't error if vcfg is unset
696 * 432a1a5bca7 lib.sh: Fix unescaped quotes in chkvars()
697 * a73b0fd910a Revert "fix more unescaped quotes in eval"
698 * ec6bcc1fba5 fix more unescaped quotes in eval
699 * 5284f20b981 fix ./mk dependencies build issue
700 * d825f9a9683 rom.sh: Remove errant GRUB modules check
701 * 4149f3dc81a submodule/grub: use codeberg for 1st gnulib mirror
702 * 0305975e705 util/nvmutil: Update AUTHORS and COPYING files
703 * 20b192e13bd util/nvmutil: Describe nvmutil in help output
704 * d1ca21628cb util/nvmutil: Remove the correct binary on uninstall
705 * e63fe256dfc util/spkmodem-recv: More correct Makefile
706 * efd50ee548b util/nvmutil: Honour the INSTALL variable
707 * 8008838abbc util/nvmutil: Don't clean when doing uninstall
708 * 982f257f58a util/nvmutil: Proper DESTDIR/PREFIX handling
709 * 3f85ae5f853 util/nvmutil: Set CC and CFLAGS only if unset
710 * 2c7b9fb9412 util/nvmutil: Capitalise BABA
711 * 57f9906f6d1 util/nvmutil: Add uninstall to Makefile
712 * 4defe2c6085 util/nvmutil: Add distclean to Makefile
713 * 033e4cd9d50 util/nvmutil: Make the GbE checksum a define
714 * 874317c4e59 util/nvmutil: nicer hexdump display
715 * a338e585eed util/nvmutil: show the correct hexdump order
716 * b032e483ef1 lib.sh mktarball: cleaner if statement
717 * 0cf58c22734 fix lbmk shellcheck errors
718 * 8276560cc99 lib.sh and rom.sh: update my header
719 * 08e86d2218c vendor.sh inject: reset err upon return
720 * 41275d699ca vendor.sh: MUCH, MUCH, MUCH safer ./mk inject
721 * ed7293494e3 util/nvmutil: Obey the 79-character per line limit
722 * 637b5e36fd2 util/nvmutil: Tidy up copyright header
723 * cd28db883e2 vendor.sh: fix comment
724 * 57971ceb227 util/nvmutil: Fix another straggler
725 * 15b37b2a1ab util/nvmutil: Tidy up pledge calls
726 * e8799310db2 hp820g2: fix vendorfile inject and set release=y
727 * f9ab082ec19 fedora41/dependencies: add libuuid-devel
728 * 661591f9f0b add uuid-devel to fedora41 dependencies
729 * 1a46c047386 support ./mk dependencies fedora reinstall
730 * d58d63569f1 fix missing semicolon in grub nvme patch
731 * 95ea3293df5 bump seabios to rev 1602647f1 (7 November 2024)
732 * 6d7e6c361b3 Bump GRUB revision to 6811f6f09 (26 November 2024)
733 * 09a01477df6 t480/3050micro: force power off post power failure
734 * d344cd95eac flashprog: Disable -Werror
735 * dc95e912bfe bump flashprog to revision eb2c041 (14 Nov 2024)
736 * 27c8c1c16ba replace liblz4-tool with lz4 and liblz4-dev
737 * d3a732a64db lib.sh dependencies: support --reinstall argument
738 * 466ada423dd move xbmkpath to XBMK_CACHE/
739 * b0a23840327 Revert "Remove legacy update/vendor commands"
740 * 3d7dd4aa9fe Fix U-Boot build issue with Swig 4.3.0
741 * 0c810747469 use command -v instead of which
742 * 6c7e3ce2d6e trees: remove unnecessary subshell
743 * ad137eae89d trees: only symlink host gcc/gnat to build xgcc
744 * cfb6de94c33 trees: correction on check_gnu_path
745 * ec2f0716662 trees: match gcc/gnat versions both ways
746 * f64b5996279 Merge path.sh into script/trees
747 * 295463d281e path.sh: Further cleanup
748 * 5b24e0a5a96 path.sh: More thorough gcc/gnat version check
749 * 7849a075886 path.sh: minor cleanup
750 * 17168a87dbf path.sh: remove unnecessary shebang
751 * e565df94fd7 Fix globbing issue in lbmk
752 * c80cc0a00b6 remove auto-confirm on distro dependencies
753 * 01fc65a0a9d Mitigate Debian Trixie/Sid GCC/GNAT version mismatch
754 * 424b0c7103b t480/3050micro: disable hyperthreading
755 * 603105f3b4e t480/t480s: Disable TPM2 to mitigate SeaBIOS lag
756 * 754bd1e6ca3 rom.sh: Name pico directory serprog_pico
757 * db22308eba5 add 2024 to Riku's copyright header on rom.sh
758 * 4fa5f696db8 Merge pull request 'rp2530' (#258) from Riku_V/lbmk:rp2530 into master
759 |\
760 | * a5e0360992d pico-sdk: update to 2.1.0
761 | * e2f8cc7f3ee pico-serprog: enable building for multiple pico chips
762 |/
763 * ccc2b4d589f add spdx headers to dependencies configs
764 * a3969701e6b dependencies/debian: fix debian sid
765 * 8f370cb60d9 add spdx headers to various config files
766 * d591ea4c5dc git.sh: don't initialise livepull globally
767 * b5da9feba3b vendor.sh: Print useful message on ./mk inject
768 * 12c6259cb2f vendor.sh: Handle FSP insertion post-release
769 * 78132051462 Remove legacy update/vendor commands
770 * 07037561bd6 lbmk: remove use of deprecated ./vendor command
771 * 5d1f1823067 vendor.sh: Safer exit when vendorfiles not needed
772 * a18175a5df9 data/deguard: Remove unused patch
773 * ee8f53b96ff lib.sh: Safer exit from ./mk dependencies
774 * a8b35c88cf1 remove geteltorito and mtools from lbmk
775 * 1dd32ea5487 rom.sh: support grub-first setups
776 * f7801ef4770 vendor.sh: delete old tb.bin first, just in case
777 * 02cbf8a729d vendor.sh: make TBFW pad size configurable
778 * 9884e5ed1b0 T480/T480S: Support fetching ThunderBolt firmware
779 * 36b42dd1c11 also de-rainbow the u-boot menu
780 * eafc82028a4 Revert "use rainbow deer on the grub background"
781 * 44969c73bd2 rom.sh: insert grub background in cbfs not memdisk
782 * 401efb24b22 use rainbow deer on the grub background
783 * dc27cb91784 add some scripts to .gitignore
784 * 3b6b283eabe disable 3050micro nvme hotplug
785 * c2023921893 fix t480 spd size (512, not 256)
786 * da527459b68 add tarballs and signatures to gitignore
787 * b910424b5df fix another very stupid mistake
788 * e3b77b132e6 fix the stupidest bug ever
789 ```
790
791 This is nearly *400* changes!
File site/news/libreboot2504.md.description copied from file site/news/libreboot20241206.Revisions.md.description (similarity 58%) (mode: 100644) (index 7d2350f..f79fcdf)
1 Libreboot 20241206 release revisions. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB.
1 Libreboot 25.04 release announcement. Libreboot is a free/opensource BIOS/UEFI firmware distribution with coreboot payloads such as GNU boot loader GRUB.
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