Test
https://blog.svedr.in/posts/imageless-vm-builds-with-libguestfs/
IMAGEFILE=/tmp/debain11.qcow2
qemu-img create -f qcow2 "$IMAGEFILE" 10G
guestfish -a "$IMAGEFILE" run \
: part-init /dev/sda gpt \
: part-add /dev/sda p 2048 2097152 \
: part-add /dev/sda p 2097153 -- -2048 \
: mkfs ext4 /dev/sda1 label:BOOT \
: mkfs ext4 /dev/sda2 label:SYSTEM \
: mount /dev/sda1 / \
: mkdir /boot
# : part-set-bootable /dev/sda 1 true
# : mkfs fat32 /dev/sda3 label:EFI
mkdir -p /tmp/debian
sudo guestmount -a "$IMAGEFILE" \
-m /dev/sda1 \
-m /dev/sda2:/boot \
--rw -o dev -o exec -o suid /tmp/debian
# THIS Command fails for some reasons ????
sudo /mnt/data/workspace/DevOps/systemd-nspawn/create.sh nspawn_debian_bootstrap /tmp/debian
systemd-nspawn -D ${1:-/tmp/rootfs} -M debain11 --hostname=debain11 sh -c '/usr/bin/env DEBIAN_FRONTEND=noninteractive apt install -y linux-image-generic grub2'
umount /tmp/debian
# : copy-in "parts/etc-default-grub" "/tmp" \
# : mv "/tmp/etc-default-grub" "/etc/default/grub" \
guestfish -a "$IMAGEFILE" run \
: mount /dev/sda1 / \
: mount /dev/sda2 /boot \
: mkdir-p /boot/grub \
: write /boot/grub/device.map "(hd0) /dev/sda" \
: command "grub-install /dev/sda" \
: command "update-grub2"