From ddd1436c9481f1a97981fc2f38512f7b99cc0072 Mon Sep 17 00:00:00 2001 From: Gerard Swiderski Date: Wed, 8 May 2024 21:00:57 +0200 Subject: [PATCH] _targets: use metaelf to embedd integrity metadata metaelf is used to add integrity checksum to all apps and kernel only when phoenix-host-utils/metaelf is available (e.g. i.MXRT) or in custom projects. JIRA: RTOS-296 --- _targets/build.common | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/_targets/build.common b/_targets/build.common index 2ddc9667..962e8b46 100644 --- a/_targets/build.common +++ b/_targets/build.common @@ -191,6 +191,15 @@ b_add2img() { } +b_signelf() { + # use metaelf to sign, embedd crc only when metaelf is build by project + if [ -f "$PREFIX_BUILD_HOST/prog.stripped/metaelf" ]; then + printf "Signing %s " "$1" + "$PREFIX_BUILD_HOST/prog.stripped/metaelf" -w "$1" + fi +} + + b_prod_image() { b_log "Creating production images" @@ -217,10 +226,12 @@ b_prod_image() { # Kernel OFFSET="$KERNEL_OFFS" + b_signelf "${PREFIX_PROG_STRIPPED}$KERNEL_FILE" b_add2img "${PREFIX_PROG_STRIPPED}$KERNEL_FILE" "$PHOENIX_DISK" # Programs for prog in "${PROGS[@]}"; do + b_signelf "${PREFIX_PROG_STRIPPED}$prog" b_add2img "${PREFIX_PROG_STRIPPED}$prog" "$PHOENIX_DISK" done @@ -237,10 +248,12 @@ b_kernel_image() { rm -f "$IMG" OFFSET="$KERNEL_OFFS" + b_signelf "${PREFIX_PROG_STRIPPED}/$KERNEL_FILE" b_add2img "${PREFIX_PROG_STRIPPED}/$KERNEL_FILE" "$IMG" # Programs for prog in "${PROGS[@]}"; do + b_signelf "${PREFIX_PROG_STRIPPED}$prog" b_add2img "${PREFIX_PROG_STRIPPED}$prog" "$IMG" done } @@ -286,10 +299,12 @@ b_dev_image() { # Kernel KERNEL_OFFS=$((KERNEL_OFFS - OFFS_USER_SCRIPT)) OFFSET="$KERNEL_OFFS" + b_signelf "${PREFIX_PROG_STRIPPED}/$KERNEL_FILE" b_add2img "${PREFIX_PROG_STRIPPED}$KERNEL_FILE" "$PHOENIX_DEV_IMG" # Programs for prog in "${PROGS[@]}"; do + b_signelf "${PREFIX_PROG_STRIPPED}$prog" b_add2img "${PREFIX_PROG_STRIPPED}$prog" "$PHOENIX_DEV_IMG" done }