SOURCE_IMAGE="debian-12-nocloud-amd64.qcow2"
TARGET_SIZE_GB=120
OUTPUT_RAW="${SOURCE_IMAGE%.qcow2}.raw"
# install dependencies
sudo apt-get update
sudo apt-get install -y parted
# download
curl -L -O https://cloud.debian.org/images/cloud/bookworm/latest/debian-12-nocloud-amd64.qcow2
# resize
qemu-img resize "$SOURCE_IMAGE" ${TARGET_SIZE_GB}G
# convert
qemu-img convert -f qcow2 -O raw "$SOURCE_IMAGE" "$OUTPUT_RAW"
# resize partition
LOOP_DEV=$(sudo losetup --find --show "$OUTPUT_RAW")
sudo parted --fix --script $LOOP_DEV resizepart 1 100%
sudo partprobe $LOOP_DEV
sudo e2fsck -f ${LOOP_DEV}p1
sudo resize2fs ${LOOP_DEV}p1
# unmount
sudo losetup -d $LOOP_DEV
# write to disk
sudo diskutil unmountDisk /dev/disk4
sudo dd if=debian-12-nocloud-amd64.raw of=/dev/rdisk4 bs=8M
sudo sync
sudo diskutil eject /dev/disk4
curl -L -O https://cloud.debian.org/images/cloud/sid/daily/latest/debian-sid-nocloud-amd64-daily.tar.xz
tar -xf debian-sid-nocloud-amd64-daily.tar.xz
sudo diskutil unmountDisk /dev/disk4
sudo dd if=disk.raw of=/dev/rdisk4 bs=8M
sudo sync
sudo diskutil eject /dev/disk4