1#!/bin/bash 2# 3# Copyright (c) 2020 Fuzhou Rockchip Electronics Co., Ltd 4# 5# SPDX-License-Identifier: GPL-2.0 6# 7 8set -e 9 10IMAGE_OFFS="0x800" 11IMAGE_ITS="image.its" 12IMAGE_ITB="image.itb" 13 14function usage() 15{ 16 echo 17 echo "usage:" 18 echo " $0 -f [fit/itb] -o [output]" 19 echo 20} 21 22function args_process() 23{ 24 if [ $# -ne 4 -a $# -ne 2 ]; then 25 usage 26 exit 1 27 fi 28 29 while [ $# -gt 0 ]; do 30 case $1 in 31 -f) 32 IMAGE_ORG=$2 33 shift 2 34 ;; 35 -o) 36 IMAGE_DIR=$2 37 shift 2 38 ;; 39 *) 40 usage 41 exit 1 42 ;; 43 esac 44 done 45 46 if [ ! -f $IMAGE_ORG ]; then 47 echo "ERROR: No $IMAGE_ORG" 48 exit 1 49 fi 50 51 if [ -z $IMAGE_DIR ]; then 52 IMAGE_DIR="out" 53 fi 54 55 mkdir -p $IMAGE_DIR 56} 57 58function fit_repack() 59{ 60 ./scripts/fit-unpack.sh -f $IMAGE_ORG -o $IMAGE_DIR 61 FIT_IMAGE_ITS=$IMAGE_DIR/$IMAGE_ITS 62 63 if grep -q 'hashed-nodes' $FIT_IMAGE_ITS ; then 64 echo "ERROR: $IMAGE_ORG was signed, unsupport to repack it!" 65 exit 1 66 fi 67 68 if grep -q 'uboot@1' $FIT_IMAGE_ITS ; then 69 IMAGE_NAME="uboot.img" 70 else 71 IMAGE_NAME="boot.img" 72 fi 73 74 rm -rf IMAGE_NAME 75 ./tools/mkimage -f $FIT_IMAGE_ITS -E -p $IMAGE_OFFS $IMAGE_NAME 76 77 echo 78 echo "Image: $IMAGE_NAME is ready." 79 echo 80} 81 82args_process $* 83fit_repack 84 85