This is ... unexpected.
I set up an arm64 machine and ran a normal (read no special config in any way) guest via libvirt/qemu/kvm
It works fine and seabios is not installed at this moment.
Guest config looks like:
jammy-cpaelzer7dcae1b1-3caa-462c-b91d-b6af643a9dbc5242885242881hvm/usr/share/AAVMF/AAVMF_CODE.fd/var/lib/libvirt/qemu/nvram/jammy-cpaelzer_VARS.fddestroyrestartdestroy/usr/bin/qemu-system-aarch64
Trying to be proactive from the failing command I assumed it might be the virtio video.
So I added:
And indeed, in this case you'd need seabios.
error: internal error: qemu unexpectedly closed the monitor: 2023-09-06T06:29:47.525553Z qemu-system-aarch64: -device virtio-vga,id=video0,max_outputs=1,bus=pci.5,addr=0x0: failed to find romfile "vgabios-virtio.bin"
To be clear, it can be used without and on a server use case most likely makes sense to be used without virtual graphics. So on one hand I'm challenging the guest config that the charm creates and if it is useful to most likely waste resources for a screen that is not shown ever (up to openstack charm people to decide).
But on the other hand this could indeed be a suggest (you'd still face your issue) or even a recommends from qemu-system-arm.
And this (the potential need for seabios, but also the lack of a hard dependency to not pull in too much) also is true for ages - not breaking people often. Since
- https://salsa.debian.org/qemu-team/qemu/-/commit/8f39c865ccec42b3b124e3cd1e4afe54138a8c73
- https://salsa.debian.org/qemu-team/qemu/-/commit/af0fa69d13c70a6b00de6be50bdd1c6e3da44631
IMHO this isn't really a bug (It works well without for many use cases, if software needs more than the default dependencies it can depend/install it), but more a reasonable suggested feature/capability change we can look at for the next release as we are already in feature freeze for Mantic.
P.S. Somewhere in the back of my mind I remember having that discussion before and deciding not to add it, but I fail to find all puzzle pieces.