Login

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"
Last updated on 21st Mar 2023