mirror of
https://codeberg.org/libreboot/lbmk.git
synced 2026-07-13 14:59:34 +02:00
rename blob/ to vendor/
in the future, we may start downloading files that aren't blobs, such as mxm port configs (on mainboards that use MXM graphics) this directory will contain all of those files generally change the language used, across lbmk, to make use of "vendorfile" instead of "blob" Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
@@ -25,7 +25,7 @@ kmapdir="config/grub/keymap"
|
||||
pv="payload_grub payload_grub_withseabios payload_seabios payload_memtest"
|
||||
pv="${pv} payload_seabios_withgrub payload_uboot memtest_bin"
|
||||
v="romdir cbdir cbfstool cbrom initmode displaymode cbcfg targetdir tree arch"
|
||||
v="${v} grub_timeout ubdir blobs_required board grub_scan_disk uboot_config"
|
||||
v="${v} grub_timeout ubdir vendorfiles board grub_scan_disk uboot_config"
|
||||
eval "$(setvars "n" ${pv})"
|
||||
eval "$(setvars "" ${v})"
|
||||
eval "$(setvars "" boards _displaymode _payload _keyboard all targets)"
|
||||
@@ -108,8 +108,8 @@ check_target()
|
||||
payload_uboot="n"
|
||||
[ "${payload_uboot}" = "y" ] && [ -z ${uboot_config} ] && \
|
||||
uboot_config="default"
|
||||
[ "${blobs_required}" != "n" ] && [ "${blobs_required}" != "y" ] && \
|
||||
blobs_required="y"
|
||||
[ "${vendorfiles}" != "n" ] && [ "${vendorfiles}" != "y" ] && \
|
||||
vendorfiles="y"
|
||||
|
||||
# Override all payload directives with cmdline args
|
||||
[ -z ${_payload} ] && return 0
|
||||
@@ -384,7 +384,7 @@ moverom() {
|
||||
printf "Creating target image: %s\n" "${newrom}"
|
||||
|
||||
[ -d "${newrom%/*}" ] || x_ mkdir -p "${newrom%/*}/"
|
||||
[ "${blobs_required}" = "n" ] && newrom="${newrom%.rom}_noblobs.rom"
|
||||
[ "${vendorfiles}" = "n" ] && newrom="${newrom%.rom}_noblobs.rom"
|
||||
x_ cp "${rompath}" "${newrom}"
|
||||
}
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ handle_targets()
|
||||
printf "Running 'make %s' for project '%s, target '%s''\n" \
|
||||
"${mode}" "${project}" "${target}"
|
||||
[ "${project}" != "coreboot" ] || [ ! -z ${mode} ] || \
|
||||
x_ ./update blobs download ${target}
|
||||
x_ ./update vendor download ${target}
|
||||
x_ handle_defconfig
|
||||
done
|
||||
|
||||
|
||||
@@ -120,12 +120,12 @@ strip_archive()
|
||||
done
|
||||
fi
|
||||
|
||||
# Hash the rom before removing blobs
|
||||
x_ rm -f "${romdir}/blobhashes"
|
||||
x_ touch "${romdir}/blobhashes"
|
||||
# Hash the rom before removing vendor files
|
||||
x_ rm -f "${romdir}/vendorhashes"
|
||||
x_ touch "${romdir}/vendorhashes"
|
||||
(
|
||||
x_ cd "${romdir}"
|
||||
x_ sha512sum *.rom >> blobhashes
|
||||
x_ sha512sum *.rom >> vendorhashes
|
||||
)
|
||||
for romfile in "${romdir}"/*.rom; do
|
||||
[ -f "${romfile}" ] || continue
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>
|
||||
|
||||
. "include/err.sh"
|
||||
. "include/blobutil.sh"
|
||||
. "include/vendor.sh"
|
||||
. "include/mrc.sh"
|
||||
. "include/option.sh"
|
||||
|
||||
@@ -20,10 +20,10 @@ main()
|
||||
|
||||
check_defconfig "${boarddir}" || exit 0
|
||||
detect_firmware && exit 0
|
||||
scan_config "${_b}" "config/blobs" "err"
|
||||
scan_config "${_b}" "config/vendor" "err"
|
||||
|
||||
build_dependencies
|
||||
download_blobs
|
||||
download_vendorfiles
|
||||
}
|
||||
|
||||
detect_firmware()
|
||||
@@ -35,7 +35,7 @@ detect_firmware()
|
||||
CONFIG_VGA_BIOS_FILE CONFIG_INCLUDE_SMSC_SCH5545_EC_FW; do
|
||||
eval "[ -z \"\${${c}}\" ] || return 1"
|
||||
done
|
||||
printf "Blobs not needed for: %s\n" "${board}" 1>&2
|
||||
printf "Vendor files not needed for: %s\n" "${board}" 1>&2
|
||||
}
|
||||
|
||||
build_dependencies()
|
||||
@@ -53,7 +53,7 @@ build_dependencies()
|
||||
x_ ./build coreboot utils default
|
||||
}
|
||||
|
||||
download_blobs()
|
||||
download_vendorfiles()
|
||||
{
|
||||
[ -z "${CONFIG_HAVE_ME_BIN}" ] || \
|
||||
fetch "intel_me" "${DL_url}" "${DL_url_bkup}" "${DL_hash}" \
|
||||
+29
-27
@@ -5,7 +5,7 @@
|
||||
# SPDX-FileCopyrightText: 2023 Leah Rowe <leah@libreboot.org>
|
||||
|
||||
. "include/err.sh"
|
||||
. "include/blobutil.sh"
|
||||
. "include/vendor.sh"
|
||||
. "include/option.sh"
|
||||
|
||||
release_archive="n"
|
||||
@@ -30,7 +30,7 @@ main()
|
||||
|
||||
check_board
|
||||
build_dependencies
|
||||
inject_blobs
|
||||
inject_vendorfiles
|
||||
|
||||
printf "Friendly reminder (this is *not* an error message):\n"
|
||||
printf "Please always ensure that the files were inserted correctly.\n"
|
||||
@@ -89,10 +89,10 @@ build_dependencies()
|
||||
{
|
||||
[ -d "${cbdir}" ] || x_ ./update project trees coreboot default
|
||||
x_ ./build coreboot utils default
|
||||
x_ ./update blobs download ${board}
|
||||
x_ ./update vendor download ${board}
|
||||
}
|
||||
|
||||
inject_blobs()
|
||||
inject_vendorfiles()
|
||||
{
|
||||
release_archive="n"
|
||||
[ "${release}" != "true" ] && x_ patch_rom "${rom}" && return 0
|
||||
@@ -124,7 +124,9 @@ patch_release_roms()
|
||||
x_ cd "${_tmpdir}/bin/"*
|
||||
|
||||
# NOTE: For compatibility with older rom releases, defer to sha1
|
||||
sha512sum --status -c blobhashes || \
|
||||
sha512sum --status -c vendorhashes || \
|
||||
sha1sum --status -c vendorhashes || \
|
||||
sha512sum --status -c blobhashes || \
|
||||
sha1sum --status -c blobhashes || \
|
||||
err "patch_release_roms: ROMs did not match expected hashes"
|
||||
)
|
||||
@@ -151,7 +153,7 @@ patch_rom()
|
||||
# instead re-created at the end, after re-inserting
|
||||
# on roms with microcode, by copying and then removing,
|
||||
# so that the hashes will match (otherwise, cbfstool
|
||||
# may sometimes insert certain blobs at the wrong offset)
|
||||
# may sometimes insert certain vendor files at the wrong offset)
|
||||
# (unless nomicrocode is the only config provided)
|
||||
[ "${rom}" != "${rom%_nomicrocode.rom}.rom" ] && \
|
||||
[ -f "${rom%_nomicrocode.rom}.rom" ] && \
|
||||
@@ -163,24 +165,24 @@ patch_rom()
|
||||
. "${1}" 2>/dev/null
|
||||
|
||||
[ "$CONFIG_HAVE_MRC" = "y" ] && \
|
||||
inject_blob_intel_mrc "${rom}"
|
||||
inject_vendorfile_intel_mrc "${rom}"
|
||||
[ "${CONFIG_HAVE_ME_BIN}" = "y" ] && \
|
||||
inject_blob_intel_me "${rom}"
|
||||
inject_vendorfile_intel_me "${rom}"
|
||||
[ "${CONFIG_KBC1126_FIRMWARE}" = "y" ] && \
|
||||
inject_blob_hp_kbc1126_ec "${rom}"
|
||||
inject_vendorfile_hp_kbc1126_ec "${rom}"
|
||||
[ "${CONFIG_VGA_BIOS_FILE}" != "" ] && \
|
||||
[ "${CONFIG_VGA_BIOS_ID}" != "" ] && \
|
||||
inject_blob_dell_e6400_vgarom_nvidia "${rom}"
|
||||
inject_vendorfile_dell_e6400_vgarom_nvidia "${rom}"
|
||||
[ "${CONFIG_INCLUDE_SMSC_SCH5545_EC_FW}" = "y" ] && \
|
||||
[ "${CONFIG_SMSC_SCH5545_EC_FW_FILE}" != "" ] && \
|
||||
inject_blob_smsc_sch5545_ec "${rom}"
|
||||
inject_vendorfile_smsc_sch5545_ec "${rom}"
|
||||
[ "${modifygbe}" = "true" ] && ! [ "${release}" = "true" ] && \
|
||||
modify_gbe "${rom}"
|
||||
|
||||
printf "ROM image successfully patched: %s\n" "${rom}"
|
||||
}
|
||||
|
||||
inject_blob_intel_mrc()
|
||||
inject_vendorfile_intel_mrc()
|
||||
{
|
||||
rom="${1}"
|
||||
|
||||
@@ -207,22 +209,22 @@ inject_blob_intel_mrc()
|
||||
-t mrc -b 0xfffa0000
|
||||
}
|
||||
|
||||
inject_blob_intel_me()
|
||||
inject_vendorfile_intel_me()
|
||||
{
|
||||
printf "adding intel me firmware\n"
|
||||
|
||||
rom="${1}"
|
||||
[ -z ${CONFIG_ME_BIN_PATH} ] && \
|
||||
err "inject_blob_intel_me: CONFIG_ME_BIN_PATH not set"
|
||||
err "inject_vendorfile_intel_me: CONFIG_ME_BIN_PATH not set"
|
||||
|
||||
_me_location=${CONFIG_ME_BIN_PATH##*../}
|
||||
[ ! -f "${_me_location}" ] && \
|
||||
err "inject_blob_intel_me: per CONFIG_ME_BIN_PATH: file missing"
|
||||
err "inject_vendorfile_intel_me: per CONFIG_ME_BIN_PATH: file missing"
|
||||
|
||||
x_ "${ifdtool}" -i me:"${_me_location}" "${rom}" -O "${rom}"
|
||||
}
|
||||
|
||||
inject_blob_hp_kbc1126_ec()
|
||||
inject_vendorfile_hp_kbc1126_ec()
|
||||
{
|
||||
rom="${1}"
|
||||
|
||||
@@ -234,11 +236,11 @@ inject_blob_hp_kbc1126_ec()
|
||||
printf "adding hp kbc1126 ec firmware\n"
|
||||
|
||||
if [ "${_ec1_offset}" = "" ] || [ "${_ec1_offset}" = "" ]; then
|
||||
err "inject_blob_hp_kbc1126_ec: ${board}: offset not declared"
|
||||
err "inject_vendorfile_hp_kbc1126_ec: ${board}: offset not declared"
|
||||
elif [ "${_ec1_location}" = "" ] || [ "${_ec2_location}" = "" ]; then
|
||||
err "inject_blob_hp_kbc1126_ec: ${board}: EC path not declared"
|
||||
err "inject_vendorfile_hp_kbc1126_ec: ${board}: EC path not declared"
|
||||
elif [ ! -f "${_ec1_location}" ] || [ ! -f "${_ec2_location}" ]; then
|
||||
err "inject_blob_hp_kbc1126_ec: ${board}: ecfw not downloaded"
|
||||
err "inject_vendorfile_hp_kbc1126_ec: ${board}: ecfw not downloaded"
|
||||
fi
|
||||
|
||||
x_ "${cbfstool}" "${rom}" add -f "${_ec1_location}" -n ecfw1.bin \
|
||||
@@ -247,7 +249,7 @@ inject_blob_hp_kbc1126_ec()
|
||||
-b ${_ec2_offset} -t raw
|
||||
}
|
||||
|
||||
inject_blob_dell_e6400_vgarom_nvidia()
|
||||
inject_vendorfile_dell_e6400_vgarom_nvidia()
|
||||
{
|
||||
rom="${1}"
|
||||
|
||||
@@ -258,20 +260,20 @@ inject_blob_dell_e6400_vgarom_nvidia()
|
||||
printf "adding pci option rom\n"
|
||||
|
||||
[ "${_vga_dir}" = "${pciromsdir}" ] || \
|
||||
err "inject_blob_dell_e6400vga: invalid pcirom dir: ${_vga_dir}"
|
||||
err "inject_vendorfile_dell_e6400vga: invalid pcirom dir: ${_vga_dir}"
|
||||
[ -f "${_vga_location}" ] || \
|
||||
err "inject_blob_dell_e6400vga: ${_vga_location} doesn't exist"
|
||||
err "inject_vendorfile_dell_e6400vga: ${_vga_location} doesn't exist"
|
||||
|
||||
x_ "${cbfstool}" "${rom}" add -f "${_vga_location}" \
|
||||
-n "pci${CONFIG_VGA_BIOS_ID}.rom" -t optionrom
|
||||
}
|
||||
|
||||
inject_blob_smsc_sch5545_ec()
|
||||
inject_vendorfile_smsc_sch5545_ec()
|
||||
{
|
||||
rom="${1}"
|
||||
_sch5545ec_location="${CONFIG_SMSC_SCH5545_EC_FW_FILE##*../}"
|
||||
[ -f "${_sch5545ec_location}" ] || \
|
||||
err "inject_blob_smsc_sch5545_ec: SCH5545 fw missing"
|
||||
err "inject_vendorfile_smsc_sch5545_ec: SCH5545 fw missing"
|
||||
|
||||
x_ "${cbfstool}" "${rom}" add -f "${_sch5545ec_location}" \
|
||||
-n sch5545_ecfw.bin -t raw
|
||||
@@ -301,13 +303,13 @@ modify_gbe()
|
||||
usage()
|
||||
{
|
||||
cat <<- EOF
|
||||
USAGE: ./update blobs inject -r [rom path] -b [boardname] -m [macaddress]
|
||||
Example: ./update blobs inject -r x230_12mb.rom -b x230_12mb
|
||||
USAGE: ./update vendor inject -r [rom path] -b [boardname] -m [macaddress]
|
||||
Example: ./update vendor inject -r x230_12mb.rom -b x230_12mb
|
||||
|
||||
Adding a macadress to the gbe is optional.
|
||||
If the [-m] parameter is left blank, the gbe will not be touched.
|
||||
|
||||
Type './update blobs inject listboards' to get a list of valid boards
|
||||
Type './update vendor inject listboards' to get a list of valid boards
|
||||
EOF
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user