summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
6 daysinit.sh: simplify dependencies handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
6 daysrom.sh: tidy up copyps1bios()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
6 daysmk: tidy up xgccargs handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
6 daysmk: remove useless codeLeah Rowe
this was added a few commits ago, but the previous commit made me realise it's not needed at all. Signed-off-by: Leah Rowe <leah@libreboot.org>
6 daysinit.sh: tidy up pathdir creationLeah Rowe
we can use remkdir here. it does the same thing. Signed-off-by: Leah Rowe <leah@libreboot.org>
6 daysmk: re-make gnupath/ after handling crossgccLeah Rowe
instead of deleting every file within Signed-off-by: Leah Rowe <leah@libreboot.org>
6 daysmk: tidy up check_cross_compilerLeah Rowe
only initialise variables at the point they're needed. Signed-off-by: Leah Rowe <leah@libreboot.org>
6 daysmk: re-make gnupath/ for each cross compilerLeah Rowe
it could be that some were left over before, for some reason. that isn't currently the case, but this will avoid the possibility in future. therefore, this is a preemptive bug fix. Signed-off-by: Leah Rowe <leah@libreboot.org>
6 daysmk: reduce indentation in check_cross_compiler()Leah Rowe
we only call it in one place. the resulting code is still quite clear. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysmk: Allow use of x_ on prefix functionsLeah Rowe
Use this for the sha512sum command, on the main mk script at the function check_project_hashes(). Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysmk: tidy up check_project_hashes() sha512sum checkLeah Rowe
the extra function isn't needed at all. awk can just handle every line all at once. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysmk: simplify check_gnu_path()Leah Rowe
the initial checks are unnecessary, since i always know what arguments are being provided. the -f check in the for loop is now an -x instead, more efficient and complete. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinject.sh: minor code cleanupLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinject.sh: simplify extract_archive()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinject.sh: simplified fsp extractionLeah Rowe
we know that _dest is always what's set in the coreboot config, without the ../../../ in it, so just copy both files in a single function, and call the function twice. if both files are done on the first call, the second call will be skipped. if only the first file was done on the first call, running the download script again will skip the first one, and grab the second one. this also avoids having to run the decat function twice, in most cases, so it's a tiny optimisation. this optimisation only works if both fsp files (s and m) are to be extracted into the same directory, which is the case anyway, and this will always be the case. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinject.sh: Remove redundant code in copy_tbfwLeah Rowe
We don't use the tbtmp variable anymore, in this function. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinject.sh: Stricter TBFW handlingLeah Rowe
Don't copy it until it has been padded properly. Otherwise, erroneous padding would result in an error, and who knows what would be left in vendorfiles/ ? Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinit.sh: *Re-create* tmpdirs on parent instanceLeah Rowe
To make sure any old files are removed, always re-create. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinit.sh: Always create xbmklocalLeah Rowe
If we're in a release work directory, TMPDIR is already set, so the local ./tmp won't be created, which would lead to an error. Fix it by creating xbmklocal before checking TMPDIR. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 dayslbmk: Unified local ./tmp handlingLeah Rowe
Make it an absolute directory, relative to xbmktmp. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 dayslib.sh: redirect find errors to /dev/nullLeah Rowe
this silences confusing error messages that the user sees on the screen, that are actually benign, and it will thus reduce the number of people who ask questions on #libreboot irc Signed-off-by: Leah Rowe <leah@libreboot.org>
7 dayslib.sh: Fix bad touch commandLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinject.sh: Only build nvmutil onceLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinject.sh: always re-build nvmutilLeah Rowe
it's not a lot of code, and takes less than a second. the previous change uses x instead of ?, but this would cause an error if the nvmutil was already built, because the makefile might cause a build to be skipped. therefore, force a re-build to mitigate the error. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysutil/nvmutil: use x, not ?, for random charactersLeah Rowe
A user reported that '?' causes an error on zsh. See: https://codeberg.org/libreboot/lbmk/issues/261 For example: ./mk inject libreboot-XXXXXX.tar.xz setmac ??:??:??:??:??:?? The user got: zsh: no matches found: ??:??:??:??:??:?? The mitigation here is to double-quote, e.g.: ./mk inject libreboot-XXXXXX.tar.xz setmac "??:??:??:??:??:??" However, a lot of people won't do that. Therefore, I will retain the current behaviour but support x/X for randomness. Now lbmk uses x by default, instead. I will now update the documentation, accordingly. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 dayslib.sh find_ex: explicitly create the tmp fileLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinit.sh: Explicitly create the xbmktmp directoryLeah Rowe
mktemp would normally do it, but we must not rely on that Signed-off-by: Leah Rowe <leah@libreboot.org>
7 daysinit.sh: unified handling of ./tmpLeah Rowe
not to be confused with /tmp we use ./tmp inside the lbmk work directory, for large files, because /tmp might not be very big, or might be a tmpfs Signed-off-by: Leah Rowe <leah@libreboot.org>
7 dayslib.sh: add fe_ which is fx_ but err on findLeah Rowe
In the mk script, we need fx_ to not return errors on the find command, since it's searching a bunch of directories where some of them may not exist. All other instances where fx_ is used, must return an error if the directory being searched doesn't exist. For this, fe_() is introduced, which does the same as fx_ but with this much stricter check. Signed-off-by: Leah Rowe <leah@libreboot.org>
7 dayslbmk: unified execution on find commandsLeah Rowe
We have a lot of places in lbmk where the output of find is used, and then some function is executed on the result. This is messy, and bloats several of these functions. Now this is unified, into a new function: fx_ What fx_ does is execute a given function, for each result found, with the arguments for a find command appended. For example: find -name ".git" If you wanted to do: foo "$arg" Where "arg" is a search result from find, and you wanted to execute "foo" on each one, you would do: fx_ foo -name ".git" The find utility does have an -exec feature, but I've found that it only works for executables, not functions. fx_ does not return errors, so "foo" in this example would have to do its own error handling. Signed-off-by: Leah Rowe <leah@libreboot.org>
8 daysNEW MAINBOARD: Dell Precision T1700 SFF and MTLeah Rowe
This is similar to the 9020SFF, but this board has ECC support. However, the native raminit isn't used here, even though it is otherwise compatible, because the native init doesn't do ECC yet. The broadwell mrc.bin has ECC support, which is also used on the HP EliteBook 820 G2. The MRC for broadwell can be used on haswell boards such as the T1700. Add both the SFF and MT variants. Since these are identical to the 9020 variants, except for slightly different PCH enabling ECC, we can just re-use the 9020 port without issue. We *could* add a variant to coreboot, for T1700, but there is not really any pressing need. It is simply the 9020sff/mt with mrc.bin Signed-off-by: Leah Rowe <leah@libreboot.org>
8 daysmk: include rom.sh directlyLeah Rowe
remove it from mkhelper files, because rom.sh doesn't initialise any variables globally, except one that never changes. Signed-off-by: Leah Rowe <leah@libreboot.org>
8 daysmk: Download vendorfiles before building releaseLeah Rowe
Do it just after creating the src archive. This way, everything is downloaded all at once. Otherwise, a momentary lapse of internet uptime will cause a release build to fail later on, and one of lbmk's flaws is that this would then mean you must re-build from scratch. If we assume that the internet is working within a short period of time, then this change would mitigate that possibility. If something did happen during tar archive creation, that's a much shorter amount of time that is "wasted". Signed-off-by: Leah Rowe <leah@libreboot.org>
8 dayslib.sh: Simplify rmgit()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
8 dayslib.sh: support multiple arguments in remkdir()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
8 dayslib.sh: simplify remkdir()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
8 daysmove x_() to lib.shLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
8 daysinit.sh: move setvars/err_ to lib.shLeah Rowe
these functions make more sense in lib.sh i made mk link lib.sh first, so that the functions on init.sh can still use them. Signed-off-by: Leah Rowe <leah@libreboot.org>
9 daysRestore SeaBIOS 9029a010 update, but with AHCI fixLeah Rowe
I fixed the AHCI bug, with a patch that I wrote. It works by restoring the old SeaBIOS AHCI initialisation behaviour, whereby the AHCI controller is enabled from its current state; the patch that broke AHCI in coreboot (tested on ThinkPad T420), changed AHCI initialisation behaviour so that the controller's state is first reset, prior to enablement. However, my patch also retains the new AHCI initialisation behaviour, when a CSM is in use. The AHCI reset patch was done, by the author, specifically for SeaBIOS in CSM mode, so it makes sense to only change the behaviour conditionally according to that. This reverts commit 8245f0b3211812ac818adadd6526b0b39c63f3f0. Signed-off-by: Leah Rowe <leah@libreboot.org>
9 daysRevert "seabios: bump to rev 9029a010, 4 March 2025"Leah Rowe
This reverts commit a08b8d94fc58fa195adb0261539509d8ddaf4799. From #libreboot IRC today: 07:02 <irys> ooh this is fun. seabios commit 8863cbbd15a73b03153553c562f5b1fb939ad4d7 (ahci: add controller reset) breaks ahci entirely on t420 07:05 <irys> cbmem console on that seabios commit has a timeout then "AHCI/0: device not ready" 07:07 <irys> AHCI works fine if i change config/seabios/default/target.cfg to use the immediate previous seabios commit (df9dd418b3b0e586cb208125094620fc7f90f23d) 07:07 <irys> works in grub payload either way though 07:31 <irys> here, `cbmem -c` after booting the broken rev: https://0x0.st/84oQ.log 07:31 <irys> compared to the working one https://0x0.st/84o1.log 07:33 <irys> i can't report to upstream myself *right now* but i figure you might want to know about this leah I have downloaded those logs locally for reference, so that an upstream report can be made to SeaBIOS. For the purposes of this Libreboot commit, the diff of the logs is as follows (diff -u broken.log working.log): Taking each diff line out of the log, the relevant entries seem to be: Searching bootorder for: /pci@i0cf8/*@1f,2/drive@0/disk@0 +AHCI/0: Set transfer mode to UDMA-6 +Searching bios-geometry for: /pci@i0cf8/*@1f,2/drive@0/disk@0 +AHCI/0: registering: "AHCI/0: Netac SSD 128GB ATA-11 Hard-Disk (119 GiBytes)" -WARNING - Timeout at ahci_port_setup:477! -AHCI/0: device not ready (tf 0x80) -All threads complete. -2. Payload [memtest] +2. AHCI/0: Netac SSD 128GB ATA-11 Hard-Disk (119 GiBytes) +3. Payload [memtest] -Space available for UMB: c7000-eb800, f5880-f5ff0 -Returned 16777216 bytes of ZoneHigh +drive 0x000f5fa0: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=250069680 +Space available for UMB: c7000-eb800, f5880-f5fa0 +Returned 16773120 bytes of ZoneHigh Therefore, the revision will be reverted back for now. It was only about 8 additional patches imported in the update anyway.
9 dayscoreboot/t420_8mb: add missing txtmode configLeah Rowe
Reported by irys on #libreboot irc Signed-off-by: Leah Rowe <leah@libreboot.org>
10 daysLibreboot 25.04 Corny Calamity25.04Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
10 daysadd pico-sdk backport patch fixing gcc 14.xLeah Rowe
src/rp2_common/boot_stage2/boot2_w25x10cl.S:142: Error: junk at end of line, first unrecognized character is `0' src/rp2_common/boot_stage2/boot2_w25x10cl.S:145: Error: garbage following instruction -- `beq 00b' This should also fix it on Debian sid Experimental, where I'm testing with GCC 15 and other bleeding edge dependencies. Signed-off-by: Leah Rowe <leah@libreboot.org>
10 dayscoreboot/fam15h: update submodule for nasmLeah Rowe
i forgot to in the last commit, but it didn't matter because it just meant that coreboot.git's own download logic kicked in as a fallback. however, it's better to rely on libreboot's build system for this, since it has redundancy. Signed-off-by: Leah Rowe <leah@libreboot.org>
10 dayscoreboot/fam15h: update nasm to 2.16.03Leah Rowe
this fixed kgpe-d16 build errors on gcc 15 when tested on debian sid (with gcc-15 installed from experimental) Signed-off-by: Leah Rowe <leah@libreboot.org>
10 daysserprog: Remove pico2 support for the time beingLeah Rowe
Many users report bugs, so I'm reverting lbmk back to only supporting the rp2040 dongles for the time being. The documentation will be updated to reflect this. Pico2 support will be re-added at a later date, once more testing has been done, and fixes made if necessary.
11 daysseabios: bump to rev 9029a010, 4 March 2025Leah Rowe
This brings in the following improvements from upstream: * 9029a010 kconfig: fix the check-lxdialog.sh to work with gcc 14+ * 8863cbbd ahci: add controller reset * df9dd418 update pci_pad_mem64 handling * a4fc1845 add romfile_loadbool() * a2725e28 drop acpi tables and hex includes * 35aa9a72 drop obsolete acpi table code * 1b598a1d usb-hid: Support multiple USB HID devices by storing them in a linked list Signed-off-by: Leah Rowe <leah@libreboot.org>
11 daysupdate untitledLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
11 dayscoreboot413: add alper's fix to cbfstool for gcc15Leah Rowe
otherwise, it won't compile on gcc 15 (pragma fix from earlier on, used on the other coreboot trees) Signed-off-by: Leah Rowe <leah@libreboot.org>
11 daysflashprog: bump to rev e060018 (1 March 2025)Leah Rowe
This brings in the following upstream changes: * e060018 flashchips: Explicitly zero-initialize in .qpi_read_params * ff9526b dediprog: Use dual-i/o default only for SF600Plus-G2 * 5a72cfb flashchips: Fix block-protection bits for 4BA Puya chips * 284d55b flashchips: Add WPS bit description for GD25Q128C * 37e07a8 flashchips: Add missing QE bit descriptions * 3646b18 flashchips: Add GigaDevice GD25LF128E 166MHz, 1.8V part * d4eb532 flashchips: Add GigaDevice GD25LF80E..GD25LF64E 166MHz, 1.8V parts * 38d037f flashchips: Add GigaDevice GD25LB512MF..GD55LB02GF 1.8V parts * 1da0293 flashchips: Add GigaDevice GD25LB512ME..GD55LB02GE 1.8V parts * 6d728e6 flashchips: Add GigaDevice GD25B512MF..GD55B02GF 3.3V parts * 493a4e0 flashchips: Update and split GD25Q256D entry * 648dfdc spi25: Fix cosmetic debug-print error due to unitialized buffer * cfd607d layout: Show a warning if no region is included * ec287e2 ich_descriptors_tool: Change region name EC/BMC -> EC_BMC * 39a4f7d sb600spi: Request more `lspci` details * 404529d memory_bus.c: Add missing copyright notice * fbea0fe udev rules: Restore mode/group configuration * c90d6c4 flashchips: Add some 25LC series EEPROMs * ee8cf1c Provide no-op probe function, always returning 1 * 4e6155a spi25: Add SPI25_EEPROM enum and handle < 3-byte addresses * 9512c9c Add missing copyright notices to recently created files * 06fbccc flashchips: Add GigaDevice GD25LB256E 1.8V part * bc001da flashchips: Add some GigaDevice GD25L*256 1.8V parts * 7d0f556 flashchips: Update GigaDevice 1.8V family up to GD25LQ128 * 7f8c12d flashchips: Add GigaDevice GD25LQ20, update family up to GD25LQ16 * 565471c flashchips: Add GigaDevice GD25B512ME..GD55B02GE 3.3V parts * 6ee2f89 flashchips: Update GigaDevice GD25Q/B/R 128Mbit, 3.3V parts * c230c69 flashchips: Add remaining Puya PY25Q..H 3.3V parts * 06e0264 flashchips: Add Puya PY25Q..H family up to PY25Q128H * fe21b43 flashchips: Add remaining P25Q..H family 3.3V chips * 1c5d829 flashchips: Add Puya P25Q40SH, P25Q80SH, P25Q16SH 3.3V parts * b0cae5e flashchips: Add Puya P25Q06H, P25Q11H, P25Q21H 3.3V parts * b09136b flashchips: Add Puya P25Q05..16H 3.3V parts * ed8b82c flashchips: Add Fudan FM25Q128 3.3V part * 4a35134 flashchips: Add Fudan FM25Q08A 3.3V part * 7f7bffa flashchips: Add Fudan FM25Q64, update FM25Q08..Q32 * c591518 flashchips: Add Fudan FM25Q02/Q04 3.3V parts * fea6e16 flashchips: Add Winbond W25Q16JV_M (DTR version) * 56d727e flashchips: Add newer gen. XTX Tech. XT25F..F 3.3V parts * c64a803 flashchips: Add XTX Tech. XT25F..B 3.3V family * 46e4209 flashchips: Add XTX Tech. XT25F02E/04D/08B 3.3V parts * 6bc88e7 flashchips: Add Boya/BoHong BY25Q32/64/128 3.3V variants * 3cddff4 flashchips: Complete Boya/BoHong BY25D family * 34e3de6 flashchips: Add Zetta Device ZD25LQ64/128 1.8V parts * f050370 selfcheck: Check dummy-cycle settings when QPI is advertised * d40037a selfcheck: Check for WP functions when BP bits are given * 2a1036b flashchips: Fix up GD25Q128C write-protect support * d4e41d3 flashchips: Add SST26VF080A * 04c1cf7 Add .envrc Signed-off-by: Leah Rowe <leah@libreboot.org>