FOTA_DIR="$TZ_SYS_GLOBALUSER_DATA/update/save"
STATUS_DIR="/opt/data/update"
VERSION_FILE="/opt/etc/version"
+DELTA_TAR=$1
flash_pre_image() {
echo "Flash images for update..."
DEVICE="/dev/mmcblk0"
CONFIG_FILE="update.cfg"
- /bin/tar xvfp $1 -C "$FOTA_DIR" $CONFIG_FILE
+ /bin/tar xvfp $DELTA_TAR -C "$FOTA_DIR" $CONFIG_FILE
if [ ! -e "$FOTA_DIR/$CONFIG_FILE" ]; then
echo "There is no $CONFIG_FILE"
return
while read PART_NAME DELTA_NAME TYPE DEV OFFSET SIZE HASH1 HASH2
do
if [ "$TYPE" = "PRE_UA" ]; then
- /bin/tar xvfp $1 -C $FOTA_DIR $DELTA_NAME
+ /bin/tar xvfp $DELTA_TAR -C $FOTA_DIR $DELTA_NAME
if [ ! -e "$FOTA_DIR/$DELTA_NAME" ]; then
echo "There is no delta for $PART_NAME"
continue
> "$FOTA_DIR/${CONFIG_FILE}_tmp"
/bin/mv "$FOTA_DIR/${CONFIG_FILE}_tmp" "$FOTA_DIR/$CONFIG_FILE"
- /bin/tar --delete --file=$1 $CONFIG_FILE
- /bin/tar rvf $1 -C $FOTA_DIR $CONFIG_FILE
+ /bin/tar --delete --file=$DELTA_TAR $CONFIG_FILE
+ /bin/tar rvf $DELTA_TAR -C $FOTA_DIR $CONFIG_FILE
fi
done < "$FOTA_DIR/$CONFIG_FILE"
}
echo "OLD_REL=$OLD_REL" >> $VERSION_FILE
}
+run_pre_script() {
+ PRE_SCRIPT_NAME=pre.sh
+ PRE_SCRIPT_PATH=$FOTA_DIR/$PRE_SCRIPT_NAME
+
+ /bin/tar xvfp $DELTA_TAR -C $FOTA_DIR $PRE_SCRIPT_NAME
+
+ if [ -e $PRE_SCRIPT_PATH ]; then
+ /bin/sh $PRE_SCRIPT_PATH
+ rm $PRE_SCRIPT_PATH
+ fi
+}
+
# Check fota directory
if [ ! -d "$FOTA_DIR" ]; then
echo "Create fota dir..."
write_version_info
fi
+# Run pre-script if exist
+run_pre_script
+
# Flash images
# - in case of some image was newly included
# - in case of some image should be flashed before update
-flash_pre_image $1
+flash_pre_image $DELTA_TAR
# Extract delta.ua
echo "Extract delta.ua..."
-/bin/tar xvfp $1 -C "$FOTA_DIR" delta.ua
+/bin/tar xvfp $DELTA_TAR -C "$FOTA_DIR" delta.ua
sync
sleep 1
echo "Move delta.tar..."
-mv $1 $FOTA_DIR/delta.tar
+mv $DELTA_TAR $FOTA_DIR/delta.tar
sync
# FOTA: /usr/bin/rw-update-prepare.sh