From 9f396b332a7db3d7222fb2d1d42fca0d936649d1 Mon Sep 17 00:00:00 2001 From: Konsta Date: Wed, 19 Feb 2025 17:04:25 +0200 Subject: [PATCH] mkimg: use fallocate to create the image * This is much faster than creating a file by filling it with zeroes. * Remove unnecessary quotes for consistency. --- mkimg.sh | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/mkimg.sh b/mkimg.sh index 9a66a28..bf65f4f 100755 --- a/mkimg.sh +++ b/mkimg.sh @@ -7,7 +7,7 @@ # exit_with_error() { - echo "$@" + echo $@ exit 1 } @@ -29,10 +29,14 @@ VERSION=RaspberryVanillaAOSP15 DATE=$(date +%Y%m%d) TARGET=$(echo ${TARGET_PRODUCT} | sed 's/^aosp_//') IMGNAME=${VERSION}-${DATE}-${TARGET}.img -IMGSIZE=7 +IMGSIZE=7GiB + +if [ -f ${ANDROID_PRODUCT_OUT}/${IMGNAME} ]; then + exit_with_error "${ANDROID_PRODUCT_OUT}/${IMGNAME} already exists!" +fi echo "Creating image file ${ANDROID_PRODUCT_OUT}/${IMGNAME}..." -sudo dd if=/dev/zero of="${ANDROID_PRODUCT_OUT}/${IMGNAME}" bs=1M count=$(echo "${IMGSIZE}*1024" | bc) +sudo fallocate -l ${IMGSIZE} ${ANDROID_PRODUCT_OUT}/${IMGNAME} sync echo "Creating partitions..." @@ -63,10 +67,10 @@ echo c echo a echo 1 echo w -) | sudo fdisk "${ANDROID_PRODUCT_OUT}/${IMGNAME}" +) | sudo fdisk ${ANDROID_PRODUCT_OUT}/${IMGNAME} sync -LOOPDEV=$(sudo kpartx -av "${ANDROID_PRODUCT_OUT}/${IMGNAME}" | awk 'NR==1{ sub(/p[0-9]$/, "", $3); print $3 }') +LOOPDEV=$(sudo kpartx -av ${ANDROID_PRODUCT_OUT}/${IMGNAME} | awk 'NR==1{ sub(/p[0-9]$/, "", $3); print $3 }') if [ -z ${LOOPDEV} ]; then exit_with_error "Unable to find loop device!" fi