From 82e2e0dced382962b074bd5838bbb727360bb55b Mon Sep 17 00:00:00 2001 From: Adam Podogrocki Date: Mon, 3 Dec 2018 13:27:49 +0100 Subject: [PATCH] Correct Mender Artifact creation for Mender image containing 6 partitions That amendment is dedicated for Mender images built from Yocto images for qemu x86-64. Issues: MEN-2207 Changelog: None Signed-off-by: Adam Podogrocki --- mender-convert | 4 ++-- mender-convert-functions.sh | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/mender-convert b/mender-convert index 3d058e8..0d67465 100755 --- a/mender-convert +++ b/mender-convert @@ -621,8 +621,8 @@ do_mender_disk_image_to_artifact() { local rootfs_path= local mender_device_type= - get_mender_disk_info $mender_disk_image count sector_size rootfs_a_start \ - rootfs_a_size rootfs_b_start rootfs_b_size + get_mender_disk_sizes $mender_disk_image count sector_size rootfs_a_start \ + rootfs_a_size rootfs_b_start rootfs_b_size ret=$? [[ $ret -ne 0 ]] && \ { log "Error: cannot validate Mender disk image. Aborting."; return 1; } diff --git a/mender-convert-functions.sh b/mender-convert-functions.sh index 63b7ae5..303fcbf 100755 --- a/mender-convert-functions.sh +++ b/mender-convert-functions.sh @@ -213,7 +213,7 @@ set_mender_disk_alignment() { # Takes following arguments: # -# $1 - raw disk image path +# $1 - Mender disk image path # # Calculates following values: # @@ -223,7 +223,7 @@ set_mender_disk_alignment() { # $5 - rootfs A partition size (in sectors) # $6 - rootfs B partition start offset (in sectors) # $7 - rootfs B partition size (in sectors) -get_mender_disk_info() { +get_mender_disk_sizes() { local limage=$1 local rvar_count=$2 local rvar_sectorsize=$3 @@ -232,13 +232,13 @@ get_mender_disk_info() { local rvar_rootfs_b_start=$6 local rvar_rootfs_b_size=$7 - local lsubname=${limage:0:8} + local lsubname=${limage:0:10} local lfdisk="$(fdisk -u -l ${limage})" local lparts=($(echo "${lfdisk}" | grep "^${lsubname}" | cut -d' ' -f1)) local lcount=${#lparts[@]} - if [[ $lcount -ne 4 ]]; then + if [[ $lcount -ne 4 ]] && [[ $lcount -ne 6 ]]; then log "Error: invalid Mender disk image. Aborting." return 1 else