FFTools: add mkupdate

This commit is contained in:
zhansb
2017-07-22 17:26:31 +08:00
parent b2f29e61e3
commit 8e3b5fa668
7 changed files with 209 additions and 7 deletions

BIN
FFTools/mkupdate/afptool Executable file

Binary file not shown.

90
FFTools/mkupdate/mkupdate.sh Executable file
View File

@ -0,0 +1,90 @@
#!/bin/bash
set -e
usage()
{
cat << EOF
usage:
$(basename $0) [-n update_img_name] [-l lunch]
-l: lunch name when make android
-n: dest update.img name, if have not this arg, there are an default name, like:
Firefly-RK3399_Android6.0_YYMMDD
NOTE: Run in the path of SDKROOT
EOF
if [ ! -z $1 ] ; then
exit $1
fi
}
while getopts "hn:l:" arg
do
case $arg in
l)
USER_LUNCH=$OPTARG
;;
n)
UPDATE_USER_NAME=$OPTARG
;;
h)
usage 0
;;
?)
usage 1
;;
esac
done
. build/envsetup.sh >/dev/null && setpaths
if [ ! -z "$USER_LUNCH" ] ; then
lunch "$USER_LUNCH"
fi
#set -x
PRODUCT_FIREFLY_NAME=`get_build_var PRODUCT_FIREFLY_NAME`
PRODUCT_FIREFLY_NAME=${PRODUCT_FIREFLY_NAME:="DEFAULT"}
echo "PRODUCT_FIREFLY_NAME=$PRODUCT_FIREFLY_NAME"
TARGET_PRODUCT=`get_build_var TARGET_PRODUCT`
echo -e "TARGET_PRODUCT=$TARGET_PRODUCT\n"
TARGET_VERSION=`get_build_var PLATFORM_VERSION`
CMD_PATH=$(dirname $0)
IMAGE_SRC_CUR_PATH=rockdev/Image-$TARGET_PRODUCT
IMAGE_SRC_PATH=$(readlink -f $IMAGE_SRC_CUR_PATH)
LOADER_PATH=$(awk /bootloader/'{print $2}' ${CMD_PATH}/package-file | tr -d '\r\n')
LINK_IMAGE_PATH=$(echo ${LOADER_PATH} | awk -F/ '{print $1}')
if [ -z "$UPDATE_USER_NAME" ] ; then
UPDADE_NAME="Firefly-RK3288_Android${TARGET_VERSION}_${PRODUCT_FIREFLY_NAME}_$(date -d today +%y%m%d)"
else
UPDADE_NAME="$UPDATE_USER_NAME"
fi
if [ ! -d ${IMAGE_SRC_CUR_PATH} ] ; then
echo "[ERROR]: Can't find image path: ${IMAGE_SRC_CUR_PATH}"
exit 1
fi
pushd $CMD_PATH > /dev/null
ln -sf ${IMAGE_SRC_PATH} ${LINK_IMAGE_PATH}
if [ ! -f ${LOADER_PATH} ]; then
echo "[ERROR]: Can't find loader: ${LOADER_PATH}"
exit 2
fi
./afptool -pack ./ ${LINK_IMAGE_PATH}/tmp_${UPDADE_NAME}.img
./rkImageMaker -RK32 ${LOADER_PATH} ${LINK_IMAGE_PATH}/tmp_${UPDADE_NAME}.img "${LINK_IMAGE_PATH}/${UPDADE_NAME}.img" -os_type:androidos
rm -f ${LINK_IMAGE_PATH}/tmp_${UPDADE_NAME}.img
rm -f ${LINK_IMAGE_PATH}
popd > /dev/null
echo ""
echo "Making updateimg: ${IMAGE_SRC_CUR_PATH}/${UPDADE_NAME}.img"
exit 0

View File

@ -0,0 +1,21 @@
# NAME Relative path
#
#HWDEF HWDEF
package-file package-file
bootloader Image/MiniLoaderAll.bin
parameter Image/parameter.txt
#trust Image/trust.img
#uboot Image/uboot.img
misc Image/misc.img
resource Image/resource.img
kernel Image/kernel.img
boot Image/boot.img
recovery Image/recovery.img
system Image/system.img
# Ҫд<D2AA><D0B4>backup<75><70><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>update.img<6D><67>
# SELF <20>ǹؼ<C7B9><D8BC>֣<EFBFBD><D6A3><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>update.img<6D><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
# <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SELF<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>м<EFBFBD>¼
# <20>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SELF<4C>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݡ<EFBFBD>
backup RESERVED
#update-script update-script
#recover-script recover-script

