1b9fb3edaSJoseph Chen#!/bin/bash 2*5a46c4f4SJoseph Chen# 3*5a46c4f4SJoseph Chen# Copyright (c) 2022 Rockchip Electronics Co., Ltd 4*5a46c4f4SJoseph Chen# 5*5a46c4f4SJoseph Chen# SPDX-License-Identifier: GPL-2.0 6*5a46c4f4SJoseph Chen# 7b9fb3edaSJoseph Chenset -e 8b9fb3edaSJoseph Chen 9*5a46c4f4SJoseph Chensource ./scripts/fit-core.sh 10*5a46c4f4SJoseph Chenfit_process_args $* 11*5a46c4f4SJoseph Chen 12*5a46c4f4SJoseph Chen# Sign boot/recovery.img and it inserts the RSA pubkey into u-boot.dtb by default 13*5a46c4f4SJoseph Chenif [ ! -z "${ARG_VALIDATE}" ]; then 14*5a46c4f4SJoseph Chen validate_arg ${ARG_VALIDATE} 15*5a46c4f4SJoseph Chenelse 16*5a46c4f4SJoseph Chen fit_raw_compile 17*5a46c4f4SJoseph Chen if [ ! -z "${ARG_RECOVERY_IMG}" ]; then 18*5a46c4f4SJoseph Chen fit_gen_recovery_itb 19*5a46c4f4SJoseph Chen fit_gen_recovery_img 20*5a46c4f4SJoseph Chen fi 21*5a46c4f4SJoseph Chen if [ ! -z "${ARG_BOOT_IMG}" ]; then 22*5a46c4f4SJoseph Chen fit_gen_boot_itb 23*5a46c4f4SJoseph Chen fit_gen_boot_img 24*5a46c4f4SJoseph Chen fi 25*5a46c4f4SJoseph Chenfi 26*5a46c4f4SJoseph Chen 27*5a46c4f4SJoseph Chen# New u-boot.bin with RSA pubkey 28*5a46c4f4SJoseph Chencat u-boot-nodtb.bin u-boot.dtb > u-boot.bin 29*5a46c4f4SJoseph Chen 30*5a46c4f4SJoseph Chen# Pack image 313b51da7cSJoseph ChenCOMPRESS="lzma" 323b51da7cSJoseph ChenADDR=`sed -n "/CONFIG_SYS_TEXT_BASE=/s/CONFIG_SYS_TEXT_BASE=//p" include/autoconf.mk|tr -d '\r'` 33*5a46c4f4SJoseph Chen./scripts/lzma.sh u-boot.bin 343b51da7cSJoseph Chen./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 353b51da7cSJoseph Chencp -f spl/u-boot-spl-nodtb.bin u-boot.bin.decomp 363b51da7cSJoseph Chenif ! grep -q '^CONFIG_SPL_SEPARATE_BSS=y' .config ; then 373b51da7cSJoseph Chen cat spl/u-boot-spl-pad.bin >> u-boot.bin.decomp 383b51da7cSJoseph Chenfi 393b51da7cSJoseph Chencat u-boot.bin.${COMPRESS}.uImage >> u-boot.bin.decomp 403b51da7cSJoseph Chencp -f u-boot.bin.decomp spl/u-boot-spl.bin 41*5a46c4f4SJoseph Chen 42*5a46c4f4SJoseph Chen# Pack loader 43b9fb3edaSJoseph Chen./make.sh spl 44b9fb3edaSJoseph Chen 45*5a46c4f4SJoseph Chen# Sign loader 46*5a46c4f4SJoseph Chenfit_gen_loader 47b9fb3edaSJoseph Chen 48*5a46c4f4SJoseph Chen# Delelte 49*5a46c4f4SJoseph Chenrm -f uboot.img trust.img 50*5a46c4f4SJoseph Chen 51*5a46c4f4SJoseph Chen# Output msg 52*5a46c4f4SJoseph Chenecho 53*5a46c4f4SJoseph Chenecho "Image: $(ls *download*.bin) (with usbplug...) is ready" 54*5a46c4f4SJoseph Chenfit_msg_u_boot_loader 55*5a46c4f4SJoseph Chenfit_msg_recovery 56*5a46c4f4SJoseph Chenfit_msg_boot 57