xref: /OK3568_Linux_fs/u-boot/scripts/decomp.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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