scripts: android2fit.sh transform Android image to FIT image

Signed-off-by: Joseph Chen <chenjh@rock-chips.com>
Change-Id: I0c448d101aa4912398efa528275119132f434f69
This commit is contained in:
Joseph Chen 2020-11-14 08:23:32 +00:00
parent 8db677370c
commit d4f6d8e395
1 changed files with 79 additions and 0 deletions

79
scripts/android2fit.sh Executable file
View File

@ -0,0 +1,79 @@
#!/bin/bash
#
# Copyright (c) 2020 Rockchip Electronics Co., Ltd
#
# SPDX-License-Identifier: GPL-2.0
#
set -e
OUT="out"
function usage()
{
echo
echo "usage:"
echo " $0 -f [Android boot.img] -o [FIT boot.img]"
echo
}
function args_process()
{
if [ $# -ne 4 ]; then
usage
exit 1
fi
while [ $# -gt 0 ]; do
case $1 in
-f)
BOOT_IMG=$2
shift 2
;;
-o)
FIT_IMG=$2
shift 2
;;
*)
usage
exit 1
;;
esac
done
if [ ! -f ${BOOT_IMG} ]; then
echo "ERROR: No ${ITB}"
exit 1
fi
}
function android2fit()
{
if ! file ${BOOT_IMG} | grep "Android bootimg" ; then
echo "ERROR: ${BOOT_IMG} is not an Android Image"
file ${BOOT_IMG}
exit 1
fi
rm ${OUT}/ -rf
./scripts/unpack_bootimg --boot_img ${BOOT_IMG} --out ${OUT}/
./scripts/unpack_resource.sh ${OUT}/second ${OUT}/
mv ${OUT}/second ${OUT}/resource
rm images/ -rf && mkdir -p images/
cp ${OUT}/kernel images/
cp ${OUT}/resource images/
cp ${OUT}/ramdisk images/
cp ${OUT}/rk-kernel.dtb images/
rm ${OUT}/ -rf
./make.sh fit
if [ "boot.img" != ${FIT_IMG} ]; then
mv boot.img ${FIT_IMG}
fi
echo "Transform OK: Android(${BOOT_IMG}) ==> FIT(${FIT_IMG}) is ready"
echo
}
args_process $*
android2fit