79 lines
2.5 KiB
Bash
Executable File
79 lines
2.5 KiB
Bash
Executable File
#/bin/bash
|
|
|
|
if [ "$(whoami)" = "root" ]; then
|
|
echo "ERROR: do not use the BSP as root. Exiting..."
|
|
exit 1
|
|
fi
|
|
|
|
cd ${SOURCEROOT}
|
|
echo ${SOURCEROOT}
|
|
|
|
MACHINE=${MACHINENAME} DISTRO=${DISTRONAME} IMAGESUFFIX=${IMAGESUFFIX} USERDEBUG=${USERDEBUG} UNISOC_PRODUCT=${UNISOC_PRODUCT} source setup-environment build-${DISTRONAME}
|
|
DISTRO_CODENAME=$(bitbake -e | grep DISTRO_CODENAME= | cut -d "=" -f 2 | awk -F "[\"]" '{print $2}')
|
|
OUTPUT_PATH=$SOURCEROOT/out/target/product/$MACHINENAME
|
|
UNISOC_ARCHIVE_DIR_ROOT=${OUTPUT_PATH}/archive_ota
|
|
if [ ! -d ${UNISOC_ARCHIVE_DIR_ROOT} ]; then
|
|
mkdir -p ${UNISOC_ARCHIVE_DIR_ROOT}
|
|
fi
|
|
|
|
TMPPATHNAME=$(ls ${SOURCEROOT}/build-${DISTRONAME} | grep tmp)
|
|
TMPPATH="$SOURCEROOT/build-$DISTRONAME/$TMPPATHNAME"
|
|
IMAGEPATH="$TMPPATH/deploy/images/$MACHINENAME"
|
|
|
|
echo "MACHINENAME=${MACHINENAME}, DISTRO=${DISTRONAME}, DISTRO_CODENAME=${DISTRO_CODENAME}, ${USERDEBUG}, ${SECBOOT_ENABLE}"
|
|
|
|
cp_sign_subfolders=$(ls $OUTPUT_PATH/cp_sign)
|
|
for OTA_SUBFOLDER in $cp_sign_subfolders
|
|
do
|
|
UNISOC_ARCHIVE_DIR=$OUTPUT_PATH/archive_ota/${OTA_SUBFOLDER}
|
|
if [ ! -d ${UNISOC_ARCHIVE_DIR} ]; then
|
|
rm -rf $UNISOC_ARCHIVE_DIR
|
|
fi
|
|
mkdir -p ${UNISOC_ARCHIVE_DIR}
|
|
pac_name=$(ls $OUTPUT_PATH/cp_sign/$OTA_SUBFOLDER | grep .pac)
|
|
pac_file=$OUTPUT_PATH/cp_sign/$OTA_SUBFOLDER/$pac_name
|
|
OTANAME=$(echo $pac_name | cut -d "." -f 1)
|
|
OTA_PACK_PATH=$SOURCEROOT/source/unisoc/update/ota/pack
|
|
OTA_PACK_SH=$OTA_PACK_PATH/pack.sh
|
|
OTA_PACK_WORK_PATH=$UNISOC_ARCHIVE_DIR_ROOT/work_dir
|
|
echo "OTA_PACK_PATH: $OTA_PACK_PATH"
|
|
echo "OTA_PACK_SH: $OTA_PACK_SH"
|
|
echo "OTA_PACK_WORK_PATH: $OTA_PACK_WORK_PATH"
|
|
echo "PAC_FILE: $pac_file"
|
|
if [ ! -d ${OTA_PACK_WORK_PATH} ]; then
|
|
mkdir -p ${OTA_PACK_WORK_PATH}
|
|
fi
|
|
#pack ota
|
|
if [[ ${UNISOC_PRODUCT} == "default" ]]; then
|
|
PACK_MACHINENAME=${MACHINENAME}
|
|
else
|
|
PACK_MACHINENAME=${MACHINENAME}-${UNISOC_PRODUCT}
|
|
fi
|
|
$OTA_PACK_SH $PACK_MACHINENAME $pac_file "none" $OTA_PACK_PATH $OTA_PACK_WORK_PATH
|
|
if [ $? -eq 0 ]; then
|
|
echo "pack.sh successed"
|
|
else
|
|
echo "pack.sh failed"
|
|
exit -1
|
|
fi
|
|
|
|
#tar targe_files
|
|
cd $UNISOC_ARCHIVE_DIR_ROOT/
|
|
touch $OTANAME-target_files.tgz
|
|
|
|
#COPY swu to out folder and tar
|
|
BASEPATH=${OTA_PACK_WORK_PATH}/$PACK_MACHINENAME.swu
|
|
echo $BASEPATH
|
|
TARGETPATH=$UNISOC_ARCHIVE_DIR/$OTANAME.swu
|
|
echo $TARGETPATH
|
|
if [ -e $BASEPATH ]; then
|
|
echo "Copy ota file"
|
|
cp -L $BASEPATH $TARGETPATH
|
|
else
|
|
echo "Swu can not be found"
|
|
fi
|
|
tar -h -cvzf $UNISOC_ARCHIVE_DIR_ROOT/$OTANAME-ota.tgz -C $UNISOC_ARCHIVE_DIR/ $OTANAME.swu
|
|
rm -rf $OTA_PACK_WORK_PATH
|
|
rm -rf $UNISOC_ARCHIVE_DIR
|
|
done
|