4 TOTA_UPG_DIR="$(readlink -m $1)"
5 TARGET_DIR="$TOTA_UPG_DIR/recovery/target/$2"
6 if [ ! -d "$TARGET_DIR" ]; then
7 echo "[ERROR] : $TARGET_DIR not exist, please check tota_upg_path and target"
11 TEMP_DIR="$TARGET_DIR/tmp"
12 RESULT_DIR="$TARGET_DIR/result"
13 BOOT_DIR="$TARGET_DIR/boot"
14 PLATFORM_DIR="$TARGET_DIR/platform"
15 CONFIG_DIR="$TARGET_DIR/cfg"
17 CONFIG_NAME="recovery.cfg"
18 IMAGE_NAME="tizen-recovery.img"
20 CONFIG_PATH="$CONFIG_DIR/$CONFIG_NAME"
23 rm -rf $TEMP_DIR $RESULT_DIR
24 mkdir -p $TEMP_DIR $RESULT_DIR
26 echo "[INFO] Target directory : $TARGET_DIR"
27 echo "[INFO] Result directory : $RESULT_DIR"
30 function __unpack__() {
31 image_dirs=("$BOOT_DIR/*.tar.gz" "$PLATFORM_DIR/*.tar.gz")
33 for image_dir in ${image_dirs[@]}; do
34 for image in $image_dir; do
35 tar -zvxf $image --directory=$TEMP_DIR
37 echo "[ERROR] Failed to extract $image, please check image file"
40 echo "[INFO] Success to extract : $image"
46 BINARY_LIST="$CONFIG_NAME"
47 while read LABEL BINARY DEV || [ -n "$LABEL" ]
49 # Ignore empty or comment line
50 if [ -z "$LABEL" ] || [[ "$LABEL" == "#"* ]]; then
54 if [ ! -f "$TEMP_DIR/$BINARY" ]; then
55 echo "[ERROR] not found $BINARY, please check image file"
59 BINARY_LIST="$BINARY_LIST $BINARY"
61 echo "[INFO] Success to check all image file exists"
62 echo "[INFO] Binary list : $BINARY_LIST"
64 cp $CONFIG_PATH $TEMP_DIR
66 mksquashfs $BINARY_LIST $IMAGE_NAME
68 mv $IMAGE_NAME $RESULT_DIR
74 if [ "z$SIGN_PKCS_FILE" != "z" ]; then
75 if [ "z$SIGN_PKCS_PASSWORD" != "z" ]; then
76 SIGNER_OPTIONAL_ARGUMENT="-p $SIGN_PKCS_PASSWORD"
79 ./mk_delta/common/bin/sign_img.sh -k $SIGN_PKCS_FILE -i $RESULT_DIR/$IMAGE_NAME $SIGNER_OPTIONAL_ARGUMENT
83 function __cleanup__() {
86 echo "[WARN] Failed to remove $TEMP_DIR"
92 echo "Usage : generate_package.sh TOTA_UPG_PATH TARGET [SIGN_PKCS_FILE SIGN_PKCS_PASSWORD]"