From 2e5d13e1b965489b8088acea26877b7f0d8af54a Mon Sep 17 00:00:00 2001 From: Richard Oliver Date: Thu, 13 Mar 2025 17:29:19 +0000 Subject: [PATCH] export-image: generate bmap file if bmaptool is available --- README.md | 2 +- export-image/05-finalise/01-run.sh | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 105f561..db46f87 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ To install the required dependencies for `pi-gen` you should run: ```bash apt-get install coreutils quilt parted qemu-user-static debootstrap zerofree zip \ dosfstools libarchive-tools libcap2-bin grep rsync xz-utils file git curl bc \ -gpg pigz xxd arch-test +gpg pigz xxd arch-test bmap-tools ``` The file `depends` contains a list of tools needed. The format of this diff --git a/export-image/05-finalise/01-run.sh b/export-image/05-finalise/01-run.sh index c59c23b..6012957 100755 --- a/export-image/05-finalise/01-run.sh +++ b/export-image/05-finalise/01-run.sh @@ -3,6 +3,7 @@ IMG_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.img" INFO_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.info" SBOM_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.sbom" +BMAP_FILE="${STAGE_WORK_DIR}/${IMG_FILENAME}${IMG_SUFFIX}.bmap" on_chroot << EOF update-initramfs -k all -c @@ -100,6 +101,12 @@ zerofree "${ROOT_DEV}" unmount_image "${IMG_FILE}" +if hash bmaptool 2>/dev/null; then + bmaptool create \ + -o "${BMAP_FILE}" \ + "${IMG_FILE}" +fi + mkdir -p "${DEPLOY_DIR}" rm -f "${DEPLOY_DIR}/${ARCHIVE_FILENAME}${IMG_SUFFIX}.*" @@ -128,4 +135,7 @@ esac if [ -f "${SBOM_FILE}" ]; then xz -c "${SBOM_FILE}" > "$DEPLOY_DIR/image_$(basename "${SBOM_FILE}").xz" fi +if [ -f "${BMAP_FILE}" ]; then + xz -c "${BMAP_FILE}" > "$DEPLOY_DIR/image_$(basename "${BMAP_FILE}").xz" +fi cp "$INFO_FILE" "$DEPLOY_DIR/"