diff options
author | Leah Rowe <leah@libreboot.org> | 2024-09-24 21:42:43 +0100 |
---|---|---|
committer | Leah Rowe <leah@libreboot.org> | 2024-10-05 03:32:06 +0100 |
commit | c3ef0a863912af184c4a49e4876c7845ba3100aa (patch) | |
tree | d669521b41fc183cb55ed9554072352964d86f80 /include/vendor.sh | |
parent | 23e64192ed036a24181a49702655ffd7812fb2cb (diff) |
Add config for Dell OptiPlex 3050 Micro
This is using Mate Kukri's port, which was added in
previous lbmk revisions. I've added an IFD that sets
the HAP bit, and unlocks regions as standard.
vcfg is set to 3050micro, which defines downloading
of the MEv11 image and it will run deguard automatically.
I made a small adjustment to vendor.sh, because the hotpatch
logic for deguard uses -C in git, and when doing that, the
specified directory path is relative to that Git repository;
the .patch path has been adjusted accordingly.
Also add 3rdparty/fsp to coreboot/default modules.
This board requires the ifdtool option: -p sklkbl
The -p option tells flashrom what quirks are present in a
given IFD. We don't normally need this on other Libreboot
targets that we currently support. The -p option was needed
for creating this modified IFD, and it is therefore needed in
the inject script. Therefore, an "IFD_platform" option is
specified in a given board's target.cfg file. If this is set,
another variable is set that makes -p be used.
In this case, 3050's target.cfg says:
IFD_platform="sklkbl"
This option enables quirks for skylake/kabylake descriptors,
as required when using ifdtool.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Diffstat (limited to 'include/vendor.sh')
-rw-r--r-- | include/vendor.sh | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/include/vendor.sh b/include/vendor.sh index c5b6560d..36fa93d8 100644 --- a/include/vendor.sh +++ b/include/vendor.sh @@ -23,7 +23,7 @@ eval `setvars "" EC_url_bkup EC_hash DL_hash DL_url_bkup MRC_refcode_gbe vcfg \ E6400_VGA_romname SCH5545EC_DL_url_bkup SCH5545EC_DL_hash _dest tree \ mecleaner kbc1126_ec_dump MRC_refcode_cbtree new_mac _dl SCH5545EC_DL_url \ archive EC_url boarddir rom cbdir DL_url nukemode cbfstoolref vrelease \ - verify _7ztest ME_bootguard $cv` + verify _7ztest ME_bootguard IFD_platform ifdprefix $cv` vendor_download() { @@ -160,7 +160,7 @@ extract_deguard_me() git -C "$1/disreguard" commit -m "tmp" || \ $err "!commit $1/disreguard" fi - git -C "$1/disreguard" am config/data/deguard/appdir.patch || \ + git -C "$1/disreguard" am "$PWD/config/data/deguard/appdir.patch" || \ $err "Cannot temporarily patch deguard clone in $1/disreguard" ( cd "$1/disreguard" || $err "Cannot cd to '$1/disreguard'" @@ -296,6 +296,7 @@ readcfg() kbc1126_ec_dump="$PWD/$cbdir/util/kbc1126/kbc1126_ec_dump" cbfstool="elf/cbfstool/$tree/cbfstool" ifdtool="elf/ifdtool/$tree/ifdtool" + [ -n "$IFD_platform" ] && ifdprefix="-p $IFD_platform" x_ ./mk -d coreboot $tree } @@ -365,10 +366,11 @@ inject() e "$_dest" f n && [ "$nukemode" != "nuke" ] && $err "!inject $dl_type" if [ "$cbfsname" = "IFD" ]; then - [ "$nukemode" = "nuke" ] || "$ifdtool" -i $_t:$_dest "$rom" \ - -O "$rom" || $err "failed: inject '$_t' '$_dest' on '$rom'" - [ "$nukemode" != "nuke" ] || "$ifdtool" --nuke $_t "$rom" \ - -O "$rom" || $err "$rom: can't nuke $_t in IFD"; return 0 + [ "$nukemode" = "nuke" ] || "$ifdtool" $ifdprefix -i \ + $_t:$_dest "$rom" -O "$rom" || \ + $err "failed: inject '$_t' '$_dest' on '$rom'" + [ "$nukemode" != "nuke" ] || "$ifdtool" $ifdprefix --nuke $_t \ + "$rom" -O "$rom" || $err "$rom: !nuke IFD/$_t"; return 0 elif [ "$nukemode" = "nuke" ]; then "$cbfstool" "$rom" remove -n "$cbfsname" || \ $err "inject $rom: can't remove $cbfsname"; return 0 @@ -388,5 +390,5 @@ modify_gbe() x_ cp "${CONFIG_GBE_BIN_PATH##*../}" "$TMPDIR/gbe" x_ "util/nvmutil/nvm" "$TMPDIR/gbe" setmac $new_mac - x_ "$ifdtool" -i GbE:"$TMPDIR/gbe" "$1" -O "$1" + x_ "$ifdtool" $ifdprefix -i GbE:"$TMPDIR/gbe" "$1" -O "$1" } |