From b8f6b291c1f7f2be8b8e3c8315da9fa1dc9db80f Mon Sep 17 00:00:00 2001 From: turmary Date: Sun, 11 Jun 2023 23:21:54 +0800 Subject: [PATCH] Fixed: assemble_base_image.sh -m option to generate MBR partition table file --- base_image_assembling/assemble_base_image.sh | 6 +++--- boards/cfg_imx6ull_base.cfg | 2 +- boards/cfg_imx8mm_base.cfg | 2 +- boards/cfg_imx93_base.cfg | 2 +- utils/utils.sh | 13 +++++++++++++ 5 files changed, 19 insertions(+), 6 deletions(-) diff --git a/base_image_assembling/assemble_base_image.sh b/base_image_assembling/assemble_base_image.sh index 299a86d..21ad310 100755 --- a/base_image_assembling/assemble_base_image.sh +++ b/base_image_assembling/assemble_base_image.sh @@ -26,7 +26,7 @@ COPY_MODE="singlecopy" STORAGE_EMMC_FLAG=false STORAGE_DEVICE="sd" PT_SIZE='' -GENERATE_MBR_ONLY_FLAG=false +GENERATE_PT_TBL_ONLY_FLAG=false while getopts "o:deb:mh" arg; do case $arg in @@ -45,7 +45,7 @@ while getopts "o:deb:mh" arg; do SOC=$OPTARG ;; m) - GENERATE_MBR_ONLY_FLAG=true + GENERATE_PT_TBL_ONLY_FLAG=true ;; h) print_help @@ -89,7 +89,7 @@ if [ x$GENERATE_PT_TBL_ONLY_FLAG == xtrue ]; then fi echo "Generating ${IMAGE_PT_TBL_PATH}" cd $PT_FILEDIR - generate_pt_tbl_dualslot $PT_FILENAME $IMAGE_PT_SIZE $IMAGE_PT_TBL_FMT + generate_pt_tbl_dualslot $PT_FILENAME $IMAGE_PT_TBL_SIZE $IMAGE_PT_TBL_FMT cd - echo "DONE" exit 0 diff --git a/boards/cfg_imx6ull_base.cfg b/boards/cfg_imx6ull_base.cfg index 8a7e9bc..fe7f52d 100644 --- a/boards/cfg_imx6ull_base.cfg +++ b/boards/cfg_imx6ull_base.cfg @@ -20,7 +20,7 @@ IMAGE_PT_TBL_LENGTH=512 # Format: [PARTITION_NAME:::] # Numbers and fs type in this struct will be passed to command directly. # sudo parted unit MiB mkpart primary -IMAGE_PT_TABLE_STRUCT=" +IMAGE_PT_TBL_STRUCT=" 1:SLOTA_BOOT_PT:100:220:fat32 2:SLOTA_ROOTFS:220:3220:ext4 3:SLOTB_BOOT_PT:3220:3340:fat32 diff --git a/boards/cfg_imx8mm_base.cfg b/boards/cfg_imx8mm_base.cfg index d195ae1..80993bb 100644 --- a/boards/cfg_imx8mm_base.cfg +++ b/boards/cfg_imx8mm_base.cfg @@ -20,7 +20,7 @@ IMAGE_PT_TBL_LENGTH=512 # Format: [PARTITION_NAME:::] # Numbers and fs type in this struct will be passed to command directly. # sudo parted unit MiB mkpart primary -IMAGE_PT_TABLE_STRUCT=" +IMAGE_PT_TBL_STRUCT=" 1:SLOTA_BOOT_PT:100:220:fat32 2:SLOTA_ROOTFS:220:3220:ext4 3:SLOTB_BOOT_PT:3220:3340:fat32 diff --git a/boards/cfg_imx93_base.cfg b/boards/cfg_imx93_base.cfg index 691a384..cf4f661 100644 --- a/boards/cfg_imx93_base.cfg +++ b/boards/cfg_imx93_base.cfg @@ -20,7 +20,7 @@ IMAGE_PT_TBL_LENGTH=512 # Format: [PARTITION_NAME:::] # Numbers and fs type in this struct will be passed to command directly. # sudo parted unit MiB mkpart primary -IMAGE_PT_TABLE_STRUCT=" +IMAGE_PT_TBL_STRUCT=" 1:SLOTA_BOOT_PT:100:220:fat32 2:SLOTA_ROOTFS:220:3220:ext4 3:SLOTB_BOOT_PT:3220:3340:fat32 diff --git a/utils/utils.sh b/utils/utils.sh index b8ad871..91418e3 100644 --- a/utils/utils.sh +++ b/utils/utils.sh @@ -159,6 +159,19 @@ function generate_pt_tbl_dualslot() exit -1 fi + case $PT_FMT in + MBR) + sudo parted ${PT_DISKLABEL} mklabel msdos + ;; + GPT) + sudo parted ${PT_DISKLABEL} mklabel gpt + ;; + ?) + echo "Invalid partition type!" + exit -1 + ;; + esac + for each_item in $IMAGE_PT_TBL_STRUCT; do local pt_index=$(echo $each_item | cut -d: -f1) local pt_name=$(echo $each_item | cut -d: -f2)