#/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