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/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! |