scripts: tizen: Remove sd_fusing shell scripts 84/307384/1
authorJaehoon Chung <jh80.chung@samsung.com>
Fri, 8 Mar 2024 00:30:01 +0000 (09:30 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Fri, 8 Mar 2024 00:30:01 +0000 (09:30 +0900)
Remove sd_fusing shell scripts. Instead, use sd_fusing.py script.
We don't support shell script anymore.

Change-Id: I4915893a0aeaaed46f0b0dcb40eb546f85c8fed0
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
scripts/tizen/sd_fusing_rpi3.sh [deleted file]
scripts/tizen/sd_fusing_rpi4.sh [deleted file]
scripts/tizen/sd_fusing_vf2.sh [deleted file]

diff --git a/scripts/tizen/sd_fusing_rpi3.sh b/scripts/tizen/sd_fusing_rpi3.sh
deleted file mode 100755 (executable)
index 92d2a8a..0000000
+++ /dev/null
@@ -1,488 +0,0 @@
-#!/bin/bash
-
-declare FORMAT=""
-declare DEVICE=""
-declare -i OLD_DD=0
-
-# Binaires array for fusing
-declare -a FUSING_BINARY_ARRAY
-declare -i FUSING_BINARY_NUM=0
-
-declare CONV_ASCII=""
-declare -i FUS_ENTRY_NUM=0
-
-# binary name | part number | bs | label | fs type
-declare -a PART_TABLE=(
-       "boot.img"                      1       4M      boot                    vfat
-       "rootfs.img"                    2       4M      rootfs                  ext4
-       "system-data.img"               3       4M      system-data             ext4
-       "user.img"                      5       4M      user                    ext4
-       "modules.img"                   6       4M      modules                 ext4
-       "ramdisk.img"                   7       4M      ramdisk                 ext4
-       "ramdisk-recovery.img"          8       4M      ramdisk-recovery        ext4
-       "hal.img"                       10      4M      hal                     ext4
-       )
-
-declare -r -i PART_TABLE_COL=5
-declare -r -i PART_TABLE_ROW=${#PART_TABLE[*]}/${PART_TABLE_COL}
-
-# partition table support
-function get_index_use_name () {
-       local -r binary_name=$1
-
-       for ((idx=0;idx<$PART_TABLE_ROW;idx++)); do
-               if [ ${PART_TABLE[idx * ${PART_TABLE_COL} + 0]} == "$binary_name" ]; then
-                       return $idx
-               fi
-       done
-
-       # return out of bound index
-       return $idx
-}
-
-function print_message () {
-       local color=$1
-       local message=$2
-
-       tput setaf $color
-       tput bold
-       echo ""
-       echo $message
-       tput sgr 0
-}
-
-function check_ddversion () {
-       # NOTE
-       # before coreutils dd 8.24, dd doesn't support "status=progress"
-       # and the option causes fusing failure. For backward compatibility,
-       # do not use the option for old dd
-       local version=(`dd --version | head -1 | grep -o '[0-9]\+'`)
-       local major=${version[0]}
-       local minor=${version[1]}
-
-       if [ $major -lt 8 ];  then
-               OLD_DD=1
-       elif [ $major -eq 8 -a $minor -lt 24 ];  then
-               OLD_DD=1
-       fi
-}
-
-function fusing_image () {
-       local -r fusing_img=$1
-
-       # get binary info using basename
-       get_index_use_name $(basename "$fusing_img")
-       local -r -i part_idx=$?
-
-       if [ $part_idx -ne $PART_TABLE_ROW ];then
-               local -r num=${PART_TABLE[${part_idx} * ${PART_TABLE_COL} + 1]}
-               if [ "${num}" == "" ]; then
-                       local -r blktype=disk
-               else
-                       local -r blktype=part
-               fi
-               local -r device=/dev/`lsblk ${DEVICE} -o TYPE,KNAME | awk "/^${blktype}.*[a-z]${num}\$/ { print \\\$2 }"`
-               local -r bs=${PART_TABLE[${part_idx} * ${PART_TABLE_COL} + 2]}
-       else
-               echo "Unsupported binary: $fusing_img"
-               return
-       fi
-
-       if ! [ -b "$device" ]; then
-               print_message 1 "$device is not a block device."
-               exit 1
-       fi
-
-       local -r input_size=`du -b $fusing_img | awk '{print $1}'`
-       local -r input_size_mb=`expr $input_size / 1024 / 1024`
-
-       print_message 2 "[Fusing $1 ($input_size_mb MiB)]"
-       if [ "$blktype" == "part" ]; then
-               local MOUNT_PART=`mount | grep $device`
-               if [ "$MOUNT_PART" != "" ]; then
-                       umount $device
-               fi
-       fi
-       if [ $OLD_DD == 1 ]; then
-               dd if=$fusing_img | pv -s $input_size | dd of=$device bs=$bs
-       else
-               dd if=$fusing_img of=$device bs=$bs status=progress oflag=direct
-       fi
-
-       local -r fstype=`blkid -o value -s TYPE $device`
-       if [[ "$fstype" =~ "ext" ]]; then
-               resize2fs -f $device
-       fi
-}
-
-function fuse_image_tarball () {
-       local -r filepath=$1
-       local -r temp_dir="tar_tmp"
-
-       mkdir -p $temp_dir
-       tar xvf $filepath -C $temp_dir
-       cd $temp_dir
-
-       for file in *
-       do
-               fusing_image $file
-       done
-
-       cd ..
-       rm -rf $temp_dir
-       eval sync
-}
-
-function fuse_image () {
-
-       if [ "$FUSING_BINARY_NUM" == 0 ]; then
-               return
-       fi
-
-       for ((fuse_idx = 0 ; fuse_idx < $FUSING_BINARY_NUM ; fuse_idx++))
-       do
-               local filename=${FUSING_BINARY_ARRAY[fuse_idx]}
-
-               case "$filename" in
-                   *.tar | *.tar.gz)
-                       fuse_image_tarball $filename
-                       ;;
-                   *)
-                       fusing_image $filename
-                       ;;
-               esac
-       done
-       echo ""
-}
-
-# partition format
-function mkpart_3 () {
-       # NOTE: if your sfdisk version is less than 2.26.0, then you should use following sfdisk command:
-       # sfdisk --in-order --Linux --unit M $DISK <<-__EOF__
-
-       # NOTE: sfdisk 2.26 doesn't support units other than sectors and marks --unit option as deprecated.
-       # The input data needs to contain multipliers (MiB) instead.
-       local version=(`sfdisk -v | grep -o '[0-9]\+'`)
-       local major=${version[0]}
-       local minor=${version[1]}
-       local sfdisk_new=0
-       local support_delete=0
-       local sfdisk_37=0
-
-       if [ $major -gt 2 ];  then
-               sfdisk_new=1
-       else
-               if [ $major -eq 2 -a $minor -ge 26 ];  then
-                       sfdisk_new=1
-                       if [ $major -eq 2 -a $minor -ge 28 ]; then
-                               support_delete=1
-                       fi
-                       if [ $major -eq 2 -a $minor -ge 37 ]; then
-                               sfdisk_37=1
-                       fi
-               fi
-       fi
-
-       if [ $sfdisk_new == 0 ]; then
-               echo "$(tput setaf 3)$(tput bold)NOTICE: Your sfidk ${version[0]}.${version[1]}  version is too old. It can do unstable behavior!"
-               tput sgr 0
-               echo ""
-
-       fi
-
-       local -r DISK=$DEVICE
-       local -r SIZE=`sfdisk -s $DISK`
-       local -r SIZE_MB=$((SIZE >> 10))
-
-       local -r BOOT_SZ=64
-       local -r ROOTFS_SZ=3072
-       local -r DATA_SZ=1344
-       local -r MODULE_SZ=32
-       local -r RAMDISK_SZ=32
-       local -r RAMDISK_RECOVERY_SZ=32
-       local -r INFORM_SZ=8
-       local -r HAL_SZ=256
-       local -r RESERVED2_SZ=125
-       local -r EXTEND_SZ=12
-
-       let "USER_SZ = $SIZE_MB - $BOOT_SZ - $ROOTFS_SZ - $DATA_SZ - $MODULE_SZ - $RAMDISK_SZ - $RAMDISK_RECOVERY_SZ - $INFORM_SZ - $EXTEND_SZ - $HAL_SZ - $RESERVED2_SZ"
-
-       local -r BOOT=${PART_TABLE[0 * ${PART_TABLE_COL} + 3]}
-       local -r ROOTFS=${PART_TABLE[1 * ${PART_TABLE_COL} + 3]}
-       local -r SYSTEMDATA=${PART_TABLE[2 * ${PART_TABLE_COL} + 3]}
-       local -r USER=${PART_TABLE[3 * ${PART_TABLE_COL} + 3]}
-       local -r MODULE=${PART_TABLE[4 * ${PART_TABLE_COL} + 3]}
-       local -r RAMDISK=${PART_TABLE[5 * ${PART_TABLE_COL} + 3]}
-       local -r RAMDISK_RECOVERY=${PART_TABLE[6 * ${PART_TABLE_COL} + 3]}
-       local -r INFORM=inform
-       local -r HAL=${PART_TABLE[7 * ${PART_TABLE_COL} + 3]}
-       local -r RESERVED2=reserved2
-
-       if [[ $USER_SZ -le 100 ]]
-       then
-               echo "We recommend to use more than 4GB disk"
-               exit 0
-       fi
-
-       echo "================================================"
-       echo "Label                     dev             size"
-       echo "================================================"
-       echo $BOOT"                     " $DISK"1       " $BOOT_SZ "MB"
-       echo $ROOTFS"                   " $DISK"2       " $ROOTFS_SZ "MB"
-       echo $SYSTEMDATA"               " $DISK"3       " $DATA_SZ "MB"
-       echo "[Extend]""                " $DISK"4"
-       echo " "$USER"                  " $DISK"5       " $USER_SZ "MB"
-       echo " "$MODULE"                " $DISK"6       " $MODULE_SZ "MB"
-       echo " "$RAMDISK"               " $DISK"7       " $RAMDISK_SZ "MB"
-       echo " "$RAMDISK_RECOVERY"      " $DISK"8       " $RAMDISK_RECOVERY_SZ "MB"
-       echo " "$INFORM"                        " $DISK"9       " $INFORM_SZ "MB"
-       echo " "$HAL"                   " $DISK"10      " $HAL_SZ "MB"
-       echo " "$RESERVED2"             " $DISK"11      " $RESERVED2_SZ "MB"
-
-       local MOUNT_LIST=`mount | grep $DISK | awk '{print $1}'`
-       for mnt in $MOUNT_LIST
-       do
-               umount $mnt
-       done
-
-       echo "Remove partition table..."
-       dd if=/dev/zero of=$DISK bs=512 count=32 conv=notrunc
-
-       if [ $sfdisk_new == 1 ]; then
-               if [ $support_delete == 1 ]; then
-                       sfdisk --delete $DISK
-               fi
-               if [ $sfdisk_37 == 1 ] ; then
-                       sfdisk $DISK <<-__EOF__
-                       4MiB,${BOOT_SZ}MiB,0xE,*
-                       ,${ROOTFS_SZ}MiB,,-
-                       ,${DATA_SZ}MiB,,-
-                       12MiB,,E,-
-                       ,${USER_SZ}MiB,,-
-                       ,${MODULE_SZ}MiB,,-
-                       ,${RAMDISK_SZ}MiB,,-
-                       ,${RAMDISK_RECOVERY_SZ}MiB,,-
-                       ,${INFORM_SZ}MiB,,-
-                       ,${HAL_SZ}MiB,,-
-                       ,${RESERVED2_SZ}MiB,,-
-                       __EOF__
-               else
-                       sfdisk $DISK <<-__EOF__
-                       4MiB,${BOOT_SZ}MiB,0xE,*
-                       8MiB,${ROOTFS_SZ}MiB,,-
-                       8MiB,${DATA_SZ}MiB,,-
-                       12MiB,,E,-
-                       ,${USER_SZ}MiB,,-
-                       ,${MODULE_SZ}MiB,,-
-                       ,${RAMDISK_SZ}MiB,,-
-                       ,${RAMDISK_RECOVERY_SZ}MiB,,-
-                       ,${INFORM_SZ}MiB,,-
-                       ,${HAL_SZ}MiB,,-
-                       ,${RESERVED2_SZ}MiB,,-
-                       __EOF__
-               fi
-       else
-               # calculate start positions for alignment for extended partitions
-               let "USER_START = 4 + $BOOT_SZ + $ROOTFS_SZ + $DATA_SZ + 1"
-               let "MODULE_START = $USER_START + $USER_SZ + 1"
-               let "RAMDISK_START = $MODULE_START + $MODULE_SZ + 1"
-               let "RAMDISK_RECOVERY_START = $RAMDISK_START + $RAMDISK_SZ + 1"
-               let "INFORM_START = $RAMDISK_RECOVERY_START + $RAMDISK_RECOVERY_SZ + 1"
-               let "HAL_START = $INFORM_START + $INFORM_SZ + 1"
-               let "RESERVED2_START = $HAL_START + $HAL_SZ + 1"
-
-               sfdisk --in-order --Linux --unit M $DISK <<-__EOF__
-               4,$BOOT_SZ,0xE,*
-               ,$ROOTFS_SZ,,-
-               ,$DATA_SZ,,-
-               ,,E,-
-               $USER_START,$USER_SZ,,-
-               $MODULE_START,$MODULE_SZ,,-
-               $RAMDISK_START,$RAMDISK_SZ,,-
-               $RAMDISK_RECOVERY_START,$RAMDISK_RECOVERY_SZ,,-
-               $INFORM_START,$INFORM_SZ,,-
-               $HAL_START,$HAL_SZ,,-
-               $RESERVED2_START,$RESERVED2_SZ,,-
-               __EOF__
-       fi
-
-       for ((idx=0;idx<$PART_TABLE_ROW;idx++)); do
-               local PART=/dev/`lsblk ${DISK} -o TYPE,KNAME | awk "/^part.*[a-z]${PART_TABLE[$idx * ${PART_TABLE_COL} + 1]}\$/ { print \\\$2 }"`
-               if [ "${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]}" == "vfat" ]; then
-                       mkfs.vfat -F 16 ${PART} -n ${PART_TABLE[$idx * ${PART_TABLE_COL} + 3]}
-                       if [ $? -eq 1 ]; then
-                               echo "Failed to format as FAT filesystem"
-                               exit -1
-                       fi
-               elif [ "${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]}" == "ext4" ]; then
-                       mkfs.ext4 -q ${PART} -L ${PART_TABLE[$idx * ${PART_TABLE_COL} + 3]} -F
-               else
-                       echo "Skip to format for unknown filesystem type ${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]} for part$idx, ${PART_TABLE[$idx * ${PART_TABLE_COL} + 3]}"
-               fi
-       done
-
-       local -r PART9=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]9\$"`
-       mkfs.ext4 -q ${PART9} -L $INFORM -F
-
-       # create "reboot-param.bin" file in inform partition for passing reboot parameter
-       # It should be done only once upon partition format.
-       if [ -d mnt_tmp ]; then
-               echo "Remove the existing mnt_tmp directory!!"
-               rm -rf mnt_tmp
-       fi
-       mkdir mnt_tmp
-       mount -t ext4 ${PART9} ./mnt_tmp
-       touch ./mnt_tmp/reboot-param.bin
-       sync
-       umount ./mnt_tmp
-       rmdir mnt_tmp
-
-       local -r PART11=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]11\$"`
-       mkfs.ext4 -q ${PART11} -L $RESERVED2 -F
-}
-
-function show_usage () {
-       echo "- Usage:"
-       echo "  sudo ./sd_fusing*.sh -d <device> [-b <path> <path> ..] [--format]"
-}
-
-function check_partition_format () {
-       if [ "$FORMAT" != "2" ]; then
-               echo "-----------------------"
-               echo "Skip $DEVICE format"
-               echo "-----------------------"
-               return 0
-       fi
-
-       echo "-------------------------------"
-       echo "Start $DEVICE format"
-       echo ""
-       mkpart_3
-       echo "End $DEVICE format"
-       echo "-------------------------------"
-       echo ""
-}
-
-function check_args () {
-       if [ "$DEVICE" == "" ]; then
-               echo "$(tput setaf 1)$(tput bold)- Device node is empty!"
-               show_usage
-               tput sgr 0
-               exit 0
-       fi
-
-       if [ "$DEVICE" != "" ]; then
-               echo "Device: $DEVICE"
-       fi
-
-       if [ "$FUSING_BINARY_NUM" != 0 ]; then
-               echo "Fusing binary: "
-               for ((bid = 0 ; bid < $FUSING_BINARY_NUM ; bid++))
-               do
-                       echo "  ${FUSING_BINARY_ARRAY[bid]}"
-               done
-               echo ""
-       fi
-
-       if [ "$FORMAT" == "1" ]; then
-               echo ""
-               echo -n "$(tput setaf 3)$(tput bold)$DEVICE will be formatted, Is it OK? [y/<n>] "
-               tput sgr 0
-               read input
-               if [ "$input" == "y" ] || [ "$input" == "Y" ]; then
-                       FORMAT=2
-               else
-                       FORMAT=0
-               fi
-       fi
-}
-
-function check_device () {
-       if [ ! -b "$DEVICE" ]; then
-               echo "No such device: $DEVICE"
-               exit 0
-       fi
-
-       DEVICE=/dev/`lsblk $DEVICE -o TYPE,KNAME | awk "/^disk/ { print \\\$2 }"`
-
-       local REMOVABLE=`lsblk $DEVICE -nd -o RM | grep 1 | wc -l`
-       local LOOPBACK=`lsblk $DEVICE -nd -o TYPE | grep loop | wc -l`
-       if [ "$REMOVABLE" == "0" -a "$LOOPBACK" = "0" ]; then
-               echo ""
-               echo -n "$(tput setaf 3)$(tput bold)$DEVICE is neither a removable disk nor a loopback, Is it OK? [y/<n>] "
-               tput sgr 0
-               read input
-               if [ "$input" != "y" ] && [ "$input" != "Y" ]; then
-                       exit 0
-               fi
-       fi
-
-       if [ ! -w "$DEVICE" ]; then
-               echo "Write not permitted: $DEVICE"
-               exit 0
-       fi
-}
-
-function print_logo () {
-       echo ""
-       echo "Raspberry Pi3/4 downloader, version 2.3.2"
-       echo ""
-}
-
-print_logo
-
-function add_fusing_binary() {
-       local declare binary_name=$1
-
-       if [ "$binary_name" != "" ]; then
-               if [ -f "$binary_name" ]; then
-                       FUSING_BINARY_ARRAY[$FUSING_BINARY_NUM]=$binary_name
-
-                       FUSING_BINARY_NUM=$((FUSING_BINARY_NUM + 1))
-               else
-                       echo "No such file: $binary_name"
-               fi
-       fi
-}
-
-
-declare -i binary_option=0
-
-while test $# -ne 0; do
-       option=$1
-       shift
-
-       case $option in
-       --f | --format)
-               FORMAT="1"
-               binary_option=0
-               ;;
-       -d)
-               DEVICE=$1
-               binary_option=0
-               shift
-               ;;
-       -b)
-               add_fusing_binary $1
-               binary_option=1
-               shift
-               ;;
-       *)
-               if [ $binary_option == 1 ];then
-                       add_fusing_binary $option
-               else
-                       echo "Unkown command: $option"
-                       exit
-               fi
-               ;;
-       esac
-done
-
-print_message 3 "NOTICE: This script will is deprecated. Please use sd_fusing.py instead."
-echo
-
-check_args
-check_device
-check_partition_format
-check_ddversion
-fuse_image
diff --git a/scripts/tizen/sd_fusing_rpi4.sh b/scripts/tizen/sd_fusing_rpi4.sh
deleted file mode 100755 (executable)
index 14ce7eb..0000000
+++ /dev/null
@@ -1,628 +0,0 @@
-#!/bin/bash
-
-declare FORMAT=""
-declare DEVICE=""
-declare SKIP=0
-declare -i OLD_DD=0
-
-# Binaires array for fusing
-declare -a FUSING_BINARY_ARRAY
-declare -i FUSING_BINARY_NUM=0
-
-declare CONV_ASCII=""
-declare -i FUS_ENTRY_NUM=0
-declare -i ab_option=0
-
-# binary name | part number | bs | label | fs type
-declare -a PART_TABLE=(
-       "boot.img"                      1       4M      boot_a                  vfat
-       "rootfs.img"                    2       4M      rootfs_a                ext4
-       "system-data.img"               3       4M      system-data             ext4
-       "user.img"                      5       4M      user                    ext4
-       "modules.img"                   6       4M      module_a                ext4
-       "ramdisk.img"                   7       4M      ramdisk_a               ext4
-       "ramdisk-recovery.img"          8       4M      ramdisk-recovery_a      ext4
-       "hal.img"                       10      4M      hal_a                   ext4
-       "boot.img"                      11      4M      boot_b                  vfat
-       "rootfs.img"                    12      4M      rootfs_b                ext4
-       "modules.img"                   13      4M      module_b                ext4
-       "ramdisk.img"                   14      4M      ramdisk_b               ext4
-       "ramdisk-recovery.img"          15      4M      ramdisk-recovery_b      ext4
-       "hal.img"                       16      4M      hal_b                   ext4
-       "system.img"                    17      4M      aot-system_a            ext4
-       "system.img"                    18      4M      aot-system_b            ext4
-       "vendor.img"                    19      4M      aot-vendor_a            ext4
-       "vendor.img"                    20      4M      aot-vendor_b            ext4
-       )
-declare -a PART_TABLE_B=(
-       "boot.img"                      11      4M      boot_b                  vfat
-       "rootfs.img"                    12      4M      rootfs_b                ext4
-       "modules.img"                   13      4M      module_b                ext4
-       "ramdisk.img"                   14      4M      ramdisk_b               ext4
-       "ramdisk-recovery.img"          15      4M      ramdisk-recovery_b      ext4
-       "hal.img"                       16      4M      hal_b                   ext4
-       "system.img"                    18      4M      aot-system_b            ext4
-       "vendor.img"                    20      4M      aot-vendor_b            ext4
-       )
-
-declare -r -i PART_TABLE_COL=5
-declare -r -i PART_TABLE_ROW=${#PART_TABLE[*]}/${PART_TABLE_COL}
-declare -r -i PART_TABLE_ROW_B=${#PART_TABLE_B[*]}/${PART_TABLE_COL}
-
-# partition table support
-function get_index_use_name () {
-       local -r binary_name=$1
-
-       for ((idx=0;idx<$PART_TABLE_ROW;idx++)); do
-               if [ ${PART_TABLE[idx * ${PART_TABLE_COL} + 0]} == "$binary_name" ]; then
-                       return $idx
-               fi
-       done
-
-       # return out of bound index
-       return $idx
-}
-
-# partition table support
-function get_index_use_name_to_b () {
-       local -r binary_name=$1
-
-       for ((idx=0;idx<$PART_TABLE_ROW_B;idx++)); do
-               if [ ${PART_TABLE_B[idx * ${PART_TABLE_COL} + 0]} == "$binary_name" ]; then
-                       return $idx
-               fi
-       done
-
-       # return out of bound index
-       return $idx
-}
-
-function print_message () {
-       local color=$1
-       local message=$2
-
-       tput setaf $color
-       tput bold
-       echo ""
-       echo $message
-       tput sgr 0
-}
-
-function check_ddversion () {
-       # NOTE
-       # before coreutils dd 8.24, dd doesn't support "status=progress"
-       # and the option causes fusing failure. For backward compatibility,
-       # do not use the option for old dd
-       local version=(`dd --version | head -1 | grep -o '[0-9]\+'`)
-       local major=${version[0]}
-       local minor=${version[1]}
-
-       if [ $major -lt 8 ];  then
-               OLD_DD=1
-       elif [ $major -eq 8 -a $minor -lt 24 ];  then
-               OLD_DD=1
-       fi
-}
-
-function fusing_image () {
-       if [ $ab_option == 2 ] ; then
-               echo "Skip to update Partition A"
-               return
-       fi
-       local -r fusing_img=$1
-
-       # get binary info using basename
-       get_index_use_name $(basename "$fusing_img")
-       local -r -i part_idx=$?
-
-       if [ $part_idx -ne $PART_TABLE_ROW ];then
-               local -r num=${PART_TABLE[${part_idx} * ${PART_TABLE_COL} + 1]}
-               if [ "${num}" == "" ]; then
-                       local -r blktype=disk
-               else
-                       local -r blktype=part
-               fi
-               local -r device=/dev/`lsblk ${DEVICE} -o TYPE,KNAME | awk "/^${blktype}.*[a-z]${num}\$/ { print \\\$2 }"`
-               local -r bs=${PART_TABLE[${part_idx} * ${PART_TABLE_COL} + 2]}
-       else
-               echo "Unsupported binary: $fusing_img"
-               return
-       fi
-
-       local -r input_size=`du -b $fusing_img | awk '{print $1}'`
-       local -r input_size_mb=`expr $input_size / 1024 / 1024`
-
-       print_message 2 "[Fusing $1 ($input_size_mb MiB)]"
-       if [ "$blktype" == "part" ]; then
-               local MOUNT_PART=`mount | grep $device`
-               if [ "$MOUNT_PART" != "" ]; then
-                       umount $device
-               fi
-       fi
-       if [ $OLD_DD == 1 ]; then
-               dd if=$fusing_img | pv -s $input_size | dd of=$device bs=$bs
-       else
-               dd if=$fusing_img of=$device bs=$bs status=progress oflag=direct
-       fi
-}
-
-function fusing_image_to_b () {
-       if [ $ab_option == 0 ]  ; then
-               echo "Skip to update Partition B"
-               return
-       fi
-       local -r fusing_img=$1
-
-       # get binary info using basename
-       get_index_use_name_to_b $(basename "$fusing_img")
-
-       local -r -i part_idx=$?
-
-       if [ $part_idx -ne $PART_TABLE_ROW_B ];then
-               local -r num=${PART_TABLE_B[${part_idx} * ${PART_TABLE_COL} + 1]}
-               if [ "${num}" == "" ]; then
-                       local -r blktype=disk
-               else
-                       local -r blktype=part
-               fi
-               local -r device=/dev/`lsblk ${DEVICE} -o TYPE,KNAME | awk "/^${blktype}.*[a-z]${num}\$/ { print \\\$2 }"`
-               local -r bs=${PART_TABLE_B[${part_idx} * ${PART_TABLE_COL} + 2]}
-       else
-               echo "Unsupported binary: $fusing_img"
-               return
-       fi
-
-       local -r input_size=`du -b $fusing_img | awk '{print $1}'`
-       local -r input_size_mb=`expr $input_size / 1024 / 1024`
-
-       print_message 2 "[Fusing $1 ($input_size_mb MiB)]"
-       if [ "$blktype" == "part" ]; then
-               local MOUNT_PART=`mount | grep $device`
-               if [ "$MOUNT_PART" != "" ]; then
-                       umount $device
-               fi
-       fi
-       if [ $OLD_DD == 1 ]; then
-               dd if=$fusing_img | pv -s $input_size | dd of=$device bs=$bs
-       else
-               dd if=$fusing_img of=$device bs=$bs status=progress oflag=direct
-       fi
-}
-
-function fuse_image_tarball () {
-       local -r filepath=$1
-       local -r temp_dir="tar_tmp"
-
-       mkdir -p $temp_dir
-       tar xvf $filepath -C $temp_dir
-       cd $temp_dir
-
-       for file in *
-       do
-               fusing_image $file
-               fusing_image_to_b $file
-       done
-
-       cd ..
-       rm -rf $temp_dir
-       eval sync
-}
-
-function initialize_parameter () {
-       # create "reboot-param.bin" file in inform partition for passing reboot parameter
-       # It should be done only once upon partition format.
-       local -r DISK=$DEVICE
-       local -r PART9=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]9\$"`
-
-       if [ -d mnt_tmp ]; then
-               echo "Remove the existing mnt_tmp directory!!"
-               rm -rf mnt_tmp
-       fi
-       mkdir mnt_tmp
-       mount -t ext4 ${PART9} ./mnt_tmp
-       echo "norm" > ./mnt_tmp/reboot-param.bin
-       echo "norm" > ./mnt_tmp/reboot-param.info
-       echo "a" > ./mnt_tmp/partition-ab.info
-       echo "1" > ./mnt_tmp/partition-ab-cloned.info
-       echo "0" > ./mnt_tmp/upgrade-status.info
-
-       # To check the status of partition. (default "ok")
-       echo "ok" > ./mnt_tmp/partition-a-status.info
-       echo "ok" > ./mnt_tmp/partition-b-status.info
-
-       sync
-       umount ./mnt_tmp
-       rmdir mnt_tmp
-}
-
-function fuse_image () {
-
-       if [ "$FUSING_BINARY_NUM" == 0 ]; then
-               return
-       fi
-
-       # Clear preivous values before flashing image
-       initialize_parameter
-
-       for ((fuse_idx = 0 ; fuse_idx < $FUSING_BINARY_NUM ; fuse_idx++))
-       do
-               local filename=${FUSING_BINARY_ARRAY[fuse_idx]}
-
-               case "$filename" in
-                   *.tar | *.tar.gz)
-                       fuse_image_tarball $filename
-                       ;;
-                   *)
-                       fusing_image $filename
-                       fusing_image_to_b $filename
-                       ;;
-               esac
-       done
-       echo ""
-}
-
-# partition format
-function mkpart_3 () {
-       # NOTE: if your sfdisk version is less than 2.26.0, then you should use following sfdisk command:
-       # sfdisk --in-order --Linux --unit M $DISK <<-__EOF__
-
-       # NOTE: sfdisk 2.26 doesn't support units other than sectors and marks --unit option as deprecated.
-       # The input data needs to contain multipliers (MiB) instead.
-       local version=(`sfdisk -v | grep -o '[0-9]\+'`)
-       local major=${version[0]}
-       local minor=${version[1]}
-       local sfdisk_new=0
-       local support_delete=0
-
-       if [ $major -gt 2 ];  then
-               sfdisk_new=1
-               if [ $major -eq 2 -a $minor -ge 28 ]; then
-                       support_delete=1
-               fi
-       else
-               if [ $major -eq 2 -a $minor -ge 26 ];  then
-                       sfdisk_new=1
-               fi
-       fi
-
-       if [ $sfdisk_new == 0 ]; then
-               echo "$(tput setaf 3)$(tput bold)NOTICE: Your sfdisk ${version[0]}.${version[1]}  version is too old. Update Latest sfdisk!"
-               tput sgr 0
-               exit -1
-       fi
-
-       local -r DISK=$DEVICE
-       local -r SIZE=`sfdisk -s $DISK`
-       local -r SIZE_MB=$((SIZE >> 10))
-
-       local -r BOOT_SZ=64
-       local -r ROOTFS_SZ=3072
-       local -r DATA_SZ=1344
-       local -r MODULE_SZ=32
-       local -r RAMDISK_SZ=32
-       local -r RAMDISK_RECOVERY_SZ=32
-       local -r INFORM_SZ=8
-       local -r HAL_SZ=256
-       local -r PARAM_SZ=4
-       local -r RESERVED1_SZ=64
-       local -r RESERVED2_SZ=125
-       local -r EXTEND_SZ=36
-       local -r AOT_SYSTEM_SZ=1536
-       local -r AOT_VENDOR_SZ=256
-
-       let "USER_SZ = $SIZE_MB - $BOOT_SZ * 2 - $ROOTFS_SZ * 2 - $DATA_SZ - $MODULE_SZ * 2 - $RAMDISK_SZ * 2 - $RAMDISK_RECOVERY_SZ * 2 - $INFORM_SZ - $EXTEND_SZ - $HAL_SZ * 2 - $RESERVED1_SZ - $RESERVED2_SZ - $PARAM_SZ - $AOT_SYSTEM_SZ * 2 - $AOT_VENDOR_SZ *2"
-
-       local -r BOOT_A=${PART_TABLE[0 * ${PART_TABLE_COL} + 3]}
-       local -r ROOTFS_A=${PART_TABLE[1 * ${PART_TABLE_COL} + 3]}
-       local -r SYSTEMDATA=${PART_TABLE[2 * ${PART_TABLE_COL} + 3]}
-       local -r USER=${PART_TABLE[3 * ${PART_TABLE_COL} + 3]}
-       local -r MODULE_A=${PART_TABLE[4 * ${PART_TABLE_COL} + 3]}
-       local -r RAMDISK_A=${PART_TABLE[5 * ${PART_TABLE_COL} + 3]}
-       local -r RAMDISK_RECOVERY_A=${PART_TABLE[6 * ${PART_TABLE_COL} + 3]}
-       local -r INFORM=inform
-       local -r HAL_A=${PART_TABLE[7 * ${PART_TABLE_COL} + 3]}
-       local -r BOOT_B=${PART_TABLE[8 * ${PART_TABLE_COL} + 3]}
-       local -r ROOTFS_B=${PART_TABLE[9 * ${PART_TABLE_COL} + 3]}
-       local -r MODULE_B=${PART_TABLE[10 * ${PART_TABLE_COL} + 3]}
-       local -r RAMDISK_B=${PART_TABLE[11 * ${PART_TABLE_COL} + 3]}
-       local -r RAMDISK_RECOVERY_B=${PART_TABLE[12 * ${PART_TABLE_COL} + 3]}
-       local -r HAL_B=${PART_TABLE[13 * ${PART_TABLE_COL} + 3]}
-       local -r AOT_SYSTEM_A=${PART_TABLE[14 * ${PART_TABLE_COL} + 3]}
-       local -r AOT_SYSTEM_B=${PART_TABLE[15 * ${PART_TABLE_COL} + 3]}
-       local -r AOT_VENDOR_A=${PART_TABLE[16 * ${PART_TABLE_COL} + 3]}
-       local -r AOT_VENDOR_B=${PART_TABLE[17 * ${PART_TABLE_COL} + 3]}
-       local -r RESERVED0=reserved0
-       local -r RESERVED1=reserved1
-       local -r RESERVED2=reserved2
-
-       if [[ $USER_SZ -le 100 ]]
-       then
-               echo "We recommend to use more than 8GB disk"
-               exit 0
-       fi
-
-       echo "================================================"
-       echo "Label                     dev             size"
-       echo "================================================"
-       echo $BOOT_A"                   " $DISK"1       " $BOOT_SZ "MB"
-       echo $ROOTFS_A"                 " $DISK"2       " $ROOTFS_SZ "MB"
-       echo $SYSTEMDATA"               " $DISK"3       " $DATA_SZ "MB"
-       echo "[Extend]""                " $DISK"4"
-       echo " "$USER"                  " $DISK"5       " $USER_SZ "MB"
-       echo " "$MODULE_A"              " $DISK"6       " $MODULE_SZ "MB"
-       echo " "$RAMDISK_A"             " $DISK"7       " $RAMDISK_SZ "MB"
-       echo " "$RAMDISK_RECOVERY_A"    " $DISK"8       " $RAMDISK_RECOVERY_SZ "MB"
-       echo " "$INFORM"                " $DISK"9       " $INFORM_SZ "MB"
-       echo " "$HAL_A"                 " $DISK"10      " $HAL_SZ "MB"
-       echo " "$BOOT_B"                " $DISK"11      " $BOOT_SZ "MB"
-       echo " "$ROOTFS_B"              " $DISK"12      " $ROOTFS_SZ "MB"
-       echo " "$MODULE_B"              " $DISK"13      " $MODULE_SZ "MB"
-       echo " "$RAMDISK_B"             " $DISK"14      " $RAMDISK_SZ "MB"
-       echo " "$RAMDISK_RECOVERY_B"    " $DISK"15      " $RAMDISK_RECOVERY_SZ "MB"
-       echo " "$HAL_B"                 " $DISK"16      " $HAL_SZ "MB"
-       echo " "$AOT_SYSTEM_A"  " $DISK"17      " $AOT_SYSTEM_SZ "MB"
-       echo " "$AOT_SYSTEM_B"  " $DISK"18      " $AOT_SYSTEM_SZ "MB"
-       echo " "$AOT_VENDOR_A"  " $DISK"19      " $AOT_VENDOR_SZ "MB"
-       echo " "$AOT_VENDOR_B"  " $DISK"20      " $AOT_VENDOR_SZ "MB"
-       echo " "$RESERVED0"             " $DISK"21      " $PARAM_SZ "MB"
-       echo " "$RESERVED1"             " $DISK"22      " $RESERVED1_SZ "MB"
-       echo " "$RESERVED2"             " $DISK"23      " $RESERVED2_SZ "MB"
-
-       local MOUNT_LIST=`mount | grep $DISK | awk '{print $1}'`
-       for mnt in $MOUNT_LIST
-       do
-               umount $mnt
-       done
-
-       echo "Remove partition table..."
-       dd if=/dev/zero of=$DISK bs=512 count=32 conv=notrunc
-
-       if [ $support_delete == 1 ]; then
-               sfdisk --delete $DISK
-       fi
-
-       SCRIPT=""
-       for ((idx=0; idx < $PART_TABLE_ROW; idx++)); do
-               NR=${PART_TABLE[idx * ${PART_TABLE_COL} + 1]}
-               eval "PART_LABEL_NR_${NR}=${PART_TABLE[idx * ${PART_TABLE_COL} + 3]}"
-       done
-
-       sfdisk $DISK <<-__EOF__
-       label: gpt
-       start=4MiB, size=${BOOT_SZ}MiB, type= C12A7328-F81F-11D2-BA4B-00A0C93EC93B, name=${PART_LABEL_NR_1}
-       size=${ROOTFS_SZ}MiB, name=${PART_LABEL_NR_2}
-       size=${DATA_SZ}MiB, name=${PART_LABEL_NR_3}
-       size=${EXTEND_SZ}MiB, name=none
-       size=${USER_SZ}MiB, name=${PART_LABEL_NR_5}
-       size=${MODULE_SZ}MiB, name=${PART_LABEL_NR_6}
-       size=${RAMDISK_SZ}MiB, name=${PART_LABEL_NR_7}
-       size=${RAMDISK_RECOVERY_SZ}MiB, name=${PART_LABEL_NR_8}
-       size=${INFORM_SZ}MiB, name=inform
-       size=${HAL_SZ}MiB, name=${PART_LABEL_NR_10}
-       size=${BOOT_SZ}MiB, type= C12A7328-F81F-11D2-BA4B-00A0C93EC93B, name=${PART_LABEL_NR_11}
-       size=${ROOTFS_SZ}MiB, name=${PART_LABEL_NR_12}
-       size=${MODULE_SZ}MiB, name=${PART_LABEL_NR_13}
-       size=${RAMDISK_SZ}MiB, name=${PART_LABEL_NR_14}
-       size=${RAMDISK_RECOVERY_SZ}MiB, name=${PART_LABEL_NR_15}
-       size=${HAL_SZ}MiB, name=${PART_LABEL_NR_16}
-       size=${AOT_SYSTEM_SZ}MiB, name=${PART_LABEL_NR_17}
-       size=${AOT_SYSTEM_SZ}MiB, name=${PART_LABEL_NR_18}
-       size=${AOT_VENDOR_SZ}MiB, name=${PART_LABEL_NR_19}
-       size=${AOT_VENDOR_SZ}MiB, name=${PART_LABEL_NR_20}
-       size=${PARAM_SZ}MiB, name=reserved0
-       size=${RESERVED1_SZ}MiB, name=reserved1
-       size=${RESERVED2_SZ}MiB, name=reserved2
-       __EOF__
-
-
-       for ((idx=0;idx<$PART_TABLE_ROW;idx++)); do
-               local PART=/dev/`lsblk ${DISK} -o TYPE,KNAME | awk "/^part.*[a-z]${PART_TABLE[$idx * ${PART_TABLE_COL} + 1]}\$/ { print \\\$2 }"`
-               if [ "${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]}" == "vfat" ]; then
-                       mkfs.vfat -F 16 ${PART} -n ${PART_TABLE[$idx * ${PART_TABLE_COL} + 3]}
-                       if [ $? -eq 1 ]; then
-                               echo "Failed to format as FAT filesystem"
-                               exit -1
-                       fi
-               elif [ "${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]}" == "ext4" ]; then
-                       mkfs.ext4 -q ${PART} -L ${PART_TABLE[$idx * ${PART_TABLE_COL} + 3]} -F
-               else
-                       echo "Skip to format for unknown filesystem type ${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]} for part$idx, ${PART_TABLE[$idx * ${PART_TABLE_COL} + 3]}"
-               fi
-       done
-
-       local -r PART9=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]9\$"`
-       mkfs.ext4 -q ${PART9} -L $INFORM -F -O ^metadata_csum
-
-       # initialize value of parameters
-       initialize_parameter
-
-       local -r PART21=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]17\$"`
-       mkfs.ext4 -q ${PART21} -L $RESERVED0 -F
-
-       local -r PART22=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]18\$"`
-       mkfs.ext4 -q ${PART22} -L $RESERVED1 -F
-
-       local -r PART23=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]19\$"`
-       mkfs.ext4 -q ${PART23} -L $RESERVED2 -F
-}
-
-function skip_resize () {
-       if [ "${SKIP}" == "0" ]; then
-               return 0;
-       fi
-
-       if [ ! -d mnt_tmp ] ; then
-               mkdir mnt_tmp
-       fi
-
-       mount -t ext4 ${DEVICE}3 ./mnt_tmp
-       touch ./mnt_tmp/var/.resizefs_done
-
-       echo "Rootfs resize will be skipped..."
-       sync
-       umount ./mnt_tmp
-       rmdir mnt_tmp
-}
-
-function show_usage () {
-       echo "- Usage:"
-       echo "  sudo ./sd_fusing*.sh -d <device> [-b <path> <path> ..] [--format] [--update [b] ]"
-       echo "  -d  : device node "
-       echo "  -b  : binary "
-       echo "  --update : If want to update Image about B Partition, use --update option with b"
-       echo "             Otherwise, it will be updated to both partition"
-}
-
-function check_partition_format () {
-       if [ "$FORMAT" != "2" ]; then
-               echo "-----------------------"
-               echo "Skip $DEVICE format"
-               echo "-----------------------"
-               return 0
-       fi
-
-       echo "-------------------------------"
-       echo "Start $DEVICE format"
-       echo ""
-       mkpart_3
-       echo "End $DEVICE format"
-       echo "-------------------------------"
-       echo ""
-}
-
-function check_args () {
-       if [ "$DEVICE" == "" ]; then
-               echo "$(tput setaf 1)$(tput bold)- Device node is empty!"
-               show_usage
-               tput sgr 0
-               exit 0
-       fi
-
-       if [ "$DEVICE" != "" ]; then
-               echo "Device: $DEVICE"
-       fi
-
-       if [ "$FUSING_BINARY_NUM" != 0 ]; then
-               echo "Fusing binary: "
-               for ((bid = 0 ; bid < $FUSING_BINARY_NUM ; bid++))
-               do
-                       echo "  ${FUSING_BINARY_ARRAY[bid]}"
-               done
-               echo ""
-       fi
-
-       if [ "$FORMAT" == "1" ]; then
-               echo ""
-               echo -n "$(tput setaf 3)$(tput bold)$DEVICE will be formatted, Is it OK? [y/<n>] "
-               tput sgr 0
-               read input
-               if [ "$input" == "y" ] || [ "$input" == "Y" ]; then
-                       FORMAT=2
-               else
-                       FORMAT=0
-               fi
-       fi
-}
-
-function check_device () {
-       if [ ! -b "$DEVICE" ]; then
-               echo "No such device: $DEVICE"
-               exit 0
-       fi
-
-       DEVICE=/dev/`lsblk $DEVICE -o TYPE,KNAME | awk '/^(disk|loop)/ { print $2 }'`
-
-       local REMOVABLE=`lsblk $DEVICE -nd -o RM | grep 1 | wc -l`
-       local LOOPBACK=`lsblk $DEVICE -nd -o TYPE | grep loop | wc -l`
-       if [ "$REMOVABLE" == "0" -a "$LOOPBACK" = "0" ]; then
-               echo ""
-               echo -n "$(tput setaf 3)$(tput bold)$DEVICE is neither a removable disk nor a loopback, Is it OK? [y/<n>] "
-               tput sgr 0
-               read input
-               if [ "$input" != "y" ] && [ "$input" != "Y" ]; then
-                       exit 0
-               fi
-       fi
-
-       if [ ! -w "$DEVICE" ]; then
-               echo "Write not permitted: $DEVICE"
-               exit 0
-       fi
-}
-
-function print_logo () {
-       echo ""
-       echo "Raspberry Pi4 downloader, version 1.0.13"
-       echo "$(tput setaf 1)$(tput bold)NOTE: To use this script, it has to update to latest eeprom"
-       echo ""
-}
-
-print_logo
-
-function add_fusing_binary() {
-       local declare binary_name=$1
-
-       if [ "$binary_name" != "" ]; then
-               if [ -f "$binary_name" ]; then
-                       FUSING_BINARY_ARRAY[$FUSING_BINARY_NUM]=$binary_name
-
-                       FUSING_BINARY_NUM=$((FUSING_BINARY_NUM + 1))
-               else
-                       echo "No such file: $binary_name"
-               fi
-       fi
-}
-
-
-declare -i binary_option=0
-
-while test $# -ne 0; do
-       option=$1
-       shift
-
-       case $option in
-       --f | --format)
-               FORMAT="1"
-               binary_option=0
-               ;;
-       -d)
-               DEVICE=$1
-               binary_option=0
-               shift
-               ;;
-       -b)
-               add_fusing_binary $1
-               binary_option=1
-               shift
-               ;;
-       --update)
-               if [ "$1" == "b" ] ; then
-                       ab_option=2
-                       shift
-               else
-                       ab_option=1
-               fi
-               ;;
-       --skip-resize)
-               SKIP=1
-               ;;
-       *)
-               if [ $binary_option == 1 ];then
-                       add_fusing_binary $option
-               else
-                       echo "Unkown command: $option"
-                       exit
-               fi
-               ;;
-       esac
-done
-
-print_message 3 "NOTICE: This script will is deprecated. Please use sd_fusing.py instead."
-echo
-
-check_args
-check_device
-check_partition_format
-check_ddversion
-fuse_image
-skip_resize
diff --git a/scripts/tizen/sd_fusing_vf2.sh b/scripts/tizen/sd_fusing_vf2.sh
deleted file mode 100755 (executable)
index af1dfb1..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-#!/bin/bash
-
-declare CREATE=""
-declare DEVICE=""
-declare FILE=""
-declare FORMAT=""
-declare LOOP_SIZE="8192"
-declare -i OLD_DD=0
-
-# Binaires array for fusing
-declare -a FUSING_BINARY_ARRAY
-declare -i FUSING_BINARY_NUM=0
-
-declare CONV_ASCII=""
-declare -i FUS_ENTRY_NUM=0
-declare -i ab_option=0
-
-# binary name | part number | bs | label | fs type
-declare -a PART_TABLE=(
-       "u-boot-spl.bin.normal.out"     1       4M      SPL                     raw
-       "u-boot.img"                    2       4M      u-boot                  raw
-       "u-boot.itb"                    2       4M      u-boot                  raw
-       "boot.img"                      3       4M      boot_a                  vfat
-       "rootfs.img"                    5       4M      rootfs_a                ext4
-       "system-data.img"               6       4M      system-data             ext4
-       "user.img"                      7       4M      user                    ext4
-       "modules.img"                   8       4M      module_a                ext4
-       "ramdisk.img"                   9       4M      ramdisk_a               ext4
-       "ramdisk-recovery.img"          10      4M      ramdisk-recovery_a      ext4
-       "hal.img"                       12      4M      hal_a                   ext4
-       )
-
-declare -r -i PART_TABLE_COL=5
-declare -r -i PART_TABLE_ROW=${#PART_TABLE[*]}/${PART_TABLE_COL}
-
-# tear down loopback device on exit
-trap 'test -n "$FILE" && losetup -d "$DEVICE"' EXIT
-
-# partition table support
-function get_index_use_name () {
-       local -r binary_name=$1
-
-       for ((idx=0;idx<$PART_TABLE_ROW;idx++)); do
-               if [ ${PART_TABLE[idx * ${PART_TABLE_COL} + 0]} == "$binary_name" ]; then
-                       return $idx
-               fi
-       done
-
-       # return out of bound index
-       return $idx
-}
-
-function print_message () {
-       local color=$1
-       local message=$2
-
-       tput setaf $color
-       tput bold
-       echo ""
-       echo $message
-       tput sgr 0
-}
-
-function check_ddversion () {
-       # NOTE
-       # before coreutils dd 8.24, dd doesn't support "status=progress"
-       # and the option causes fusing failure. For backward compatibility,
-       # do not use the option for old dd
-       local version=(`dd --version | head -1 | grep -o '[0-9]\+'`)
-       local major=${version[0]}
-       local minor=${version[1]}
-
-       if [ $major -lt 8 ];  then
-               OLD_DD=1
-       elif [ $major -eq 8 -a $minor -lt 24 ];  then
-               OLD_DD=1
-       fi
-}
-
-function fusing_image () {
-       local -r fusing_img=$1
-
-       # get binary info using basename
-       get_index_use_name $(basename "$fusing_img")
-       local -r -i part_idx=$?
-
-       if [ $part_idx -ne $PART_TABLE_ROW ];then
-               local -r num=${PART_TABLE[${part_idx} * ${PART_TABLE_COL} + 1]}
-               if [ "${num}" == "" ]; then
-                       local -r blktype=disk
-               else
-                       local -r blktype=part
-               fi
-               local -r device=/dev/`lsblk ${DEVICE} -o TYPE,KNAME | awk "/^${blktype}.*[a-z]${num}\$/ { print \\\$2 }"`
-               local -r bs=${PART_TABLE[${part_idx} * ${PART_TABLE_COL} + 2]}
-       else
-               echo "Unsupported binary: $fusing_img"
-               return
-       fi
-
-       local -r input_size=`du -b $fusing_img | awk '{print $1}'`
-       local -r input_size_mb=`expr $input_size / 1024 / 1024`
-
-       print_message 2 "[Fusing $1 ($input_size_mb MiB)]"
-       if [ "$blktype" == "part" ]; then
-               local MOUNT_PART=`mount | grep $device`
-               if [ "$MOUNT_PART" != "" ]; then
-                       umount $device
-               fi
-       fi
-       if [ $OLD_DD == 1 ]; then
-               dd if=$fusing_img | pv -s $input_size | dd of=$device bs=$bs
-       else
-               dd if=$fusing_img of=$device bs=$bs status=progress oflag=direct
-       fi
-}
-
-function fuse_image_tarball () {
-       local -r filepath=$1
-       local -r temp_dir="tar_tmp"
-
-       mkdir -p $temp_dir
-       tar xvf $filepath -C $temp_dir
-       cd $temp_dir
-
-       for file in *
-       do
-               fusing_image $file
-       done
-
-       cd ..
-       rm -rf $temp_dir
-       eval sync
-}
-
-function fuse_image () {
-
-       if [ "$FUSING_BINARY_NUM" == 0 ]; then
-               return
-       fi
-
-       for ((fuse_idx = 0 ; fuse_idx < $FUSING_BINARY_NUM ; fuse_idx++))
-       do
-               local filename=${FUSING_BINARY_ARRAY[fuse_idx]}
-
-               case "$filename" in
-                   *.tar | *.tar.gz)
-                       fuse_image_tarball $filename
-                       ;;
-                   *)
-                       fusing_image $filename
-                       ;;
-               esac
-       done
-       echo ""
-}
-
-# partition format
-function mkpart_3 () {
-       # NOTE: if your sfdisk version is less than 2.26.0, then you should use following sfdisk command:
-       # sfdisk --in-order --Linux --unit M $DISK <<-__EOF__
-
-       # NOTE: sfdisk 2.26 doesn't support units other than sectors and marks --unit option as deprecated.
-       # The input data needs to contain multipliers (MiB) instead.
-       local version=(`sfdisk -v | grep -o '[0-9]\+'`)
-       local major=${version[0]}
-       local minor=${version[1]}
-       local sfdisk_new=0
-       local support_delete=0
-
-       if [ $major -gt 2 ];  then
-               sfdisk_new=1
-               if [ $major -eq 2 -a $minor -ge 28 ]; then
-                       support_delete=1
-               fi
-       else
-               if [ $major -eq 2 -a $minor -ge 26 ];  then
-                       sfdisk_new=1
-               fi
-       fi
-
-       if [ $sfdisk_new == 0 ]; then
-               echo "$(tput setaf 3)$(tput bold)NOTICE: Your sfdisk ${version[0]}.${version[1]}  version is too old. Update Latest sfdisk!"
-               tput sgr 0
-               exit -1
-       fi
-
-       local -r DISK=$DEVICE
-       local -r SIZE=`sfdisk -s $DISK`
-       local -r SIZE_MB=$((SIZE >> 10))
-
-       local -r SPL_SZ=2
-       local -r UBOOT_SZ=4
-       local -r BOOT_SZ=292
-       local -r ROOTFS_SZ=3072
-       local -r DATA_SZ=1344
-       local -r MODULE_SZ=32
-       local -r RAMDISK_SZ=32
-       local -r RAMDISK_RECOVERY_SZ=32
-       local -r INFORM_SZ=8
-       local -r HAL_SZ=256
-       local -r PARAM_SZ=4
-       local -r DATA_SIZE=1344
-       local -r RESERVED1_SZ=64
-       local -r RESERVED2_SZ=125
-       local -r EXTEND_SZ=36
-
-       let "USER_SZ = $SIZE_MB - $SPL_SZ - $UBOOT_SZ - $BOOT_SZ - $ROOTFS_SZ - $DATA_SZ - $MODULE_SZ - $RAMDISK_SZ - $RAMDISK_RECOVERY_SZ - $INFORM_SZ - $EXTEND_SZ - $HAL_SZ - $RESERVED1_SZ - $RESERVED2_SZ - $PARAM_SZ"
-
-       local -r SPL=spl
-       local -r UBOOT=uboot
-       local -r BOOT_A=${PART_TABLE[0 * ${PART_TABLE_COL} + 3]}
-       local -r ROOTFS_A=${PART_TABLE[1 * ${PART_TABLE_COL} + 3]}
-       local -r SYSTEMDATA=${PART_TABLE[2 * ${PART_TABLE_COL} + 3]}
-       local -r USER=${PART_TABLE[3 * ${PART_TABLE_COL} + 3]}
-       local -r MODULE_A=${PART_TABLE[4 * ${PART_TABLE_COL} + 3]}
-       local -r RAMDISK_A=${PART_TABLE[5 * ${PART_TABLE_COL} + 3]}
-       local -r RAMDISK_RECOVERY_A=${PART_TABLE[6 * ${PART_TABLE_COL} + 3]}
-       local -r INFORM=inform
-       local -r HAL_A=${PART_TABLE[7 * ${PART_TABLE_COL} + 3]}
-       local -r RESERVED0=reserved0
-       local -r RESERVED1=reserved1
-       local -r RESERVED2=reserved2
-
-       if [[ $USER_SZ -le 100 ]]
-       then
-               echo "We recommend to use more than 8GB disk"
-               exit 0
-       fi
-
-       echo "================================================"
-       echo "Label                     dev             size"
-       echo "================================================"
-       echo $SPL"                      " $DISK"1       " $SPL_SZ "MB"
-       echo $UBOOT"                    " $DISK"2       " $UBOOT_SZ "MB"
-       echo $BOOT_A"                   " $DISK"3       " $BOOT_SZ "MB"
-       echo "[Extend]""                " $DISK"4"
-       echo " "$SYSTEMDATA"            " $DISK"5       " $DATA_SZ "MB"
-       echo " "$ROOTFS_A"              " $DISK"6       " $ROOTFS_SZ "MB"
-       echo " "$USER"                  " $DISK"7       " $USER_SZ "MB"
-       echo " "$MODULE_A"              " $DISK"8       " $MODULE_SZ "MB"
-       echo " "$RAMDISK_A"             " $DISK"9       " $RAMDISK_SZ "MB"
-       echo " "$RAMDISK_RECOVERY_A"    " $DISK"10      " $RAMDISK_RECOVERY_SZ "MB"
-       echo " "$INFORM"                " $DISK"11      " $INFORM_SZ "MB"
-       echo " "$HAL_A"                 " $DISK"12      " $HAL_SZ "MB"
-       echo " "$RESERVED0"             " $DISK"13      " $PARAM_SZ "MB"
-       echo " "$RESERVED1"             " $DISK"14      " $RESERVED1_SZ "MB"
-       echo " "$RESERVED2"             " $DISK"15      " $RESERVED2_SZ "MB"
-
-       local MOUNT_LIST=`mount | grep $DISK | awk '{print $1}'`
-       for mnt in $MOUNT_LIST
-       do
-               umount $mnt
-       done
-
-       echo "Remove partition table..."
-       dd if=/dev/zero of=$DISK bs=512 count=32 conv=notrunc
-
-       if [ $support_delete == 1 ]; then
-               sfdisk --delete $DISK
-       fi
-
-       SCRIPT=""
-       for ((idx=0; idx < $PART_TABLE_ROW; idx++)); do
-               NR=${PART_TABLE[idx * ${PART_TABLE_COL} + 1]}
-               eval "PART_LABEL_NR_${NR}=${PART_TABLE[idx * ${PART_TABLE_COL} + 3]}"
-       done
-
-       sfdisk $DISK <<-__EOF__
-       label: gpt
-       start=4MiB, type= 2E54B353-1271-4842-806F-E436D6AF6985, size=${SPL_SZ}MiB, name=spl
-       size=${UBOOT_SZ}MiB, type=5B193300-FC78-40CD-8002-E86C45580B47, name=uboot
-       size=${BOOT_SZ}MiB, type= C12A7328-F81F-11D2-BA4B-00A0C93EC93B, name=${PART_LABEL_NR_3}
-       size=${EXTEND_SZ}MiB, name=none
-       size=${ROOTFS_SZ}MiB, name=${PART_LABEL_NR_5}
-       size=${DATA_SZ}MiB, name=${PART_LABEL_NR_6}
-       size=${USER_SZ}MiB, name=${PART_LABEL_NR_7}
-       size=${MODULE_SZ}MiB, name=${PART_LABEL_NR_8}
-       size=${RAMDISK_SZ}MiB, name=${PART_LABEL_NR_9}
-       size=${RAMDISK_RECOVERY_SZ}MiB, name=${PART_LABEL_NR_10}
-       size=${INFORM_SZ}MiB, name=inform
-       size=${HAL_SZ}MiB, name=${PART_LABEL_NR_12}
-       size=${PARAM_SZ}MiB, name=reserved0
-       size=${RESERVED1_SZ}MiB, name=reserved1
-       size=${RESERVED2_SZ}MiB, name=reserved2
-       __EOF__
-
-
-       for ((idx=0;idx<$PART_TABLE_ROW;idx++)); do
-               local PART=/dev/`lsblk ${DISK} -o TYPE,KNAME | awk "/^part.*[a-z]${PART_TABLE[$idx * ${PART_TABLE_COL} + 1]}\$/ { print \\\$2 }"`
-               if [ "${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]}" == "vfat" ]; then
-                       mkfs.vfat -F 16 ${PART} -n ${PART_TABLE[$idx * ${PART_TABLE_COL} + 3]}
-                       if [ $? -eq 1 ]; then
-                               echo "Failed to format as FAT filesystem"
-                               exit -1
-                       fi
-               elif [ "${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]}" == "ext4" ]; then
-                       mkfs.ext4 -q ${PART} -L ${PART_TABLE[$idx * ${PART_TABLE_COL} + 3]} -F
-               else
-                       echo "Skip to format for unknown filesystem type ${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]} for part$idx, ${PART_TABLE[$idx * ${PART_TABLE_COL} + 3]}"
-               fi
-       done
-}
-
-function show_usage () {
-       echo "- Usage:"
-       echo "  sudo ./sd_fusing*.sh -d <device> [-b <path> <path> ..] [--format] [--create]"
-       echo "  --create : create the backing file and format the loopback device"
-       echo "  -d       : device node or loopback backing file"
-       echo "  -b       : binary"
-       echo "  -s       : size of the loopback device to create in MiB"
-}
-
-function check_partition_format () {
-       if [ "$FORMAT" != "2" ]; then
-               echo "-----------------------"
-               echo "Skip $DEVICE format"
-               echo "-----------------------"
-               return 0
-       fi
-
-       echo "-------------------------------"
-       echo "Start $DEVICE format"
-       echo ""
-       mkpart_3
-       echo "End $DEVICE format"
-       echo "-------------------------------"
-       echo ""
-}
-
-function check_args () {
-       if [ "$DEVICE" == "" ]; then
-               echo "$(tput setaf 1)$(tput bold)- Device node is empty!"
-               show_usage
-               tput sgr 0
-               exit 0
-       fi
-
-       if [ "$DEVICE" != "" ]; then
-               echo "Device: $DEVICE"
-       fi
-
-       if [ "$FUSING_BINARY_NUM" != 0 ]; then
-               echo "Fusing binary: "
-               for ((bid = 0 ; bid < $FUSING_BINARY_NUM ; bid++))
-               do
-                       echo "  ${FUSING_BINARY_ARRAY[bid]}"
-               done
-               echo ""
-       fi
-
-       if [ "$FORMAT" == "1" ]; then
-               echo ""
-               echo -n "$(tput setaf 3)$(tput bold)$DEVICE will be formatted, Is it OK? [y/<n>] "
-               tput sgr 0
-               read input
-               if [ "$input" == "y" ] || [ "$input" == "Y" ]; then
-                       FORMAT=2
-               else
-                       FORMAT=0
-               fi
-       fi
-}
-
-function check_device () {
-       if [ ! -e "$DEVICE" -a "$CREATE" == "1" ]; then
-               dd if=/dev/zero of="$DEVICE" conv=sparse bs=1M count=$LOOP_SIZE
-               if [ "$?" != "0" ]; then
-                       echo "Failed to create the backing file"
-                       exit -1
-               fi
-       fi
-       if [ -f "$DEVICE" ]; then
-               FILE="$DEVICE"
-               DEVICE=$(losetup --partscan --show --find $FILE)
-               if [ "$?" != "0" ]; then
-                       echo "Failed to set up the loopback device"
-                       exit -1
-               fi
-       fi
-
-       if [ ! -b "$DEVICE" ]; then
-               echo "No such device: $DEVICE"
-               exit 0
-       fi
-
-       DEVICE=/dev/`lsblk $DEVICE -o TYPE,KNAME | awk '/^(disk|loop)/ { print $2 }'`
-
-       local REMOVABLE=`lsblk $DEVICE -nd -o RM | grep 1 | wc -l`
-       local LOOPBACK=`lsblk $DEVICE -nd -o TYPE | grep loop | wc -l`
-       if [ "$REMOVABLE" == "0" -a "$LOOPBACK" == "0" ]; then
-               echo ""
-               echo -n "$(tput setaf 3)$(tput bold)$DEVICE is neither a removable disk nor a loopback, Is it OK? [y/<n>] "
-               tput sgr 0
-               read input
-               if [ "$input" != "y" ] && [ "$input" != "Y" ]; then
-                       exit 0
-               fi
-       fi
-
-       if [ ! -w "$DEVICE" ]; then
-               echo "Write not permitted: $DEVICE"
-               exit 0
-       fi
-}
-
-function print_logo () {
-       echo ""
-       echo "For VisionFive2 and QEMU, version 1.1.0"
-       echo ""
-}
-
-print_logo
-
-function add_fusing_binary() {
-       local declare binary_name=$1
-
-       if [ "$binary_name" != "" ]; then
-               if [ -f "$binary_name" ]; then
-                       FUSING_BINARY_ARRAY[$FUSING_BINARY_NUM]=$binary_name
-
-                       FUSING_BINARY_NUM=$((FUSING_BINARY_NUM + 1))
-               else
-                       echo "No such file: $binary_name"
-               fi
-       fi
-}
-
-
-declare -i binary_option=0
-
-while test $# -ne 0; do
-       option=$1
-       shift
-
-       case $option in
-       -c | --create)
-               CREATE="1"
-               set -- -f "${@}"
-               binary_option=0
-               ;;
-       -f | --format)
-               FORMAT="1"
-               binary_option=0
-               ;;
-       -d)
-               DEVICE=$1
-               binary_option=0
-               shift
-               ;;
-       -b)
-               add_fusing_binary $1
-               binary_option=1
-               shift
-               ;;
-       -s)
-               LOOP_SIZE=$1
-               binary_option=0
-               shift
-               ;;
-       *)
-               if [ $binary_option == 1 ];then
-                       add_fusing_binary $option
-               else
-                       echo "Unkown command: $option"
-                       exit
-               fi
-               ;;
-       esac
-done
-
-print_message 3 "NOTICE: This script will be deprecated. Please use sd_fusing.py instead."
-echo
-
-check_args
-check_device
-check_partition_format
-check_ddversion
-fuse_image