.. | .. |
---|
18 | 18 | SIG_BOOT="${FIT_DIR}/boot.data2sign" |
---|
19 | 19 | SIG_RECOVERY="${FIT_DIR}/recovery.data2sign" |
---|
20 | 20 | # 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 |
---|
24 | 26 | # placeholder address |
---|
25 | 27 | FDT_ADDR_PLACEHOLDER="0xffffff00" |
---|
26 | 28 | KERNEL_ADDR_PLACEHOLDER="0xffffff01" |
---|
.. | .. |
---|
94 | 96 | exit 1 |
---|
95 | 97 | fi |
---|
96 | 98 | 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 |
---|
97 | 112 | } |
---|
98 | 113 | |
---|
99 | 114 | function check_rsa_keys() |
---|
.. | .. |
---|
378 | 393 | else |
---|
379 | 394 | check_rsa_keys |
---|
380 | 395 | |
---|
| 396 | + check_rsa_algo ${ITS_BOOT} |
---|
| 397 | + |
---|
381 | 398 | if ! grep -q '^CONFIG_FIT_SIGNATURE=y' .config ; then |
---|
382 | 399 | echo "ERROR: CONFIG_FIT_SIGNATURE is disabled" |
---|
383 | 400 | exit 1 |
---|
.. | .. |
---|
396 | 413 | fi |
---|
397 | 414 | |
---|
398 | 415 | # 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 }'` |
---|
403 | 419 | sed -i "s/${FDT_ADDR_PLACEHOLDER}/${FDT_ADDR_R}/g" ${ITS_BOOT} |
---|
404 | 420 | sed -i "s/${KERNEL_ADDR_PLACEHOLDER}/${KERNEL_ADDR_R}/g" ${ITS_BOOT} |
---|
405 | 421 | sed -i "s/${RAMDISK_ADDR_PLACEHOLDER}/${RMADISK_ADDR_R}/g" ${ITS_BOOT} |
---|
.. | .. |
---|
464 | 480 | else |
---|
465 | 481 | check_rsa_keys |
---|
466 | 482 | |
---|
| 483 | + check_rsa_algo ${ITS_RECOVERY} |
---|
| 484 | + |
---|
467 | 485 | if ! grep -q '^CONFIG_FIT_SIGNATURE=y' .config ; then |
---|
468 | 486 | echo "ERROR: CONFIG_FIT_SIGNATURE is disabled" |
---|
469 | 487 | exit 1 |
---|
.. | .. |
---|
482 | 500 | fi |
---|
483 | 501 | |
---|
484 | 502 | # 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 }'` |
---|
489 | 506 | sed -i "s/${FDT_ADDR_PLACEHOLDER}/${FDT_ADDR_R}/g" ${ITS_RECOVERY} |
---|
490 | 507 | sed -i "s/${KERNEL_ADDR_PLACEHOLDER}/${KERNEL_ADDR_R}/g" ${ITS_RECOVERY} |
---|
491 | 508 | sed -i "s/${RAMDISK_ADDR_PLACEHOLDER}/${RMADISK_ADDR_R}/g" ${ITS_RECOVERY} |
---|