From 9df731a176aab8e03b984b681b1bea01ccff6644 Mon Sep 17 00:00:00 2001 From: hc <hc@nodka.com> Date: Mon, 06 Nov 2023 07:23:06 +0000 Subject: [PATCH] rk3568 rt uboot init --- u-boot/scripts/fit-core.sh | 39 ++++++++++++++++++++++++++++----------- 1 files changed, 28 insertions(+), 11 deletions(-) diff --git a/u-boot/scripts/fit-core.sh b/u-boot/scripts/fit-core.sh index ecfd40d..1136ecb 100644 --- a/u-boot/scripts/fit-core.sh +++ b/u-boot/scripts/fit-core.sh @@ -18,9 +18,11 @@ SIG_BOOT="${FIT_DIR}/boot.data2sign" SIG_RECOVERY="${FIT_DIR}/recovery.data2sign" # offs -OFFS_DATA="0x1000" -# file -CHIP_FILE="arch/arm/lib/.asm-offsets.s.cmd" +if grep -q '^CONFIG_FIT_ENABLE_RSA4096_SUPPORT=y' .config ; then + OFFS_DATA="0x1200" +else + OFFS_DATA="0x1000" +fi # placeholder address FDT_ADDR_PLACEHOLDER="0xffffff00" KERNEL_ADDR_PLACEHOLDER="0xffffff01" @@ -94,6 +96,19 @@ exit 1 fi done +} + +function check_rsa_algo() +{ + if grep -q '^CONFIG_FIT_ENABLE_RSA4096_SUPPORT=y' .config ; then + rsa_algo="rsa4096" + else + rsa_algo="rsa2048" + fi + if ! grep -qr ${rsa_algo} $1 ; then + echo "ERROR: Wrong rsa_algo in its file. It should be ${rsa_algo}." + exit 1 + fi } function check_rsa_keys() @@ -378,6 +393,8 @@ else check_rsa_keys + check_rsa_algo ${ITS_BOOT} + if ! grep -q '^CONFIG_FIT_SIGNATURE=y' .config ; then echo "ERROR: CONFIG_FIT_SIGNATURE is disabled" exit 1 @@ -396,10 +413,9 @@ fi # fixup - COMMON_FILE=`sed -n "/_common.h/p" ${CHIP_FILE} | awk '{ print $1 }'` - FDT_ADDR_R=`awk /fdt_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'` - KERNEL_ADDR_R=`awk /kernel_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'` - RMADISK_ADDR_R=`awk /ramdisk_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'` + FDT_ADDR_R=`strings env/built-in.o | grep 'fdt_addr_r=' | awk -F "=" '{ print $2 }'` + KERNEL_ADDR_R=`strings env/built-in.o | grep 'kernel_addr_r=' | awk -F "=" '{ print $2 }'` + RMADISK_ADDR_R=`strings env/built-in.o | grep 'ramdisk_addr_r=' | awk -F "=" '{ print $2 }'` sed -i "s/${FDT_ADDR_PLACEHOLDER}/${FDT_ADDR_R}/g" ${ITS_BOOT} sed -i "s/${KERNEL_ADDR_PLACEHOLDER}/${KERNEL_ADDR_R}/g" ${ITS_BOOT} sed -i "s/${RAMDISK_ADDR_PLACEHOLDER}/${RMADISK_ADDR_R}/g" ${ITS_BOOT} @@ -464,6 +480,8 @@ else check_rsa_keys + check_rsa_algo ${ITS_RECOVERY} + if ! grep -q '^CONFIG_FIT_SIGNATURE=y' .config ; then echo "ERROR: CONFIG_FIT_SIGNATURE is disabled" exit 1 @@ -482,10 +500,9 @@ fi # fixup - COMMON_FILE=`sed -n "/_common.h/p" ${CHIP_FILE} | awk '{ print $1 }'` - FDT_ADDR_R=`awk /fdt_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'` - KERNEL_ADDR_R=`awk /kernel_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'` - RMADISK_ADDR_R=`awk /ramdisk_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'` + FDT_ADDR_R=`strings env/built-in.o | grep 'fdt_addr_r=' | awk -F "=" '{ print $2 }'` + KERNEL_ADDR_R=`strings env/built-in.o | grep 'kernel_addr_r=' | awk -F "=" '{ print $2 }'` + RMADISK_ADDR_R=`strings env/built-in.o | grep 'ramdisk_addr_r=' | awk -F "=" '{ print $2 }'` sed -i "s/${FDT_ADDR_PLACEHOLDER}/${FDT_ADDR_R}/g" ${ITS_RECOVERY} sed -i "s/${KERNEL_ADDR_PLACEHOLDER}/${KERNEL_ADDR_R}/g" ${ITS_RECOVERY} sed -i "s/${RAMDISK_ADDR_PLACEHOLDER}/${RMADISK_ADDR_R}/g" ${ITS_RECOVERY} -- Gitblit v1.6.2