View File

@ -0,0 +1,9 @@
**************Generate update.img******************
1.make sure have run "./mkimage.sh"
2.modify loader name in "package-file" when loader name change
3.run "./FFTools/mkupdate/mkupdate.sh" on the rootpath of sdk
***************************************************
**************Unpack update.img********************
run "unpack.sh update_path"
***************************************************

BIN
FFTools/mkupdate/rkImageMaker Executable file

Binary file not shown.

52
FFTools/mkupdate/unpack.sh Executable file
View File

@ -0,0 +1,52 @@
#!/bin/bash
usage()
{
cat << EOF
usage:
$(basename $0) <image>
image: source update.img name
EOF
if [ ! -z $1 ] ; then
exit $1
fi
}
if [ $1 == '-h' ]; then
usage 0
fi
if [ $# -ne 1 ]; then
echo "[ERROR]: not image arg"
usage 1
fi
CMD_PATH=$(dirname $0)
UPDATE_IMG_PATH="$(readlink -f $1)"
UNPACK_PATH="unpack"
if [ ! -f ${UPDATE_IMG_PATH} ]; then
echo "[ERROR]: Can't find loader: $1"
exit 2
fi
pushd $CMD_PATH > /dev/null
ln -sf ${UPDATE_IMG_PATH} update.img
rm -rf ${UNPACK_PATH}
mkdir -p ${UNPACK_PATH}
./rkImageMaker -unpack update.img ${UNPACK_PATH}
./afptool -unpack ${UNPACK_PATH}/firmware.img ${UNPACK_PATH}
rm -f ${UNPACK_PATH}/firmware.img
rm -f ${UNPACK_PATH}/boot.bin
rm -f update.img
popd > /dev/null
echo ""
echo "unpack updateimg: ${CMD_PATH}/${UNPACK_PATH}/"
tree ${CMD_PATH}/${UNPACK_PATH}
exit 0

View File

@ -26,6 +26,9 @@ fi
echo IMG_TARGET=$IMG_TARGET , ota = $TARGET
IMAGE_PATH=rockdev/Image-$TARGET_PRODUCT
UBOOT_PATH=u-boot
KERNEL_PATH=kernel
PARAMETER=FFTools/parameter/rk3288-3.10-uboot-android.parameter.txt
rm -rf $IMAGE_PATH
mkdir -p $IMAGE_PATH
@ -142,14 +145,41 @@ then
fi
echo "done."
fi
fi ##### system
fi
cp kernel/kernel.img $IMAGE_PATH/
cp kernel/resource.img $IMAGE_PATH/
##### system
if [ -f $UBOOT_PATH/*UbootLoader*.bin ]
then
echo -n "create loader..."
cp -a $UBOOT_PATH/*UbootLoader*.bin $IMAGE_PATH/MiniLoaderAll.bin
echo "done."
fi
echo "Copy kenrel.img..."
echo "Copy resource.img..."
cp kernel/kernel.img $IMAGE_PATH/
cp kernel/resource.img $IMAGE_PATH/
if [ -f $KERNEL_PATH/resource.img ]
then
echo -n "create resource.img..."
cp -a $KERNEL_PATH/resource.img $IMAGE_PATH/resource.img
echo "done."
else
echo "$KERNEL_PATH/resource.img not fount!"
fi
if [ -f $KERNEL_PATH/kernel.img ]
then
echo -n "create kernel.img..."
cp -a $KERNEL_PATH/kernel.img $IMAGE_PATH/kernel.img
echo "done."
else
echo "$KERNEL_PATH/kernel.img not fount!"
fi
if [ -f $PARAMETER ]
then
echo -n "create parameter..."
cp -a $PARAMETER $IMAGE_PATH/parameter.txt
echo "done."
else
echo "$PARAMETER not fount!"
fi
chmod a+r -R $IMAGE_PATH/