scripts: sd_fusing_rpi3: support the latest sfdisk version
authorJaehoon Chung <jh80.chung@samsung.com>
Thu, 2 Mar 2023 05:14:01 +0000 (14:14 +0900)
committerJaehoon Chung <jh80.chung@samsung.com>
Tue, 17 Oct 2023 04:19:39 +0000 (13:19 +0900)
In Ubunut 22.04, sfdisk version is 2.37.2 by default.
Before applied this patch, script is failed with messsage of "No space
left...".
It seems that It's caused about wrong start offset.
If sfdisk version is upper than 2.37, remove the start offset.

Change-Id: Ic6ecf839e48024cc68b051f1f05e6b4fc56332da
Signed-off-by: Jaehoon Chung <jh80.chung@samsung.com>
scripts/tizen/sd_fusing_rpi3.sh

index ddcd730..639eaee 100755 (executable)
@@ -167,6 +167,7 @@ function mkpart_3 () {
        local minor=${version[1]}
        local sfdisk_new=0
        local support_delete=0
+       local sfdisk_37=0
 
        if [ $major -gt 2 ];  then
                sfdisk_new=1
@@ -176,6 +177,9 @@ function mkpart_3 () {
                        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
 
@@ -248,20 +252,35 @@ function mkpart_3 () {
                if [ $support_delete == 1 ]; then
                        sfdisk --delete $DISK
                fi
-
-               sfdisk $DISK <<-__EOF__
-               4MiB,${BOOT_SZ}MiB,0xE,*
-               8MiB,${ROOTFS_SZ}MiB,,-
-               8MiB,${DATA_SZ}MiB,,-
-               8MiB,,E,-
-               ,${USER_SZ}MiB,,-
-               ,${MODULE_SZ}MiB,,-
-               ,${RAMDISK_SZ}MiB,,-
-               ,${RAMDISK_RECOVERY_SZ}MiB,,-
-               ,${INFORM_SZ}MiB,,-
-               ,${HAL_SZ}MiB,,-
-               ,${RESERVED2_SZ}MiB,,-
-               __EOF__
+               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"