scripts: Add support for chip-specific firmware directories

BCM2711 and BCM2712 require different EEPROM firmware and
consequently the binaries have been moved to chip specific
firmware directories.

firmware-2711 / firmware-2712
This commit is contained in:
Tim Gover
2023-09-25 15:43:57 +01:00
parent f818c860b4
commit 9147a1a1c6
17 changed files with 156 additions and 86 deletions

View File

@@ -32,8 +32,10 @@ gen_release() {
cd "${tmp_dir}"
cp "${script_dir}/README.txt" .
cp "${firmware_dir}/recovery.bin" .
cp "${firmware_dir}/vl805-${vl805_version}.bin" vl805.bin
sha256sum vl805.bin | awk '{print $1}' > vl805.sig
if [ ${bcm_chip} = 2711 ]; then
cp "${firmware_dir}/vl805-${vl805_version}.bin" vl805.bin
sha256sum vl805.bin | awk '{print $1}' > vl805.sig
fi
"${script_dir}/../rpi-eeprom-config" \
--config "${config}" --out pieeprom.bin \
@@ -61,20 +63,26 @@ vl805_version="${3}"
config_dir="${4}"
output_dir="${5}"
output_basename="${6}"
bcm_chip="${7}"
[ -n "${firmware_status}" ] || usage
[ -n "${pieeprom_version}" ] || usage
[ -n "${vl805_version}" ] || usage
[ -n "${config_dir}" ] || usage
[ -n "${output_dir}" ] || usage
[ -n "${output_basename}" ] || usage
[ -n "${bcm_chip}" ] || usage
firmware_dir=${script_dir}/../firmware/${firmware_status}
firmware_dir=${script_dir}/../firmware-${bcm_chip}/${firmware_status}
[ -d "${firmware_dir}" ] || (echo "${firmware_dir} doesn't exist" && exit 1)
[ -f "${firmware_dir}/pieeprom-${pieeprom_version}.bin" ] || (echo "${firmware_status}/pieeprom-${pieeprom_version}.bin doesn't exist" && exit 1)
[ -f "${firmware_dir}/vl805-${vl805_version}.bin" ] || (echo "${firmware_status}/vl805-${vl805_version}.bin doesn't exist" && exit 1)
[ -d "${config_dir}" ] || (echo "${config_dir} doesn't exist" && exit 1)
tag="${pieeprom_version}-vl805-${vl805_version}"
if [ "${bcm_chip}" = 2711 ]; then
[ -f "${firmware_dir}/vl805-${vl805_version}.bin" ] || (echo "${firmware_status}/vl805-${vl805_version}.bin doesn't exist" && exit 1)
[ -d "${config_dir}" ] || (echo "${config_dir} doesn't exist" && exit 1)
tag="${pieeprom_version}-vl805-${vl805_version}"
else
tag="${pieeprom_version}"
fi
# use realpath to ensure paths are absolute
config_dir=$(realpath "${config_dir}")
output_dir=$(realpath "${output_dir}")