seabios package is not installed for ARM64 nodes

Bug #2089377 reported by Dmytro Kazantsev
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Nova Compute Charm
Incomplete
Undecided
Unassigned
qemu (Ubuntu)
Triaged
Undecided
Lukas Märdian

Bug Description

After nova-compute deployment on an ARM64 nodes I'm not able to run a VM. QEMU returns an error:

2024-11-22T09:09:55.291963Z qemu-system-aarch64: -device virtio-vga,id=video0,max_outputs=1,bus=pci.7,addr=0x0: failed to find romfile "vgabios-virtio.bin"

This module is a part of seabios package. It is not installed on ARM64 system but it is required for VM to work. After manual seabios installation with "apt install seabios" I'm able to successfully start a VM on ARM nodes.

Ubuntu: 22.04
Kernel 6.8.0-49
Server: Gigabyte R282-P92-00
CPU: Ampere(R) Altra(R) Max Processor
Nova-compute charm: 25.2.1
Channel: yoga/stable
Rev: 758

Could you please add seabios package installation as a dependency for nova-compute on ARM64 servers?

Tags: server-todo
Revision history for this message
James Page (james-page) wrote :

The dependency on seabios for amd64 is dervied via the qemu-system-x86 package (we don't specifically depend on it at the nova level in the distro).

Feels like this should be modelled at the qemu level, if aarch64 supports the virtio-vga driver.

Changed in charm-nova-compute:
status: New → Incomplete
Revision history for this message
James Page (james-page) wrote :

Raised a bug task for qemu - I'd appreciate the Ubuntu Server team's feedback on this specific issue.

Lena Voytek (lvoytek)
tags: added: server-triage-discuss
Revision history for this message
Christian Ehrhardt (paelzer) wrote :

While it feels right at first, because all others (qemu-system-mips, qemu-system-misc, qemu-system-ppc, qemu-system-sparc, qemu-system-x86) recommend seabios.
Their use cases are older and used to use it, taking it away would have regressed existing folks mere likely.

Arm was a nice clean start and more modern. So it only recommends qemu-efi-aarch64, qemu-efi-arm to encourage users to use the more modern setups.
I'd think that also the even newer riscv is not using it, but that isn't separated and as part of qemu-system-misc together with older platforms.

But you'd usually not find seabios used in arm64 or riscv64 examples.
Nor has it been demanded often in quite a while (IIRC there was a similar discussion ~4 years ago but I can't find it).
With vgabios-virtio.bin being in there nowadays there indeed is a chance for this worth to be revisited.

I found the reference when these bios'es got added the way they are today.
=> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=772127
At least my memory matches the one back then, to all but arm - but then this might need to be revisited.

So where are we:
- It makes sense to add it for some use cases as shown by Dmytro
  - but if I'm right and that still (might have changed) is a ery small minority it would install it for all others uselessly.
  - We need to re-check a few setups if it has become more common without us noticing

- But assume the above turns out to still be a very small minority of cases, then:
  - a) We can say "space is nothing" and add it (hoping that nothing will auto-load it)
  - b) Higher stacks that intend to make use of seabios could depend on it.
    That way the default qemu-system-arm would do the default things, and the SW on top

@james can you determine if configuring the guest with use of -device virtio-vga has become the default for openstack on arm64 and why it was done? That might easily show "yep makes sense now"

@sergio either of us needs to re-check if common use cases would use seabios on arm64 these days while they didn't in the past. Like for example checking how lxd (no screen, so probably not) and virt-manager (usually with video) would set up arm64 VMs.

tags: removed: server-triage-discuss
Changed in qemu (Ubuntu):
status: New → Triaged
assignee: nobody → Sergio Durigan Junior (sergiodj)
Revision history for this message
Christian Ehrhardt (paelzer) wrote :

The old rather powerful and capable arm64 system I used in the past is gone from TF :-/
Need to search for alternatives ...
Let me know if you beat me to it @sergiodj

Revision history for this message
Sergio Durigan Junior (sergiodj) wrote :
Changed in qemu (Ubuntu):
assignee: Sergio Durigan Junior (sergiodj) → Lukas Märdian (slyon)
tags: added: server-todo
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.