From 4e5c73e2e035b17ed6884f38264d3ab5976b2665 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Tue, 30 Mar 2021 16:40:27 +0900 Subject: [PATCH] scripts: tizen: sd_fusing: Use array for partition information Use array for partition information to remove duplication. Change-Id: I6a8c5e3921cda24dc075321dcd5383dfda64149b Signed-off-by: Seung-Woo Kim --- scripts/tizen/sd_fusing_rpi3.sh | 78 +++++++++++++++++------------------------ scripts/tizen/sd_fusing_xu4.sh | 67 ++++++++++++++++------------------- 2 files changed, 62 insertions(+), 83 deletions(-) diff --git a/scripts/tizen/sd_fusing_rpi3.sh b/scripts/tizen/sd_fusing_rpi3.sh index 47ea512..bfdc232 100755 --- a/scripts/tizen/sd_fusing_rpi3.sh +++ b/scripts/tizen/sd_fusing_rpi3.sh @@ -11,19 +11,19 @@ declare -i FUSING_BINARY_NUM=0 declare CONV_ASCII="" declare -i FUS_ENTRY_NUM=0 -# binary name | part number | bs +# binary name | part number | bs | label | fs type declare -a PART_TABLE=( - "boot.img" 1 4M - "rootfs.img" 2 4M - "system-data.img" 3 4M - "user.img" 5 4M - "modules.img" 6 4M - "ramdisk.img" 7 4M - "ramdisk-recovery.img" 8 4M - "hal.img" 10 4M + "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=3 +declare -r -i PART_TABLE_COL=5 declare -r -i PART_TABLE_ROW=${#PART_TABLE[*]}/${PART_TABLE_COL} # partition table support @@ -182,15 +182,15 @@ function mkpart_3 () { 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=boot - local -r ROOTFS=rootfs - local -r SYSTEMDATA=system-data - local -r USER=user - local -r MODULE=modules - local -r RAMDISK=ramdisk - local -r RAMDISK_RECOVERY=ramdisk-recovery + 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=hal + local -r HAL=${PART_TABLE[7 * ${PART_TABLE_COL} + 3]} local -r RESERVED2=reserved2 if [[ $USER_SZ -le 100 ]] @@ -262,45 +262,31 @@ function mkpart_3 () { __EOF__ fi - local -r PART1=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]1\$"` - mkfs.vfat -F 16 ${PART1} -n $BOOT - - local -r PART2=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]2\$"` - mkfs.ext4 -q ${PART2} -L $ROOTFS -F - - local -r PART3=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]3\$"` - mkfs.ext4 -q ${PART3} -L $SYSTEMDATA -F - - local -r PART5=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]5\$"` - mkfs.ext4 -q ${PART5} -L $USER -F - - local -r PART6=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]6\$"` - mkfs.ext4 -q ${PART6} -L $MODULE -F - - local -r PART7=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]7\$"` - mkfs.ext4 -q ${PART7} -L $RAMDISK -F - - local -r PART8=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]8\$"` - mkfs.ext4 -q ${PART8} -L $RAMDISK_RECOVERY -F + for ((idx=0;idx<$PART_TABLE_ROW;idx++)); do + local PART=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]${PART_TABLE[$idx * ${PART_TABLE_COL} + 1]}\$"` + if [ "${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]}" == "vfat" ]; then + mkfs.vfat -F 16 ${PART} -n ${PART_TABLE[$idx * ${PART_TABLE_COL} + 3]} + 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 - local -r PART10=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]10\$"` - mkfs.ext4 -q ${PART10} -L $HAL -F - - 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 - # create "reboot-param.bin" file in inform partition for passing reboot parameter # It should be done only once upon partition format. - umount ${PART9} 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 () { @@ -384,7 +370,7 @@ function check_device () { function print_logo () { echo "" - echo "Raspberry Pi downloader, version 2.0.3" + echo "Raspberry Pi downloader, version 2.0.4" echo "" } diff --git a/scripts/tizen/sd_fusing_xu4.sh b/scripts/tizen/sd_fusing_xu4.sh index 5f6dfa4..6edcb07 100755 --- a/scripts/tizen/sd_fusing_xu4.sh +++ b/scripts/tizen/sd_fusing_xu4.sh @@ -11,22 +11,22 @@ declare -i FUSING_BINARY_NUM=0 declare CONV_ASCII="" declare -i FUS_ENTRY_NUM=0 -# binary name | part number | offset | bs +# binary name | part number | offset | bs | label | fs type declare -a PART_TABLE=( - "bl1.bin.hardkernel" "" 1 512 - "bl2.bin.hardkernel.1mb_uboot" "" 31 512 - "u-boot-mmc.bin" "" 63 512 - "tzsw.bin.hardkernel" "" 2111 512 - "params.bin" "" 6272 512 - "boot.img" 1 0 4M - "rootfs.img" 2 0 4M - "system-data.img" 3 0 4M - "user.img" 5 0 4M - "modules.img" 6 0 4M - "ramdisk.img" 7 0 4M + "bl1.bin.hardkernel" "" 1 512 "" "" + "bl2.bin.hardkernel.1mb_uboot" "" 31 512 "" "" + "u-boot-mmc.bin" "" 63 512 "" "" + "tzsw.bin.hardkernel" "" 2111 512 "" "" + "params.bin" "" 6272 512 "" "" + "boot.img" 1 0 4M boot vfat + "rootfs.img" 2 0 4M rootfs ext4 + "system-data.img" 3 0 4M system-data ext4 + "user.img" 5 0 4M user ext4 + "modules.img" 6 0 4M modules ext4 + "ramdisk.img" 7 0 4M ramdisk ext4 ) -declare -r -i PART_TABLE_COL=4 +declare -r -i PART_TABLE_COL=6 declare -r -i PART_TABLE_ROW=${#PART_TABLE[*]}/${PART_TABLE_COL} # partition table support @@ -243,12 +243,12 @@ function mkpart_3 () { let "USER_SZ = $SIZE_MB - $BOOT_SZ - $ROOTFS_SZ - $DATA_SZ - $MODULE_SZ - $EXTEND_SZ - $RAMDISK_SZ" - local -r BOOT=boot - local -r ROOTFS=rootfs - local -r SYSTEMDATA=system-data - local -r USER=user - local -r MODULE=modules - local -r RAMDISK=ramdisk + local -r BOOT=${PART_TABLE[5 * ${PART_TABLE_COL} + 4]} + local -r ROOTFS=${PART_TABLE[6 * ${PART_TABLE_COL} + 4]} + local -r SYSTEMDATA=${PART_TABLE[7 * ${PART_TABLE_COL} + 4]} + local -r USER=${PART_TABLE[8 * ${PART_TABLE_COL} + 4]} + local -r MODULE=${PART_TABLE[9 * ${PART_TABLE_COL} + 4]} + local -r RAMDISK=${PART_TABLE[10 * ${PART_TABLE_COL} + 4]} if [[ $USER_SZ -le 100 ]] then @@ -303,23 +303,16 @@ function mkpart_3 () { __EOF__ fi - local -r PART1=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]1\$"` - mkfs.vfat -F 16 ${PART1} -n $BOOT - - local -r PART2=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]2\$"` - mkfs.ext4 -q ${PART2} -L $ROOTFS -F - - local -r PART3=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]3\$"` - mkfs.ext4 -q ${PART3} -L $SYSTEMDATA -F - - local -r PART5=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]5\$"` - mkfs.ext4 -q ${PART5} -L $USER -F - - local -r PART6=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]6\$"` - mkfs.ext4 -q ${PART6} -L $MODULE -F - - local -r PART7=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]7\$"` - mkfs.ext4 -q ${PART7} -L $RAMDISK -F + for ((idx=5;idx<$PART_TABLE_ROW;idx++)); do + local PART=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]${PART_TABLE[$idx * ${PART_TABLE_COL} + 1]}\$"` + if [ "${PART_TABLE[$idx * ${PART_TABLE_COL} + 5]}" == "vfat" ]; then + mkfs.vfat -F 16 ${PART} -n ${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]} + elif [ "${PART_TABLE[$idx * ${PART_TABLE_COL} + 5]}" == "ext4" ]; then + mkfs.ext4 -q ${PART} -L ${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]} -F + else + echo "Skip to format for unknown filesystem type ${PART_TABLE[$idx * ${PART_TABLE_COL} + 5]} for part$idx, ${PART_TABLE[$idx * ${PART_TABLE_COL} + 4]}" + fi + done } function show_usage () { @@ -403,7 +396,7 @@ function check_device () { function print_logo () { echo "" - echo "[Odroid-XU3/4 downloader version 1.4.1]" + echo "[Odroid-XU3/4 downloader version 1.4.2]" echo "This version also supports Tizen 4.0." echo "" } -- 2.7.4