summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-06-20build/boot/roms_helper nicer indent on switch loopLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-20blobs/download: exit if no board configs foundLeah Rowe
fixes ./build boot roms all in detect_firmware(), "set" is used to get values from configs, to know if things like ME/MRC are needed on some "board" configs under resources/coreboot/, no actual coreboot configs are provided, because they are used as a reference (coreboot revision, tree name etc) for actual boards, with actual coreboot configs when attempting to build for such a board, running "set" on such non-existent files would cause a non-zero exit, when we want zero. the non-zero exit then caused the build/boot/roms command to fail, when running "all" if it found, for example, resources/coreboot/cros/ which has the above problem, in this context work around it by verifying that coreboot configs exist for the given target name, in the blobutil download script. if no such configs exist, then exit zero (success) doing so is correct, because the script is intended to do just that, erroring only if it is detected that blobs are needed for a given board, but other errors occur; if no coreboot configs exist, then no roms will be built and, therefore, no blobs are needed Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-20build/boot/roms: remove wrong parenthesesLeah Rowe
will pass all args as a single arg, which is wrong fix that Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-20build/boot/roms: nicer indent style on switch loopLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-20lbmk: run ./.gitcheck clean on errorLeah Rowe
a glaring oversight on my part Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-20lbmk: exit 1 if script failedLeah Rowe
script is -e anyway, so this is redundant, but best put it here anyway. it can only help. correct behaviour is always to fail on error, except in certain cases that would be handled on a case-by-case basis in each script
2023-06-20build/boot/roms: only set firstoption if argc>0Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-20update release filesLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-19Merge pull request 'Cache downloads based on checksum' (#81) from ↵Leah Rowe
Riku_V/lbmk:dl_cache into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/81
2023-06-19board/t440p_12mb: rename to t440plibremrc_12mbLeah Rowe
t440pmrc_12mb is the blob one. t440p_12mb is the libre one, but this isn't clear. rename accordingly. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-19build/boot/roms: Support removing microcodeLeah Rowe
From now on, the following rules are available for all mainboards, in resources/coreboot/boardname/board.cfg: * blobs_required="n" or "y" * microcode_required="n" or "y" The blobs setting, if set to "n", simply renames filename.rom to filename_noblobs.rom. The microcode setting, if set to "n", copies the ROM (with or without _noblobs) to filename_nomicrocode.rom (if blobs="n", it would be filename_noblobs_nomicrocode.rom). Where "nomicrocode" is set, ROMs with microcode will still be provided by lbmk and in relesase, but ROMs will also be provided alongside it that lacks any microcode updates. If the *original* ROM already lacks microcode updates, then the original ROM will be *renamed* to include "nomicrocode" in the name. This is done on images for ARM platforms, for instance, where microcode is never used whatsoever. Example filenames now generated: seabios_e6400_4mb_libgfxinit_corebootfb_noblobs_nomicrocode.rom seabios_e6400_4mb_libgfxinit_corebootfb_noblobs.rom seabios_withgrub_hp8300usdt_16mb_libgfxinit_corebootfb_colemak_nomicrocode.rom seabios_withgrub_hp8300usdt_16mb_libgfxinit_corebootfb_colemak.rom uboot_payload_gru_kevin_libgfxinit_corebootfb_noblobs_nomicrocode.rom A vocal minority of people were not happy with some of the changes made in Libreboot last year, including on existing supported hardware from before those changes were made. I did this before the last release, out of respect: https://libreboot.org/news/gm45microcode.html (re-add mitigations for no-microcode setup on GM45) This new change is done as an further, extended courtesy. Tested and works fine. (testing using cbfstool-print) Actual Libreboot policy about binary blobs is nuanced. See: https://libreboot.org/news/policy.html (reduction policy) and: https://libreboot.org/freedom-status.html (implementation) Well, the status page talks about descriptor vs non-descriptor on Intel platforms, and where me_cleaner is used (on platforms that need Intel ME firmware), it regards the descriptored setups to be blob-free if coreboot does not require binary blobs. In this paradigm, microcode updates are not considered to be binary blobs, because they aren't technically software, they're more like config files that just turn certain features on or off within the CPU. However, for lbmk purposes, "noblobs" means that, after the ROM is fully ready to flash on the chip, there will be no blobs in it (except microcode). So for example, an X200 that does not require ME firmware is considered blob-free under this paradigm, even though Libreboot policy regards X230 as equally libre when me_cleaner is used; in this setup, ROMs will not contain "blobfree" in the filename, for X230 (as one example). Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-17Cache downloads based on checksumRiku Viitanen
Since many boards use the same ME firmware, we could save everyone's bandwidth and time by caching the update files. Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>
2023-06-17Merge pull request 'Add HP 8300 USDT' (#80) from Riku_V/lbmk:hp8300usdt into ↵Leah Rowe
master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/80
2023-06-17Add HP 8300 USDTRiku Viitanen
Still on Gerrit. ME downloader failed with HP update file, so let's just use Lenovo's instead. Both contain identical ME8_5M_Production.bin files. Tested and working: * Native raminit with both DIMMs * Libgfxinit textmode and framebuffer on both DisplayPorts and VGA * External USB2 and USB3 ports: they all work * USB 3.0 SuperSpeed (rear, 4 ports) * Ethernet * Mini-PCIe WLAN * SATA: 2.5" SSD and optical drive bay * SeaBIOS and GRUB (boot to linux) * PS/2 keyboard and mouse * S3 suspend and resume, wake using USB keyboard * Headphone output, line out, internal speaker * Wake on LAN * Rebooting * CMOS options & nvramcui Untested: * Line in, mic input * MXM graphics card * EHCI debug Not working: * Mini-PCIe USB: I couldn't get it working on vendor BIOS either, so maybe it just isn't present * PS/2 keyboard wake from S3 * mSATA (I have no mSATA drives)
2023-06-16Merge pull request 'Add HP Elitebook 2570p' (#79) from Riku_V/lbmk:hp2570p ↵Leah Rowe
into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/79
2023-06-16Add HP Elitebook 2570pRiku Viitanen
Tested with Johan Ehnberg (johan@molnix.com) The following is tested and confirmed working: - backlight control - touchpad - USB (external, smart card, fingerprint, bluetooth, webcam, WWAN) - touchpad - Wi-Fi - 2,5" SATA - USB 3.0 - SD card - Memory: 2+2 (matched or unmatched), 8+2, 8+8 - internal flashing from libreboot - SeaBIOS and GRUB payloads - Boots Devuan and Ubuntu Untested: - ExpressCard - DVD - dock - external displays - eSATA - trackpoint (not present on this aftermarket keyboard)
2023-06-14util/nvmutil: reduced indentation inside loopLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-14util/spkmodem-recv: rename function for clarityLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-13util/spkmodem-recv: remove unnecessary error checkLeah Rowe
the loop in main() already checks EOF, and errno is properly handled at the end of main() we only need to call ferror(), to check error state this fixes a bogus error message when pressing ctrl+D to terminate the program, *which is the intended way to terminate this program* (that, or EOF is reached in any other another way) do not treat intended behaviour as an error condition! Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-13util/spkmodem-recv: say cc, not gcc, in commentLeah Rowe
i've build-tested this code with clang and that also works. in practise, a user is going to have clang or gcc Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-13util/spkmodem-recv: fix bad commentLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-13util/spkmodem-recv: remove unnecessary assignmentLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-13util/spkmodem-recv: simplify getopt handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-13util/spkmodem-recv: cleaner ring buffer handlingLeah Rowe
make it more obvious that this *is* a ring buffer being handled, and make it more obvious when checking a pulse in the next frame Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-13remove errant fileLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-13Revert "Remove most of Ferass's lbmk contributions"Leah Rowe
This reverts commit a4ea2867319471d9fe7d4ee540881e0286b4d3cf. The licensing audit has been abandoned. I will not be re-licensing in bulk to MIT. I can still use MIT license on new works, e.g. utilities, but there's really no pressing need to re-license lbmk. It's just shell scripts, and most of what it interacts with (coreboot, grub, seabios) is GPL anyway. So who cares? Ferass's patch was removed due to refusal to re-license, but the decision to re-license has been canceled. I'm now aiming for a quick stable release.
2023-06-13Merge pull request 'resources/coreboot/default/patches: Add patch for E6400 ↵Leah Rowe
SD card' (#78) from nic3-14159/lbmk:e6400-sd-card-patch into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/78
2023-06-12resources/coreboot/default/patches: Add patch for E6400 SD cardNicholas Chin
This fixes the PCI interrupt routing tables for the E6400 so that the SD card works. It is already merged in upstream but libreboot has not yet updated coreboot.
2023-06-12Merge pull request 'lbmk: Fix regressions' (#77) from ↵Leah Rowe
nic3-14159/lbmk:fix-lbmk into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/77
2023-06-12lbmk: Fix regressionsNicholas Chin
- A spurious semicolon caused the arguments to printf in die() to be executed instead of printed - ${@} in die() needs to be in quotes or else printf prints each word on a separate line - The number of arguments to main() does not include main itself so it should be comparing against 1 instead of 2 to determine if enough arguments were supplied.
2023-06-12util/spkmodem-recv: re-add full license headerLeah Rowe
i forked spkmodem-recv from coreboot, who forked it from gnu grub. gnu grub's version has the full header, with copyright declared as belonging to the fsf coreboot made changes after forking it, and later replaced the license declaration with an equivalent SPDX header, but they also removed the FSF's copyright declaration, which by itself does not void the declaration anyway, i just feel better re-adding the full declaration. make it so! Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-12util/ich9gen: change default mac addressLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-10Merge pull request 'Add 4MB version of HP 8200 SFF' (#72) from ↵Leah Rowe
Riku_V/lbmk:hp8200sff_4mb into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/72
2023-06-10Merge pull request 'Update Git revision for bios_extract' (#74) from ↵Leah Rowe
nic3-14159/lbmk:update_bios_extract into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/74
2023-06-09Update Git revision for bios_extractNicholas Chin
My patches are now merged in upstream so just use that and drop the patch files.
2023-06-08util/spkmodem-recv: fix regressionLeah Rowe
The last bit wasn't being handled, *and* ascii_bit wasn't being reduced at all. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-05util/spkmodem-recv: make ringpos a global variableLeah Rowe
there's no point passing it as argument to a function. it's used across more than one function, so make it global Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-05util/spkmodem-recv: simplify sample_cnt/char resetLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-05util/spkmodem-recv: print stats in other functionLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-05util/spkmodem-recv: only print unhandled err on -dLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-05util/spkmodem-recv: make debug a runtime optionLeah Rowe
it's currently a build-time option make it a runtime option instead, so that every user can optionally make use of it, on all builds Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-05util/spkmodem-recv: always disable line bufferingLeah Rowe
thus, there's no need to handle flushing of stdout whatsoever, and the code can be greatly simplified ascii bits are still reset, when no input on stdin is given Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-05util/spkmodem-recv: simplify stdout flush logicLeah Rowe
when spkmodem-recv doesn't receive anything (via stdout) after a few frames, it's assumed that the console is dead and the buffered output is flushed this logic is assumed superfluous when -u is set Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-05util/spkmodem-recv: rename variables for clarityLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-04util/spkmodem-recv: split print_char() upLeah Rowe
the logic for *setting* a character, and the logic for outputting it, ought to be separate. do that. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-04util/spkmodem-recv: reduce indent in print_char()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-04util/spkmodem-recv: squash a few code linesLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-04util/spkmodem-recv: bsd-style indentLeah Rowe
my style was: 2 tabs. bsd-style, for extending a line, is 4 spaces. this style has grown on me, so let's do it here Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-04util/spkmodem-recv: order prototypes per functionLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-04util/spkmodem-recv: warn on unhandled exit errorLeah Rowe
my style of C programming is this: always return errno upon exit from the program, or from a thread. handle errno in the calling/forking function. returning errno at the end of main has this intention: if an unhandled error occured, the program exits with non-zero status. a correctly written program should *never* return non-zero at the end of main, and if it does, this indicates a bug in the code (per my code style / philosophy). so, warn the user with a message if this occurs. the intention is that this message should never be printed. do not use assert() for this. i don't believe in that. such a test should always be present, for everyone. Signed-off-by: Leah Rowe <leah@libreboot.org>