Here is a complete reproduction using a VM (VMception!) in my case on Ubuntu 22. You can repeat this in about 10 mins.
On the host:
curl -O https://dl-cdn.alpinelinux.org/alpine/v3.18/releases/x86_64/alpine-standard-3.18.3-x86_64.iso
qemu-img create -f qcow2 repro-38824.qcow2 4G
virt-install --name "repro-38824" --memory 2048 --osinfo alpinelinux3.18 --cdrom alpine-standard-3.18.3-x86_64.iso --disk repro-38824.qcow2
On the guest, log in as root, run setup-alpine
, details donāt matter, but install to /dev/vda using the āsysā configuration when asked. Then halt
, and on the host again:
virsh destroy repro-38824
virsh start repro-38824
virt-viewer repro-38824 &
On the guest, edit /etc/apk/repositories to enable community
repository, then follow Alpine KVM instructions
https://wiki.alpinelinux.org/wiki/KVM :
apk add libvirt-daemon qemu-img qemu-system-x86_64 qemu-modules openrc
rc-update add libvirtd
modprobe tun
echo "tun" >> /etc/modules-load.d/tun.conf
cat /etc/modules | grep tun || echo tun >> /etc/modules
apk add libvirt-client virt-install
reboot
Then follow Alpine LXD instructions https://wiki.alpinelinux.org/wiki/LXD :
apk add lxd lxd-client ovmf
rc-update add lxc
rc-update add lxd
reboot
lxd init # answer defaults for everything
lxc launch images:alpine/3.18 --vm
And you will see the error. To prove that QEMU/KVM works, you can try:
virsh pool-define-as default dir - - - - "/var/lib/libvirt/images"
qemu-img create -f qcow2 -b /var/lib/lxd/images/0ad7d0446cc35426724e7986b54dee40d0037b391ef943d85430345f9416bef4.rootfs -F qcow2 /var/lib/libvirt/images/alpine-3.18.qcow2
pool-start default
virt-install --name "Alpine" --memory 1024 --osinfo alpinelinux3.17 --boot uefi --import --disk vol=default/alpine-3.18.qcow2 --graphics vnc,listen=0.0.0.0,port=5900 --autoconsole none
and connect with a VNC client from your host. This is an Alpine guest in an Alpine guest. Other guests of guests are available, e.g. my personal favourite:
virt-install --name "Doom" --memory 1024 --osinfo msdos6.22 --import --disk vol=default/dos622flat.qcow2 --graphics vnc,listen=0.0.0.0,port=5901 --autoconsole none --network none