From a194c453e6365aac5cc33978c11458f0b3df0fa9 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Fri, 15 Nov 2019 19:46:40 +0900 Subject: [PATCH] scripts: tizen: sd_fusing_rpi3: Fix start position of extended partitions Older version sfdisk than 2.26 does not align the start and end of partitions to block, and it breaks the size of paritions less than requested. Fix start position of extended partitions by calculation to guarantee the requested size. Change-Id: I6d5bae06e4cd871075259d406d349c4ac63fab40 Ref: http://man7.org/linux/man-pages/man8/sfdisk.8.html Signed-off-by: Seung-Woo Kim --- scripts/tizen/sd_fusing_rpi3.sh | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/scripts/tizen/sd_fusing_rpi3.sh b/scripts/tizen/sd_fusing_rpi3.sh index 343c5e5a8a..f368e15bf9 100755 --- a/scripts/tizen/sd_fusing_rpi3.sh +++ b/scripts/tizen/sd_fusing_rpi3.sh @@ -148,7 +148,7 @@ function mkpart_3 () { if [ $sfdisk_new == 1 ]; then local -r EXTEND_SZ=8 else - local -r EXTEND_SZ=4 + local -r EXTEND_SZ=10 fi let "USER_SZ = $SIZE_MB - $BOOT_SZ - $ROOTFS_SZ - $DATA_SZ - $MODULE_SZ - $RAMDISK_SZ - $RAMDISK_RECOVERY_SZ - $INFORM_SZ - $EXTEND_SZ" @@ -203,16 +203,23 @@ function mkpart_3 () { ,${INFORM_SZ}MiB,,- __EOF__ 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" + sfdisk --in-order --Linux --unit M $DISK <<-__EOF__ 4,$BOOT_SZ,0xE,* ,$ROOTFS_SZ,,- ,$DATA_SZ,,- ,,E,- - ,$USER_SZ,,- - ,$MODULE_SZ,,- - ,$RAMDISK_SZ,,- - ,$RAMDISK_RECOVERY_SZ,,- - ,$INFORM_SZ,,- + $USER_START,$USER_SZ,,- + $MODULE_START,$MODULE_SZ,,- + $RAMDISK_START,$RAMDISK_SZ,,- + $RAMDISK_RECOVERY_START,$RAMDISK_RECOVERY_SZ,,- + $INFORM_START,$INFORM_SZ,,- __EOF__ fi -- 2.34.1