From be2b9e6c60d2a005b4e7faeea60f81af477b4c61 Mon Sep 17 00:00:00 2001 From: AshishKumar Mishra Date: Tue, 21 Jul 2026 21:56:44 +0530 Subject: [PATCH] image_types_sparse: switch ext* conversion to ext2simg_android We have RFC discussion at https://lists.openembedded.org/g/openembedded-devel/message/124499 https://lists.openembedded.org/g/openembedded-devel/message/125497 Move ext* sparse image generation from 'img2simg' to ' ext2simg_android' Signed-off-by: AshishKumar Mishra Signed-off-by: Khem Raj --- meta-oe/classes/image_types_sparse.bbclass | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/meta-oe/classes/image_types_sparse.bbclass b/meta-oe/classes/image_types_sparse.bbclass index 5416c2a019..5c1d92bd18 100644 --- a/meta-oe/classes/image_types_sparse.bbclass +++ b/meta-oe/classes/image_types_sparse.bbclass @@ -13,11 +13,21 @@ DELETE_RAWIMAGE_AFTER_SPARSE_CMD ??= "0" CONVERSION_CMD:sparse = " \ truncate --no-create --size=%${SPARSE_BLOCK_SIZE} "${IMAGE_NAME}.${type}"; \ - img2simg -s "${IMAGE_NAME}.${type}" "${IMAGE_NAME}.${type}.sparse" ${SPARSE_BLOCK_SIZE}; \ + case '${type}' in \ + ext*) \ + bbnote 'Running e2fsprogs-derived ext2simg_android..' ; \ + ext2simg_android '${IMAGE_NAME}.${type}' '${IMAGE_NAME}.${type}.simg' || bberror 'ext2simg_android failed' \ + ;; \ + *) \ + bbnote 'Generating sparse image for non-ext filesystem...'; \ + img2simg -s '${IMAGE_NAME}.${type}' '${IMAGE_NAME}.${type}.sparse' ${SPARSE_BLOCK_SIZE}; \ + ;; \ + esac; \ if [ "${DELETE_RAWIMAGE_AFTER_SPARSE_CMD}" = "1" ]; then \ rm -f ${IMAGE_NAME}.${type};\ - bbwarn "Raw file ${IMAGE_NAME}.${type} removed" ;\ + bbnote "Raw file ${IMAGE_NAME}.${type} removed" ;\ fi;\ " -CONVERSION_DEPENDS_sparse = "android-tools-native" +CONVERSION_DEPENDS_sparse = "android-tools-native e2fsprogs-ext4sparse-native" +do_image_ext4[depends] += "e2fsprogs-ext4sparse-native:do_populate_sysroot"