summaryrefslogtreecommitdiff
path: root/include/inject.sh
AgeCommit message (Collapse)Author
2025-05-07inject.sh: simplify extract_kbc1126ec()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-07inject.sh: simplified MAC address handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-07inject.sh: Simplify patch_release_roms()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-07inject.sh: rename copytb and preprom functionsLeah Rowe
make them shorter so they go on one line again Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-07lib.sh: Simplified fx_() and removed fe_()Leah Rowe
Instead of calling fe_, prefix x_ as indicated. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-07lib.sh: support any command on find_exec()Leah Rowe
right now, we assume "find", but it adds any number of arguments next to that. change it instead to support any command, where the assumption is that it would generate a list of files and directories. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-07inject.sh: Simplify extract_intel_me_bruteforce()Leah Rowe
This is probably about as small as it's going to get. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-06inject.sh: clean up tmp me file before extractLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-06inject.sh: tidy up extract_intel_me_bruteforceLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-06inject.sh: fix oversight in me bruteforceLeah Rowe
i used i instead of 1, in the variable when running the extract_archive function. this didn't trigger since +u was set, and +e was set. in practise, then, it seems that because of this, and because my ME extract/insert test was a success, that none of the archives we use actually have a ME inside of a file inside of a given downloaded archive. still, this is technically incorrect, so fix it! Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-06inject.sh: remove unnecessary checkLeah Rowe
the call stack already falls through with a bunch of return 1s after a successful run of me_cleaner, so it's really not necessary. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-06inject.sh: don't use subshell for me bruteforceLeah Rowe
i needed it on the old version, which used cd this one stays in the same directory at all times Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-06inject.sh: insanely optimise the me bruteforceLeah Rowe
use fe_ fe_ ftw Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-06inject.sh: remove unused functionLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-05inject.sh: Further simplified FSP extractionLeah Rowe
We don't need the copy command at all, since the files it copies are the only ones that the Python script does anyway, so now we just make that script output to the directory, directly, where these files must go. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-05inject.sh: simplify kconfig scanningLeah Rowe
Use fe_ with a new function, scankconfig, to do the same thing. Not only is this simpler, it now also operates on all coreboot configs for a given target, whereas it previously only operated on the first one. This is useful for cases where one config might use a file that the other one does not; in practise, we don't do this yet, but it's a theoretical possibility Also: don't use the function check_defconfig, which is now redundant and has been removed. That function also conflicted with another function by the same name in mk, but fortunately didn't cause an issue in practise, due to how sh works; when vendor.sh was used, it was without running the tree commands, except under a separate lbmk instance. So this is a simplification, a feature enhancement and even a bug fix, all wrapped into one! Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-05lbmk: Replace err with much simpler implementationLeah Rowe
The current implementation is insanely over-engineered, and completely unnecessary. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-05inject.sh: simplify extract_intel_me_bruteforce()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-05inject.sh: Remove unnecessary checkLeah Rowe
_dest is already checked in the calling function fetch(), after extract_tbfw() has been called. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-05inject.sh extract_intel_me(): reduce indentationLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-05inject.sh: Move FSP extraction only to extract_fspLeah Rowe
Don't do FSP-specific extraction in extract_archive, as that is not what the latter is for. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-05inject.sh: tidy up intel me handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-05inject.sh: tidy up the deguard commandLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-04lbmk: MUCH safer err functionLeah Rowe
Don't directly call a variable. Call a function that checks the variable instead. The new err function also checks whether an exit was actually done, and exits 1 if not. If an exit was done by the given function, but the exit was zero, this is also corrected to perform an exit 1. This fixes a longstanding design flaw of lbmk. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-04inject.sh: tidy up TBFW handlingLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-04inject.sh: remove useless comment blockLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-03inject.sh: minor code cleanupLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-03inject.sh: simplify extract_archive()Leah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-03inject.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>
2025-05-03inject.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>
2025-05-03inject.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>
2025-05-03lbmk: Unified local ./tmp handlingLeah Rowe
Make it an absolute directory, relative to xbmktmp. Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-03inject.sh: Only build nvmutil onceLeah Rowe
Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-05-03inject.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>
2025-05-03util/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>
2025-05-03init.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>
2025-05-03lib.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>
2025-05-03lbmk: 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>
2025-05-02NEW 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>
2025-04-26rename include/vendor.sh to inject.shLeah Rowe
this matches cbmk, where inject.sh is the file name this will make future cherry-picks of lbmk->cbmk easier Signed-off-by: Leah Rowe <leah@libreboot.org>