| .. | .. |
|---|
| 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} |
|---|