From: Jaehoon Chung Date: Mon, 13 Jun 2022 06:04:18 +0000 (+0900) Subject: scripts: tizen: rpi4: add hal_a/b partition X-Git-Tag: submit/tizen/20220616.045700~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F43%2F276243%2F1;p=platform%2Fkernel%2Fu-boot.git scripts: tizen: rpi4: add hal_a/b partition Add hal_a/b partition and don't support older sfdisk command anymore. The maintaining older sfdisk command is wasted the cost. Change-Id: Ic1fa41017cb9fa7d0aaae022509821545c627503 Signed-off-by: Jaehoon Chung --- diff --git a/scripts/tizen/sd_fusing_rpi4.sh b/scripts/tizen/sd_fusing_rpi4.sh index 325ec8370a..0de0f381d8 100755 --- a/scripts/tizen/sd_fusing_rpi4.sh +++ b/scripts/tizen/sd_fusing_rpi4.sh @@ -20,17 +20,19 @@ declare -a PART_TABLE=( "modules.img" 6 4M modules_a ext4 "ramdisk.img" 7 4M ramdisk_a ext4 "ramdisk-recovery.img" 8 4M recovery_a ext4 - "hal.img" 10 4M hal ext4 + "hal.img" 10 4M hal_a ext4 "rootfs.img" 11 4M rootfs_b ext4 "modules.img" 12 4M modules_b ext4 "ramdisk.img" 13 4M ramdisk_b ext4 "ramdisk-recovery.img" 14 4M recovery_b ext4 + "hal.img" 15 4M hal_b ext4 ) declare -a PART_TABLE_B=( "rootfs.img" 11 4M rootfs_b ext4 "modules.img" 12 4M modules_b ext4 "ramdisk.img" 13 4M ramdisk_b ext4 "ramdisk-recovery.img" 14 4M recovery_b ext4 + "hal.img" 15 4M hal_b ext4 ) declare -r -i PART_TABLE_COL=5 @@ -246,10 +248,8 @@ function mkpart_3 () { 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 "" - + echo "$(tput setaf 3)$(tput bold)NOTICE: Your sfdisk ${version[0]}.${version[1]} version is too old. Update Latest sfdisk!" + exit -1 fi local -r DISK=$DEVICE @@ -264,10 +264,10 @@ function mkpart_3 () { local -r RAMDISK_RECOVERY_SZ=32 local -r INFORM_SZ=8 local -r HAL_SZ=256 - local -r RESERVED2_SZ=125 + local -r RESERVED1_SZ=125 local -r EXTEND_SZ=36 - let "USER_SZ = $SIZE_MB - $BOOT_SZ - $ROOTFS_SZ * 2 - $DATA_SZ - $MODULE_SZ * 2 - $RAMDISK_SZ * 2 - $RAMDISK_RECOVERY_SZ * 2 - $INFORM_SZ - $EXTEND_SZ - $HAL_SZ - $RESERVED2_SZ" + let "USER_SZ = $SIZE_MB - $BOOT_SZ - $ROOTFS_SZ * 2 - $DATA_SZ - $MODULE_SZ * 2 - $RAMDISK_SZ * 2 - $RAMDISK_RECOVERY_SZ * 2 - $INFORM_SZ - $EXTEND_SZ - $HAL_SZ * 2 - $RESERVED1_SZ" local -r BOOT=${PART_TABLE[0 * ${PART_TABLE_COL} + 3]} local -r ROOTFS_A=${PART_TABLE[1 * ${PART_TABLE_COL} + 3]} @@ -277,16 +277,16 @@ function mkpart_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=${PART_TABLE[7 * ${PART_TABLE_COL} + 3]} + local -r HAL_A=${PART_TABLE[7 * ${PART_TABLE_COL} + 3]} local -r ROOTFS_B=${PART_TABLE[8 * ${PART_TABLE_COL} + 3]} local -r MODULE_B=${PART_TABLE[9 * ${PART_TABLE_COL} + 3]} local -r RAMDISK_B=${PART_TABLE[10 * ${PART_TABLE_COL} + 3]} - local -r RAMDISK_RECOVERY_B=${PART_TABLE[10 * ${PART_TABLE_COL} + 3]} - local -r RESERVED2=reserved2 + local -r RAMDISK_RECOVERY_B=${PART_TABLE[11 * ${PART_TABLE_COL} + 3]} + local -r RESERVED1=reserved1 if [[ $USER_SZ -le 100 ]] then - echo "We recommend to use more than 4GB disk" + echo "We recommend to use more than 8GB disk" exit 0 fi @@ -302,12 +302,13 @@ function mkpart_3 () { 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" " $DISK"10 " $HAL_SZ "MB" + echo " "$HAL_A" " $DISK"10 " $HAL_SZ "MB" echo " "$ROOTFS_B" " $DISK"11 " $ROOTFS_SZ "MB" echo " "$MODULE_B" " $DISK"12 " $MODULE_SZ "MB" echo " "$RAMDISK_B" " $DISK"13 " $RAMDISK_SZ "MB" echo " "$RAMDISK_RECOVERY_B" " $DISK"14 " $RAMDISK_RECOVERY_SZ "MB" - echo " "$RESERVED2" " $DISK"15 " $RESERVED2_SZ "MB" + echo " "$HAL_B" " $DISK"15 " $HAL_SZ "MB" + echo " "$RESERVED1" " $DISK"16 " $RESERVED1_SZ "MB" local MOUNT_LIST=`mount | grep $DISK | awk '{print $1}'` for mnt in $MOUNT_LIST @@ -318,67 +319,36 @@ function mkpart_3 () { 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 [ $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 + 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 + ${DEVICE}1 : start=4MiB, size=${BOOT_SZ}MiB, type= C12A7328-F81F-11D2-BA4B-00A0C93EC93B, name=${PART_LABEL_NR_1} + ${DEVICE}2 : size=${ROOTFS_SZ}MiB, name=${PART_LABEL_NR_2} + ${DEVICE}3 : size=${DATA_SZ}MiB, name=${PART_LABEL_NR_3} + ${DEVICE}4 : size=${EXTEND_SZ}MiB, name=none + ${DEVICE}5 : size=${USER_SZ}MiB, name=${PART_LABEL_NR_5} + ${DEVICE}6 : size=${MODULE_SZ}MiB, name=${PART_LABEL_NR_6} + ${DEVICE}7 : size=${RAMDISK_SZ}MiB, name=${PART_LABEL_NR_7} + ${DEVICE}8 : size=${RAMDISK_RECOVERY_SZ}MiB, name=${PART_LABEL_NR_8} + ${DEVICE}9 : size=${INFORM_SZ}MiB, name=inform + ${DEVICE}10: size=${HAL_SZ}MiB, name=${PART_LABEL_NR_10} + ${DEVICE}11: size=${ROOTFS_SZ}MiB, name=${PART_LABEL_NR_11} + ${DEVICE}12: size=${MODULE_SZ}MiB, name=${PART_LABEL_NR_12} + ${DEVICE}13: size=${RAMDISK_SZ}MiB, name=${PART_LABEL_NR_13} + ${DEVICE}14: size=${RAMDISK_RECOVERY_SZ}MiB, name=${PART_LABEL_NR_14} + ${DEVICE}15: size=${HAL_SZ}MiB, name=${PART_LABEL_NR_15} + ${DEVICE}16: size=${RESERVED1_SZ}MiB, name=reserved1 + __EOF__ - sfdisk $DISK <<-__EOF__ - label: gpt - ${DEVICE}1 : start=4MiB, size=${BOOT_SZ}MiB, type= C12A7328-F81F-11D2-BA4B-00A0C93EC93B, name=${PART_LABEL_NR_1} - ${DEVICE}2 : size=${ROOTFS_SZ}MiB, name=${PART_LABEL_NR_2} - ${DEVICE}3 : size=${DATA_SZ}MiB, name=${PART_LABEL_NR_3} - ${DEVICE}4 : size=${EXTEND_SZ}MiB, name=none - ${DEVICE}5 : size=${USER_SZ}MiB, name=${PART_LABEL_NR_5} - ${DEVICE}6 : size=${MODULE_SZ}MiB, name=${PART_LABEL_NR_6} - ${DEVICE}7 : size=${RAMDISK_SZ}MiB, name=${PART_LABEL_NR_7} - ${DEVICE}8 : size=${RAMDISK_RECOVERY_SZ}MiB, name=${PART_LABEL_NR_8} - ${DEVICE}9 : size=${INFORM_SZ}MiB, name=inform - ${DEVICE}10: size=${HAL_SZ}MiB, name=${PART_LABEL_NR_10} - ${DEVICE}11: size=${ROOTFS_SZ}MiB, name=${PART_LABEL_NR_11} - ${DEVICE}12: size=${MODULE_SZ}MiB, name=${PART_LABEL_NR_12} - ${DEVICE}13: size=${RAMDISK_SZ}MiB, name=${PART_LABEL_NR_13} - ${DEVICE}14: size=${RAMDISK_RECOVERY_SZ}MiB, name=${PART_LABEL_NR_14} - ${DEVICE}15: size=${RESERVED2_SZ}MiB, name=reserved2 - __EOF__ - else - # calculate start positions for alignment for extended partitions - let "USER_START = 4 + $BOOT_SZ + $ROOTFS_SZ + $DATA_SZ + 1" - let "MODULE_A_START = $USER_START + $USER_SZ + 1" - let "RAMDISK_A_START = $MODULE_A_START + $MODULE_SZ + 1" - let "RAMDISK_RECOVERY_A_START = $RAMDISK_A_START + $RAMDISK_SZ + 1" - let "INFORM_START = $RAMDISK_RECOVERY_A_START + $RAMDISK_RECOVERY_SZ + 1" - let "HAL_START = $INFORM_START + $INFORM_SZ + 1" - let "ROOTFS_B_START = $HAL_START + $HAL_SZ + 1" - let "MODULE_B_START = $ROOTFS_B_START + $ROOTFS_SZ + 1" - let "RAMDISK_B_START = $MODULE_B_START + $MODULE_SZ + 1" - let "RAMDISK_RECOVERY_B_START = $RAMDISK_B_START + $RAMDISK_SZ + 1" - let "RESERVED2_START = $RAMDISK_RECOVERY_B_START + $RAMDISK_RECOVERY_SZ + 1" - - sfdisk --in-order --Linux --unit M $DISK <<-__EOF__ - 4,$BOOT_SZ,0xE,* - ,$ROOTFS_SZ,,- - ,$DATA_SZ,,- - ,,E,- - $USER_START,$USER_SZ,,- - $MODULE_A_START,$MODULE_SZ,,- - $RAMDISK_A_START,$RAMDISK_SZ,,- - $RAMDISK_RECOVERY_A_START,$RAMDISK_RECOVERY_SZ,,- - $INFORM_START,$INFORM_SZ,,- - $HAL_START,$HAL_SZ,,- - $ROOTFS_B_START,$ROOTFS_SZ,,- - $MODULE_B_START,$MODULE_SZ,,- - $RAMDISK_B_START,$RAMDISK_SZ,,- - $RAMDISK_RECOVERY_B_START,$RAMDISK_RECOVERY_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 }"` @@ -411,8 +381,8 @@ function mkpart_3 () { umount ./mnt_tmp rmdir mnt_tmp - local -r PART15=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]15\$"` - mkfs.ext4 -q ${PART15} -L $RESERVED2 -F + local -r PART16=/dev/`lsblk ${DISK} -o TYPE,KNAME | grep part | awk '{ print $2 }' | grep -G "[a-z]16\$"` + mkfs.ext4 -q ${PART16} -L $RESERVED1 -F } function show_usage () {