Replace POSIX `[ ]` with bash `[[ ]]` on two file existence checks. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
108 lines
3.3 KiB
Bash
108 lines
3.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
function fetch_sources_tools__gxlimg() {
|
|
# Branch: master, Commit date: Nov 10, 2025 (please update when updating commit ref)
|
|
fetch_from_repo "${GITHUB_SOURCE}/repk/gxlimg" "gxlimg" "commit:37a3ea072ca81bb3872441a09fe758340fd67dcb"
|
|
}
|
|
|
|
function build_host_tools__compile_gxlimg() {
|
|
# Compile and install only if git commit hash changed
|
|
cd "${SRC}/cache/sources/gxlimg" || exit
|
|
# need to check if /usr/local/bin/gxlimg to detect new Docker containers with old cached sources
|
|
if [[ ! -f .commit_id || $(git rev-parse @ 2> /dev/null) != $(< .commit_id) || ! -f /usr/local/bin/gxlimg ]]; then
|
|
display_alert "Compiling" "gxlimg" "info"
|
|
run_host_command_logged make distclean
|
|
run_host_command_logged make
|
|
run_host_command_logged install -Dm0755 gxlimg /usr/local/bin/gxlimg
|
|
git rev-parse @ 2> /dev/null > .commit_id
|
|
fi
|
|
}
|
|
|
|
# This function extracts bl2 and bl3x from the old FIP and repackages them with the new u-boot.bin into a FIP
|
|
# $1 path to old FIP file
|
|
# $2 SoC family
|
|
function gxlimg_repack_fip_with_new_uboot() {
|
|
display_alert "${BOARD}" "Repacking FIP with new u-boot.bin" "info"
|
|
|
|
if [[ ! -f "$1" ]]; then
|
|
exit_with_error "FIP file $1 does not exist"
|
|
fi
|
|
if [[ ! -f u-boot.bin ]]; then
|
|
exit_with_error "u-boot.bin not found under $(pwd)"
|
|
fi
|
|
|
|
mv u-boot.bin raw-u-boot.bin
|
|
EXTRACT_DIR=$(mktemp -d)
|
|
trap 'rm -rf "$EXTRACT_DIR"' EXIT
|
|
run_host_command_logged gxlimg -e "$1" "$EXTRACT_DIR"
|
|
rm -f "${EXTRACT_DIR}/bl33.enc"
|
|
|
|
case $2 in
|
|
gxl)
|
|
run_host_command_logged gxlimg \
|
|
-t bl3x \
|
|
-c raw-u-boot.bin \
|
|
"${EXTRACT_DIR}/bl33.enc"
|
|
|
|
run_host_command_logged gxlimg \
|
|
-t fip \
|
|
--bl2 "${EXTRACT_DIR}/bl2.sign" \
|
|
--bl30 "${EXTRACT_DIR}/bl30.enc" \
|
|
--bl301 "${EXTRACT_DIR}/bl301.enc" \
|
|
--bl31 "${EXTRACT_DIR}/bl31.enc" \
|
|
--bl33 "${EXTRACT_DIR}/bl33.enc" \
|
|
u-boot.bin
|
|
;;
|
|
|
|
g12a | g12b)
|
|
run_host_command_logged gxlimg \
|
|
-t bl3x \
|
|
-s raw-u-boot.bin \
|
|
"${EXTRACT_DIR}/bl33.enc"
|
|
|
|
if [[ -e "${EXTRACT_DIR}/lpddr3_1d.fw" ]]; then
|
|
run_host_command_logged gxlimg \
|
|
-t fip \
|
|
--bl2 "${EXTRACT_DIR}/bl2.sign" \
|
|
--ddrfw "${EXTRACT_DIR}/ddr4_1d.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/ddr4_2d.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/ddr3_1d.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/piei.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/lpddr4_1d.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/lpddr4_2d.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/diag_lpddr4.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/aml_ddr.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/lpddr3_1d.fw" \
|
|
--bl30 "${EXTRACT_DIR}/bl30.enc" \
|
|
--bl31 "${EXTRACT_DIR}/bl31.enc" \
|
|
--bl33 "${EXTRACT_DIR}/bl33.enc" \
|
|
--rev v3 u-boot.bin
|
|
else
|
|
run_host_command_logged gxlimg \
|
|
-t fip \
|
|
--bl2 "${EXTRACT_DIR}/bl2.sign" \
|
|
--ddrfw "${EXTRACT_DIR}/ddr4_1d.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/ddr4_2d.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/ddr3_1d.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/piei.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/lpddr4_1d.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/lpddr4_2d.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/diag_lpddr4.fw" \
|
|
--ddrfw "${EXTRACT_DIR}/aml_ddr.fw" \
|
|
--bl30 "${EXTRACT_DIR}/bl30.enc" \
|
|
--bl31 "${EXTRACT_DIR}/bl31.enc" \
|
|
--bl33 "${EXTRACT_DIR}/bl33.enc" \
|
|
--rev v3 u-boot.bin
|
|
fi
|
|
;;
|
|
|
|
*)
|
|
exit_with_error "Unsupported SoC family: $2"
|
|
;;
|
|
esac
|
|
|
|
if [[ ! -s u-boot.bin ]]; then
|
|
exit_with_error "FIP repack produced empty u-boot.bin"
|
|
fi
|
|
}
|