FFTools: add mkupdate
This commit is contained in:
BIN
FFTools/mkupdate/afptool
Executable file
BIN
FFTools/mkupdate/afptool
Executable file
Binary file not shown.
90
FFTools/mkupdate/mkupdate.sh
Executable file
90
FFTools/mkupdate/mkupdate.sh
Executable 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
|
||||
21
FFTools/mkupdate/package-file
Normal file
21
FFTools/mkupdate/package-file
Normal 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
|
||||
9
FFTools/mkupdate/readme.txt
Normal file
9
FFTools/mkupdate/readme.txt
Normal 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
BIN
FFTools/mkupdate/rkImageMaker
Executable file
Binary file not shown.
52
FFTools/mkupdate/unpack.sh
Executable file
52
FFTools/mkupdate/unpack.sh
Executable 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
|
||||
44
mkimage.sh
44
mkimage.sh
@ -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/
|
||||
|
||||
Reference in New Issue
Block a user