scripts: Add a script to generate delta for .ks runscript 24/310224/3
authorSangYoun Kwak <sy.kwak@samsung.com>
Wed, 24 Apr 2024 06:54:50 +0000 (15:54 +0900)
committerSangYoun Kwak <sy.kwak@samsung.com>
Wed, 24 Apr 2024 10:36:39 +0000 (19:36 +0900)
To generate delta image in the image-building sequence(using .ks),
a script to prepare and generate delta image is added.

Change-Id: Icc51af99a4ef912fef9160fdc9075396177ce2c8
Signed-off-by: SangYoun Kwak <sy.kwak@samsung.com>
scripts/delta-generation-runscript-kickstart.sh [new file with mode: 0755]

diff --git a/scripts/delta-generation-runscript-kickstart.sh b/scripts/delta-generation-runscript-kickstart.sh
new file mode 100755 (executable)
index 0000000..d4549fa
--- /dev/null
@@ -0,0 +1,55 @@
+#!/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