rv1126-uboot/scripts/fit-repack.sh

85 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
#
# Copyright (c) 2020 Fuzhou Rockchip Electronics Co., Ltd
#
# SPDX-License-Identifier: GPL-2.0
#
set -e
IMAGE_OFFS="0x800"
IMAGE_ITS="image.its"
IMAGE_ITB="image.itb"
function usage()
{
echo
echo "usage:"
echo " $0 -f [fit/itb] -o [output]"
echo
}
function args_process()
{
if [ $# -ne 4 -a $# -ne 2 ]; then
usage
exit 1
fi
while [ $# -gt 0 ]; do
case $1 in
-f)
IMAGE_ORG=$2
shift 2
;;
-o)
IMAGE_DIR=$2
shift 2
;;
*)
usage
exit 1
;;
esac
done
if [ ! -f $IMAGE_ORG ]; then
echo "ERROR: No $IMAGE_ORG"
exit 1
fi
if [ -z $IMAGE_DIR ]; then
IMAGE_DIR="out"
fi
mkdir -p $IMAGE_DIR
}
function fit_repack()
{
./scripts/fit-unpack.sh -f $IMAGE_ORG -o $IMAGE_DIR
FIT_IMAGE_ITS=$IMAGE_DIR/$IMAGE_ITS
if grep -q 'hashed-nodes' $FIT_IMAGE_ITS ; then
echo "ERROR: $IMAGE_ORG was signed, unsupport to repack it!"
exit 1
fi
if grep -q 'uboot@1' $FIT_IMAGE_ITS ; then
IMAGE_NAME="uboot.img"
else
IMAGE_NAME="boot.img"
fi
rm -rf IMAGE_NAME
./tools/mkimage -f $FIT_IMAGE_ITS -E -p $IMAGE_OFFS $IMAGE_NAME
echo
echo "Image: $IMAGE_NAME is ready."
echo
}
args_process $*
fit_repack