1*4882a593Smuzhiyun#!/bin/bash 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Copyright (c) 2022 Rockchip Electronics Co., Ltd 4*4882a593Smuzhiyun# 5*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 6*4882a593Smuzhiyun# 7*4882a593Smuzhiyunset -e 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunsource ./scripts/fit-core.sh 10*4882a593Smuzhiyunfit_process_args $* 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun# Sign boot/recovery.img and it inserts the RSA pubkey into u-boot.dtb by default 13*4882a593Smuzhiyunif [ ! -z "${ARG_VALIDATE}" ]; then 14*4882a593Smuzhiyun validate_arg ${ARG_VALIDATE} 15*4882a593Smuzhiyunelse 16*4882a593Smuzhiyun fit_raw_compile 17*4882a593Smuzhiyun if [ ! -z "${ARG_RECOVERY_IMG}" ]; then 18*4882a593Smuzhiyun fit_gen_recovery_itb 19*4882a593Smuzhiyun fit_gen_recovery_img 20*4882a593Smuzhiyun fi 21*4882a593Smuzhiyun if [ ! -z "${ARG_BOOT_IMG}" ]; then 22*4882a593Smuzhiyun fit_gen_boot_itb 23*4882a593Smuzhiyun fit_gen_boot_img 24*4882a593Smuzhiyun fi 25*4882a593Smuzhiyunfi 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun# New u-boot.bin with RSA pubkey 28*4882a593Smuzhiyuncat u-boot-nodtb.bin u-boot.dtb > u-boot.bin 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun# Pack image 31*4882a593SmuzhiyunCOMPRESS="lzma" 32*4882a593SmuzhiyunADDR=`sed -n "/CONFIG_SYS_TEXT_BASE=/s/CONFIG_SYS_TEXT_BASE=//p" include/autoconf.mk|tr -d '\r'` 33*4882a593Smuzhiyun./scripts/lzma.sh u-boot.bin 34*4882a593Smuzhiyun./tools/mkimage -A arm -O u-boot -T standalone -C ${COMPRESS} -a ${ADDR} -e ${ADDR} -d u-boot.bin.${COMPRESS} u-boot.bin.${COMPRESS}.uImage 35*4882a593Smuzhiyuncp -f spl/u-boot-spl-nodtb.bin u-boot.bin.decomp 36*4882a593Smuzhiyunif ! grep -q '^CONFIG_SPL_SEPARATE_BSS=y' .config ; then 37*4882a593Smuzhiyun cat spl/u-boot-spl-pad.bin >> u-boot.bin.decomp 38*4882a593Smuzhiyunfi 39*4882a593Smuzhiyuncat u-boot.bin.${COMPRESS}.uImage >> u-boot.bin.decomp 40*4882a593Smuzhiyuncp -f u-boot.bin.decomp spl/u-boot-spl.bin 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun# Pack loader 43*4882a593Smuzhiyun./make.sh spl 44*4882a593Smuzhiyun 45*4882a593Smuzhiyun# Sign loader 46*4882a593Smuzhiyunfit_gen_loader 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun# Delelte 49*4882a593Smuzhiyunrm -f uboot.img trust.img 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun# Output msg 52*4882a593Smuzhiyunecho 53*4882a593Smuzhiyunecho "Image: $(ls *download*.bin) (with usbplug...) is ready" 54*4882a593Smuzhiyunfit_msg_u_boot_loader 55*4882a593Smuzhiyunfit_msg_recovery 56*4882a593Smuzhiyunfit_msg_boot 57