hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
u-boot/scripts/fit-core.sh
....@@ -18,9 +18,11 @@
1818 SIG_BOOT="${FIT_DIR}/boot.data2sign"
1919 SIG_RECOVERY="${FIT_DIR}/recovery.data2sign"
2020 # offs
21
-OFFS_DATA="0x1000"
22
-# file
23
-CHIP_FILE="arch/arm/lib/.asm-offsets.s.cmd"
21
+if grep -q '^CONFIG_FIT_ENABLE_RSA4096_SUPPORT=y' .config ; then
22
+ OFFS_DATA="0x1200"
23
+else
24
+ OFFS_DATA="0x1000"
25
+fi
2426 # placeholder address
2527 FDT_ADDR_PLACEHOLDER="0xffffff00"
2628 KERNEL_ADDR_PLACEHOLDER="0xffffff01"
....@@ -94,6 +96,19 @@
9496 exit 1
9597 fi
9698 done
99
+}
100
+
101
+function check_rsa_algo()
102
+{
103
+ if grep -q '^CONFIG_FIT_ENABLE_RSA4096_SUPPORT=y' .config ; then
104
+ rsa_algo="rsa4096"
105
+ else
106
+ rsa_algo="rsa2048"
107
+ fi
108
+ if ! grep -qr ${rsa_algo} $1 ; then
109
+ echo "ERROR: Wrong rsa_algo in its file. It should be ${rsa_algo}."
110
+ exit 1
111
+ fi
97112 }
98113
99114 function check_rsa_keys()
....@@ -378,6 +393,8 @@
378393 else
379394 check_rsa_keys
380395
396
+ check_rsa_algo ${ITS_BOOT}
397
+
381398 if ! grep -q '^CONFIG_FIT_SIGNATURE=y' .config ; then
382399 echo "ERROR: CONFIG_FIT_SIGNATURE is disabled"
383400 exit 1
....@@ -396,10 +413,9 @@
396413 fi
397414
398415 # fixup
399
- COMMON_FILE=`sed -n "/_common.h/p" ${CHIP_FILE} | awk '{ print $1 }'`
400
- FDT_ADDR_R=`awk /fdt_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'`
401
- KERNEL_ADDR_R=`awk /kernel_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'`
402
- RMADISK_ADDR_R=`awk /ramdisk_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'`
416
+ FDT_ADDR_R=`strings env/built-in.o | grep 'fdt_addr_r=' | awk -F "=" '{ print $2 }'`
417
+ KERNEL_ADDR_R=`strings env/built-in.o | grep 'kernel_addr_r=' | awk -F "=" '{ print $2 }'`
418
+ RMADISK_ADDR_R=`strings env/built-in.o | grep 'ramdisk_addr_r=' | awk -F "=" '{ print $2 }'`
403419 sed -i "s/${FDT_ADDR_PLACEHOLDER}/${FDT_ADDR_R}/g" ${ITS_BOOT}
404420 sed -i "s/${KERNEL_ADDR_PLACEHOLDER}/${KERNEL_ADDR_R}/g" ${ITS_BOOT}
405421 sed -i "s/${RAMDISK_ADDR_PLACEHOLDER}/${RMADISK_ADDR_R}/g" ${ITS_BOOT}
....@@ -464,6 +480,8 @@
464480 else
465481 check_rsa_keys
466482
483
+ check_rsa_algo ${ITS_RECOVERY}
484
+
467485 if ! grep -q '^CONFIG_FIT_SIGNATURE=y' .config ; then
468486 echo "ERROR: CONFIG_FIT_SIGNATURE is disabled"
469487 exit 1
....@@ -482,10 +500,9 @@
482500 fi
483501
484502 # fixup
485
- COMMON_FILE=`sed -n "/_common.h/p" ${CHIP_FILE} | awk '{ print $1 }'`
486
- FDT_ADDR_R=`awk /fdt_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'`
487
- KERNEL_ADDR_R=`awk /kernel_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'`
488
- RMADISK_ADDR_R=`awk /ramdisk_addr_r/ ${COMMON_FILE} | awk -F '=' '{ print $2 }' | awk -F '\\' '{ print $1 }'`
503
+ FDT_ADDR_R=`strings env/built-in.o | grep 'fdt_addr_r=' | awk -F "=" '{ print $2 }'`
504
+ KERNEL_ADDR_R=`strings env/built-in.o | grep 'kernel_addr_r=' | awk -F "=" '{ print $2 }'`
505
+ RMADISK_ADDR_R=`strings env/built-in.o | grep 'ramdisk_addr_r=' | awk -F "=" '{ print $2 }'`
489506 sed -i "s/${FDT_ADDR_PLACEHOLDER}/${FDT_ADDR_R}/g" ${ITS_RECOVERY}
490507 sed -i "s/${KERNEL_ADDR_PLACEHOLDER}/${KERNEL_ADDR_R}/g" ${ITS_RECOVERY}
491508 sed -i "s/${RAMDISK_ADDR_PLACEHOLDER}/${RMADISK_ADDR_R}/g" ${ITS_RECOVERY}