summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2023-08-05blobs/download: support more formats on ME extractLeah Rowe
ME extraction didn't support unar (RAR format), for regular extraction, after downloading a vendor file. For bruteforce ME extraction, after extracting a vendor archive, unar(RAR) and inno(innoextract) was not supported. This patch fixes both issues. It should be noted that as of now, the unar method has only been tested with certain HP vendor updates, and it's currently not used on any of those. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-08-04add unar to dependencies scriptsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-29blobs/download: declare full user agentLeah Rowe
I messed up the string, when I first did this. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-29blobs/download: properly handle backup/main urlLeah Rowe
Immediately after the last revision, which was a hacky workaround to the problem, I realised the actual problem, and the real solution: In the switch block, check *backup* first. Then it breaks, continuing on the iteration. If it's variable for a main URL, it'll reliably go to the next check in the block, whereas if it's backup, it'll default to the first one in each case. This bug has been annoying the sh*t out of me for ages, and I've finally nailed it. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-29blobs/download: don't download backup on mainLeah Rowe
The script was actually downloading the backup, at all times, for each given URL. The way we handle this is quite buggy. This patch is a workaround, a dirty hack in fact, but it will do for now, because our backup URLs are always wayback links where the original URL (matching the correct main URL in the sources file) is always present, in the URL. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-29blobs/download: set common user agent stringLeah Rowe
Make it look like a normal web browser, downloading files. Some HTTP servers might block Wget unless this is done. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-29blobs/download: simplify for loopLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-29scripts: fix indentation in switch/case blocksLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-27blobutil/ec: abort if kbc1126 ec extraction failsLeah Rowe
This was an oversight on my part. Should extraction fail, we must abort. This is in preparation for addition of future mainboards, where further tweaking is required in blobutil. This error check will warn us about it. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-22coreboot/fam15h: remove unused filesLeah Rowe
they were taken from c-libreboot, but they are not needed here (deblob-check files) Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-17Revert "build/boot/roms mkUBootRoms: initialise variables"Leah Rowe
This reverts commit 7c90a4077fa1038394e3d470268ea6e509c2d734. causes another build bug. i'm helping someone with the bug now, i think the workaround for now would be to just use bash, on this script. until i can figure something better out.
2023-07-17build/boot/roms mkUBootRoms: initialise variablesLeah Rowe
they were outside the scope, outside of the if statements. in some shells, this is ok. we use "sh" so the user could have any shell. be a bit nicer to the more asininely technically correct sh implementations out there Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-16coreboot/fam15h: re-enable microcode updatesLeah Rowe
this was taken from old libreboot. the last libreboot revisions that had these boards were under the old policy. i left microcode disabled at first, because the old coreboot 4.11 behaviour was to always insert microcode regardless, so old libreboot patched out microcode from the coreboot build system however, 4.11_branch appears to actually honour microcode configuration, so i do actually need to make sure it's enabled in configs Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-16board/qemu_x86: don't enable u-bootLeah Rowe
it's a bit buggy when building. disable for now. will re-visit later. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-16coreboot/haswell: fix acpica downloadsLeah Rowe
the upstream link died. this patch makes it grab the acpica tarball (for iasl) via libreboot rsync, where i've added the corresponding tarball Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-16coreboot: re-add asus kgpe-d16/kcma-d8/kfsn4-dreLeah Rowe
Libreboot 20220710 was the last release to support these boards. I plan to eventually port code differences between D8/D16 to Dasharo, for KCMA-D8 support in Dasharo, to then use in Libreboot for both KCMA-D8 and KGPE-D16, but I have no plans to update the KFSN4-DRE code, at least for now. Libreboot 20220710 used coreboot 4.11, whereas this patch makes use of coreboot 4.11_branch; the crossgcc toolchains no longer compile on modern distros, so I spent time patching those (tested in Debian Sid, will also work on Arch Linux and so on). The acpica downloads now fail, in 4.11_branch, because Intel made some changes upstream for these tarball downloads. Newer coreboot works around this by grabbing tarballs from github, itself a non-ideal solution, but I digress; this patch changes coreboot crossgcc (in 4.11_branch) to download the acpica tarball from libreboot rsync, where I've added it. This patch also re-introduces the PIKE2008 fix, where empty option ROMs for these are inserted into CBFS. This prevents SeaBIOS from loading the real option ROMs, which would cause SeaBIOS to hang. This means that SAS drives are not supported in SeaBIOS, for these boards in Libreboot. I previously said, in the Censored Libreboot c20230710 announcement, that I would *only* merge D8/D16 when I've added Dasharo support to Libreboot, and use that, but the work to make coreboot 4.11_branch compile is something I'm quite proud of and I see no reason to exclude from lbmk master branch. Honestly, there's not much different than 4.11, code-wise. I *probably* won't use 4.11_branch for the next Libreboot release, on D8/D16. By then, I might have Dasharo integrated in lbmk instead. We shall see. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-16coreboot/cros: fix acpica downloadsLeah Rowe
upstream died. i put the corresponding tarball on libreboot rsync. this is used by the coreboot build system, specifically in crossgcc (cross compilers) Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-08build/boot/roms: fix coreboot-version in releasesLeah Rowe
This error was observed, in the coreboot build system: In file included from src/lib/version.c:4: build/build.h:10:32: error: 'libreboot' undeclared here (not in a function) 10 | #define COREBOOT_MAJOR_VERSION libreboot-20230625 | ^~~~~~~~~ src/lib/version.c:35:46: note: in expansion of macro 'COREBOOT_MAJOR_VERSION' 35 | const unsigned int coreboot_major_revision = COREBOOT_MAJOR_VERSION; | ^~~~~~~~~~~~~~~~~~~~~~ This happened on the 20230625 *release archive*, when a user tried to build for W541 MRC on an Arch Linux container. This change fixes the error. I never got the error on my end when build testing the release archives, but this will prevent the error. Fix it by only inserting libreboot version string YYYYMMDD representing the Libreboot version. (libreboot uses ISO dates as version numbers) Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-07-01Update 'README.md'ewpr5kwu
2023-06-25update .gitignore20230625Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-25build/release/src: clean spkmodem/e6400 utilsLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-25build/roms_helper: reset d521fca7, backport fixesLeah Rowe
I keep getting random linker issues when running: ./build boot roms all I think the issue lies somewhere in here, from when I did that massive audit. So I'm undoing the audit which mostly re-factored the code style here. These changes are being backported: f338697b build/boot/roms: Support removing microcode 941fbcb run coreboot utils from own directory f256ce98 build/boot/roms: say board name on stderr I removed this change: 6d6bd5ee (the script now uses dedicated utils directory) additionally: cbutils is built much earlier on in the script, first thing after initialising variables the other changes not backported are all code style changes, and I believe these are responsible. if no other fixes occur to this fire before the next libreboot release, then my hunch was right. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-25Revert "Revert "Add 4MB version of HP 8200 SFF""Leah Rowe
This reverts commit 2099545078d5a5586743d32b2470a296b66cb5c7. Wasn't this config's fault, the problem happens elsewhere too. I'm going to revert build/boot/roms to an older version and backport a few recent changes, to see if that fixes the problem. If it does, then I know that the recent linker issues happen due to recent changes in build/boot/roms The linker errors typically appear in util/kconfig/ but can happen elsewhere, seemingly random, which means I'm not handling distclean properly. Something isn't getting cleaned properly. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-25build/boot/roms: say board name on stderrLeah Rowe
That way, I can more easily debug build issues with specific boards, e.g. ./build boot roms all 2>lbmk.err.log Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-25Revert "Add 4MB version of HP 8200 SFF"Leah Rowe
This reverts commit 0f7a5386b9219111418a8de8637039c8533d99ea. Random linker errors, must investigate after release. Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-24build/roms: distclean coreboot before each buildLeah Rowe
don't clean it, distclean it Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-24run coreboot utils from own directoryLeah Rowe
this means coreboot can now be distcleaned safely, before and after each build of a rom image Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-24build/cbutils: distclean before buildingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-24build/cbutils: exit if utils dir doesn't existLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-24build/cbutils: tab indentation, not spacesLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-24build/cbutils: rename variable for clarityLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-24blobs/sources: rename t440p to t440plibremrcLeah Rowe
this fixes blobutil not downloading me.bin for the target, which was renamed to t440plibremrc Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-22Merge pull request 'losslessly compress pngs' (#85) from Riku_V/lbmk:master ↵Leah Rowe
into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/85
2023-06-22losslessly compress pngsRiku Viitanen
zopflipng is great! Signed-off-by: Riku Viitanen <riku.viitanen@protonmail.com>
2023-06-22Merge pull request 'u-boot: Increase EFI variable buffer size' (#83) from ↵Leah Rowe
alpernebbi/lbmk:uboot-efivar-size into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/83
2023-06-22Merge pull request 'cros: Disable coreboot related BL31 features' (#84) from ↵Leah Rowe
alpernebbi/lbmk:cros-disable-bl31-coreboot-makearg into master Reviewed-on: https://codeberg.org/libreboot/lbmk/pulls/84
2023-06-22cros: Disable coreboot related BL31 featuresAlper Nebi Yasak
I don't know why, but removing this BL31 make argument lets gru-kevin power off properly when shut down from Linux. Needs investigation. Do it as a cros-only HACK patch so people don't have to hold the power button after every shutdown. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-06-22u-boot: Increase EFI variable buffer sizeAlper Nebi Yasak
Debian's signed shim allocates too many EFI variables to fit in the EFI variable memory buffer. Normally it would then try to continue booting in non-secure-boot mode, but its error handling throws a synchronous abort that reboots the board, making it impossible to boot into Debian unless one manually loads GRUB instead of shim. Increase EFI variable buffer size to avoid triggering the bug. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2023-06-20re-add gigabyte/ga-g41m-es2lLeah Rowe
turns out it's just picky ram. errant reports of "no boot" (users did not have debug dongles) were likely "bad" ram notes will be written on libreboot.org about this Signed-off-by: Leah Rowe <leah@libreboot.org>
2023-06-20nuke boards: delete nyan* (for now)Leah Rowe
not well-tested, and existing testing has revealed video issues on some of them (or just no boot) for now, retain only qemu and gru-* on arm Signed-off-by: Leah Rowe <leah@libreboot.org>
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>