--- /dev/null
+#!/bin/bash
+
+set -e
+trap 'echo "Failed to generate delta: ${0##*/}:$LINENO, exit code: $?" >&2' ERR
+
+TARGET=''
+IMAGE_TYPE=''
+TIZEN_VERSION=''
+
+UPGRADE_TOOLS_PATH="/upgrade-tools"
+
+setup_directories() {
+ cd ${UPGRADE_TOOLS_PATH}
+ ./scripts/directory-setup.sh mk_delta
+}
+
+prepare_old_image() {
+ local old_img_path="${UPGRADE_TOOLS_PATH}/mk_delta/${TARGET}/data/old_tar/."
+ cd ${UPGRADE_TOOLS_PATH}
+ ./scripts/delta-generation-download-source-image.sh "${IMAGE_TYPE}" "${TIZEN_VERSION}"
+ mv ./*.tar.gz "${old_img_path}"
+}
+
+prepare_new_image() {
+ local new_img_path="${UPGRADE_TOOLS_PATH}/mk_delta/${TARGET}/data/new_tar/."
+ cd ${IMG_DIR_PATH}
+ tar cvf "dest_img.tar" -- *
+ mv "${IMG_DIR_PATH}/dest_img.tar" "${new_img_path}"
+}
+
+create_delta() {
+ cd ${UPGRADE_TOOLS_PATH}
+ ./scripts/delta-generation.sh . "${TARGET}"
+
+ cd "${UPGRADE_TOOLS_PATH}/mk_delta/${TARGET}/result"
+ local delta_path=$(find -name 'delta.tar')
+ cp "${delta_path}" "${IMG_DIR_PATH}/."
+}
+
+TARGET=$1
+IMAGE_TYPE=$2
+TIZEN_VERSION=$3
+
+if [[ -z ${TARGET} ]] || [[ -z ${IMAGE_TYPE} ]] || [[ -z ${TIZEN_VERSION} ]]; then
+ echo "$0: 3 parameters are required: <TARGET> <IMAGE_TYPE> <TIZEN_VERSION>"
+ echo -e "\t<TARGET>: Target device name. ex) rpi4"
+ echo -e "\t<IMAGE_TYPE>: ex) tizen-boot-armv7l-rpi4"
+ echo -e "\t<TIZEN_VERSION>: ex) Tizen-8.0"
+ exit 1
+fi
+
+setup_directories
+prepare_old_image
+prepare_new_image
+create_delta