summaryrefslogtreecommitdiff
path: root/resources/scripts
AgeCommit message (Collapse)Author
2023-04-16parabola specific dependencies install scriptRiku Viitanen
2023-04-14blobutil: support extracting ME from full ROMsLeah Rowe
In cases where the vendor update file contains a full ROM image encompassing IFD+GbE+ME+BIOS, blobutil was saving the *entire* ROM containing those, as me.bin. For example, if it's an 8MB ROM, blobutil would create a me.bin file that is actually the whole ROM containing: * Vendor IFD region * Vendor GbE(if it has one) * Vendor ME region * Vendor BIOS region This fix tries with -M and -O first. In this combination, me_cleaner shall extract me.bin (neutered) and save it. If that fails, then the normal method with just -O is tried, which by this logic would always be a lone ME image if it succeeds. I tested downloading ME images on existing boards with this, and it didn't break them, and this fixes the bug. This is done for HP 8200 SFF which Riku_V is adding to lbmk. I'm on IRC with Riku_V as I write this commit message! Super hot hotfix patch.
2023-04-13build/release/src: include gitclone in release20230413Leah Rowe
2023-04-10blob/download: don't use bad character in printfLeah Rowe
This fixes errors when running that script.
2023-04-09inject blobs into release archive and check their hashshmalebx9
2023-04-09hash roms with blobs before stripping themshmalebx9
2023-04-08add ich9utils back to utilsLeah Rowe
don't download it. keep it in lbmk. libreboot moved to codeberg for git hosting, and i didn't want to keep lugging around an extra git repo just for one tiny project.
2023-04-01blobutil: replace fake tabs with tabsLeah Rowe
always use tabs
2023-04-01build/dependencies: add p7zip (for blobutil lzma)Leah Rowe
2023-04-01blobutil: don't hardcode pathsLeah Rowe
2023-04-01blobutil/download: don't hardcode me.bin pathsLeah Rowe
Bruteforce it. Some executables are just using inno archival but some are simple LZMA. This patch handles both of them, and also the event where you have LZMA compressed files (even LZMA compressed files within LZMA compressed archives) within any inno/lzma compressed executable. It recursively scans inside a vendor update, to find a me.bin files for neutering with me_cleaner. This is in preparation for two new ports in Libreboot: * HP EliteBook 8560w * Apple MacBook Air 4,2 (2011) This script can literally be used with multiple vendors now. It is no longer specific just to Lenovo. I originally did this and other recent commits to the file, as one big commit, but I decided to split it all up into small commits.
2023-04-01blobutil/download: split into small functionsLeah Rowe
This patch makes it easier to determine which part does what.
2023-04-01blobutil/download: make more logic top-downLeah Rowe
Basically, I really like OpenBSD coding style, and I want to replicate this, somewhat, in shell scripts.
2023-04-01blobutil/download: move main logic to the topLeah Rowe
Top-down order is easier to read, for greater understanding. What's moved is initialisation. The glue that calls Build_deps and Download_needed still need to be at the bottom.
2023-04-01blobutil/download: move Build_deps to the topLeah Rowe
It's called first, so declare it first!
2023-04-01improved a commentLeah Rowe
2023-04-01blobutil: rename variables to make more senseLeah Rowe
for example, files being downloaded have nothing to do with the ME; they are merely compressed, and contain many files in addition to it
2023-03-25build/boot/roms: bugfix: unitialised variableLeah Rowe
When using e.g. -p grub in build/boot/roms, it will error out. This patch fixes that. E.g. ./build boot roms t440pmrc_12mb -p grub Seldom used feature and it was overlooked. Most people won't use the option that triggered the error.
2023-03-24blobs/inject: use correct offset for haswell mrcLeah Rowe
2023-03-20Added copyright line.andreas-hartmann
2023-03-20Added missing dependencies for Arch.andreas-hartmann
2023-03-19build/release: handle nvmutil20230319Leah Rowe
2023-03-18haswell: re-add mrc.bin in separate board configsLeah Rowe
libre mrc on haswell is quite buggy for now, but works in a limited fashion this patch re-adds the old configs, but as _mrc for example t440p_12mb_mrc instead of t440p_12mb and t440p_12mb (without _mrc) still uses the libre mrc code
2023-03-18haswell boards: use libre mrc.bin replacementLeah Rowe
courtesy of Angel Pons from the coreboot project this uses the following patch set from gerrit, as yet unmerged (in coreboot master) on this date: https://review.coreboot.org/c/coreboot/+/64198/5 logic for downloading mrc blobs has been deleted from lbmk, as this is now completely obsolete (for haswell boards) if other platforms are added later that need mrc.bin, then logic will be re-added again for that
2023-03-17move download/gitmodule script to root directoryLeah Rowe
this fixes the build error: Error: name not set Usage: ./download gitmodule [name] when running: ./download all running "all" runs all scripts under downloads, one of which was the gitmodule script itself, therefore being run without argument
2023-03-16debian/ubuntu dependencies scripts: add gettextLeah Rowe
2023-03-06fix flashrom download errorLeah Rowe
2023-03-05scripts: build cbutils, not specific utilsLeah Rowe
some checks check for specific utils, which are then used to indicate the existence of other utils, which means that building them singularly, as is currently done, may result in errors later if another tool doesn't exist compiled yet this is an obscure bug, fixed by this patch. more of a workaround really. a dirty hack. when checking for any of the coreboot utilities required, build all coreboot utilities that are possibly required the utilities are small enough that this does not add much extra time to build, and in most cases, all of them will be needed anyway
2023-03-05update debian dependencies (for sid)Leah Rowe
2023-02-19build/dependencies/debian: add python3 dependencyLeah Rowe
2023-02-19build/boot/roms: fail when build cbutils failsLeah Rowe
2023-01-10blobs/inject: fix wrong nvmutil path for makeLeah Rowe
2022-12-28Do not rely on bashisms and behaviour undefined by the POSIX specification. ↵Ferass 'Vitali64' EL HAFIDI
Part 2 Signed-off-by: Ferass 'Vitali64' EL HAFIDI <vitali64pmemail@protonmail.com>
2022-12-27Do not rely on bashisms and behaviour undefined by the POSIX specification.Ferass 'Vitali64' EL HAFIDI
By making lbmk fully POSIX-compliant, it will be easier to port lbmk to other systems implementing POSIX such as Alpine Linux and FreeBSD. Signed-off-by: Ferass 'Vitali64' EL HAFIDI <vitali64pmemail@protonmail.com>
2022-12-22scripts/blobs/inject: fix bad cbfstool build checklbmkplaceholder
2022-12-14build/release/src: don't delete .gitcheck20221214lbmkplaceholder
2022-12-14correct a faulty if statement in build/release/srcLeah Rowe
2022-12-11build/boot roms: add exits for failing commandsLeah Rowe
2022-12-10build/release/src: Include U-Boot sources in source archiveAlper Nebi Yasak
Add U-Boot to the source release script's modules list so that it is included in source release tarballs. Don't include the unused upstream source and .git directories. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10build/clean: Add helper script to clean U-Boot buildsAlper Nebi Yasak
Copy the resources/scripts/build/clean/crossgcc script and adapt it to run "make distclean" on U-Boot build trees. Some build artifacts persist after the run, so also run "git clean -fdx" if we can. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10dependencies/debian: Install dependencies for U-BootAlper Nebi Yasak
U-Boot build dependencies are listed on their online documentation [1], but the listed Debian packages also include test-only dependencies. While installing dependencies, install the packages necessary to build U-Boot, except for the test-only ones I could identify. [1] https://u-boot.readthedocs.io/en/latest/build/gcc.html Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10build/roms: Support using "u-boot" ELF file as U-Boot payloadAlper Nebi Yasak
U-Boot runtime configuration is done with a device-tree file, which is built alongside the executable in the upstream build system, and must be available to U-Boot at runtime. This device-tree is normally not linked into the default "u-boot" ELF file. So far we have been handling it by re-creating a "u-boot.elf" from the raw binary parts by setting REMAKE_ELF, and using that as the coreboot payload. Unfortunately, that fails to build for x86 boards, more specificly the "coreboot" boards upstream. It's also possible (but discouraged) to set OF_EMBED to embed the device-tree file into the U-Boot itself, in which case we could use the "u-boot" file as the payload on the "coreboot" boards. Add support for using the "u-boot" file as the payload if "u-boot.elf" doesn't exist. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10build/roms: Don't rebuild crossgcc if it was already builtAlper Nebi Yasak
The roms_helper script skips building crossgcc-i386 if its target directory exists. Skip it for other architectures as well. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10build/roms: Make coreboot crossgcc usable for payloads and modulesAlper Nebi Yasak
Add the coreboot-built cross-architecture toolchains to the PATH so that modules and payloads can use them. When building for a foreign-arch board, also export CROSS_COMPILE pointing to the appropriate prefix. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10build/roms: Build 32-bit crossgcc for AArch64 as wellAlper Nebi Yasak
This re-applies commit a69855f7e448 ("Build 32-bit crossgcc for AArch64 as well") which was inexplicably reverted along with unrelated changes. Mention in a comment that building crossgcc-arm is necessary for AArch64. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10build/roms: Don't build Memtest86+ when not specified by cmdlineAlper Nebi Yasak
When overriding which payloads will be built with the -p command line argument, the roms_helper script builds the Memtest86+ payload before checking if it should be disabled. Move the build command after the command line override. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-10build/roms: Disable U-Boot when not in payloads specified by cmdlineAlper Nebi Yasak
When overriding which payloads will be built with the -p command line argument, the roms_helper script doesn't disable the U-Boot payload. Disable it in this case. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-09download/u-boot: Change to download target before running extra.shAlper Nebi Yasak
The U-Boot download script does its work from the repository root instead going into the newly created dirs, unlike the coreboot counterpart. It should run the board-specific extra.sh files with the downloaded paths as their working directory. Do so by a subshell. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-09download/u-boot: Re-add usage text for no-argument formAlper Nebi Yasak
The no-argument form of the U-Boot download script prepare trees for all boards when run with no arguments, like the corresponding script for coreboot. The usage text for this case was removed without any changes to the corresponding code, assume it was by mistake and add it back. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>
2022-12-09download/u-boot: Remove support for deleting git foldersAlper Nebi Yasak
Removing the git dirs was part of deblobbing, which Libreboot no longer cares about. The variable that triggers it is no more. Remove the dead code. Signed-off-by: Alper Nebi Yasak <alpernebiyasak@gmail.com>