From 66d9df507977e6ad72c2ecbd961a17da4a3f88c6 Mon Sep 17 00:00:00 2001 From: Seung-Woo Kim Date: Mon, 18 Nov 2019 14:45:46 +0900 Subject: [PATCH] scripts: tizen: sd_fusing_xu4: 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: I2e5a6c72550f71f213c2d7352b537c1b12d13670 Ref: http://man7.org/linux/man-pages/man8/sfdisk.8.html Signed-off-by: Seung-Woo Kim --- scripts/tizen/sd_fusing_xu4.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/tizen/sd_fusing_xu4.sh b/scripts/tizen/sd_fusing_xu4.sh index f3aa5dd..dbc9d46 100755 --- a/scripts/tizen/sd_fusing_xu4.sh +++ b/scripts/tizen/sd_fusing_xu4.sh @@ -211,7 +211,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 - $EXTEND_SZ - $RAMDISK_SZ" @@ -260,14 +260,19 @@ function mkpart_3 () { ,${RAMDISK_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" + sfdisk --in-order --Linux --unit M $DISK <<-__EOF__ 4,$BOOT_SZ,0xE,* ,$ROOTFS_SZ,,- ,$DATA_SZ,,- ,,E,- - ,$USER_SZ,,- - ,$MODULE_SZ,,- - ,$RAMDISK_SZ,,- + $USER_START,$USER_SZ,,- + $MODULE_START,$MODULE_SZ,,- + $RAMDISK_START,$RAMDISK_SZ,,- __EOF__ fi -- 2.7.4