From 14bfcf843c439ed1674fe9e2c61a54b76d3c1578 Mon Sep 17 00:00:00 2001 From: Dominik Adamski Date: Tue, 9 Oct 2018 11:53:54 +0200 Subject: [PATCH] Fixed checksum verification. We need to unmount converted image before we start creation of mender artifact. Otherwise we get checksum mismatch. Signed-off-by: Dominik Adamski --- mender-convert.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/mender-convert.sh b/mender-convert.sh index 5af70da..6cf33fb 100755 --- a/mender-convert.sh +++ b/mender-convert.sh @@ -571,6 +571,7 @@ do_mender_disk_image_to_artifact() { if [ $ret -ne 0 ]; then echo "Error: cannot find an unused loop device. Aborting." else + #Mount extracted ext4 partition to verify 'artifact_info' file content. sudo losetup $loopdevice ${mender_rootfs_image} rootfs_mountpoint=${output_dir}/mnt/${rootfs_partition_id} mkdir -p ${rootfs_mountpoint} @@ -579,6 +580,10 @@ do_mender_disk_image_to_artifact() { # Set 'artifact name' as passed in the command line. sudo sed -i '/^artifact/s/=.*$/='${artifact_name}'/' "${rootfs_mountpoint}/etc/mender/artifact_info" + sudo umount -l ${rootfs_mountpoint} + sudo losetup -d $loopdevice + rm -rf ${output_dir}/mnt + mender_artifact=${output_dir}/${mender_disk_filename}_${artifact_name}.mender echo "Writing Mender artifact to: ${mender_artifact}" @@ -594,9 +599,6 @@ do_mender_disk_image_to_artifact() { { echo "Writing Mender artifact to ${mender_artifact} succeeded."; } || \ { echo "Writing Mender artifact to ${mender_artifact} failed."; } - sudo umount -l ${rootfs_mountpoint} - sudo losetup -d $loopdevice - rm -rf ${output_dir}/mnt fi fi