xref: /rk3399_rockchip-uboot/scripts/decomp.sh (revision 5a46c4f4d22623709f351b2dc12d0c0657b195ae)
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