Re: [PATCH 1/4] conf: add loader type 'none'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 3/22/23 10:05, Daniel P. Berrangé wrote:
On Wed, Mar 22, 2023 at 06:10:18AM -0300, Daniel Henrique Barboza wrote:
Today, trying to boot a RISC-V Fedora Rawhide image in a RISC-V QEMU domain
results in the following error:

====
error: Failed to start domain 'riscv-fedora'
error: internal error: process exited while connecting to monitor:
2023-03-20T17:31:02.650862Z qemu-system-riscv64: Some ROM regions are overlapping
These ROM regions might have been loaded by direct user request or by default.
They could be BIOS/firmware images, a guest kernel, initrd or some other file loaded
into guest memory.
Check whether you intended to load all this guest code, and whether it has been built
to load to the correct addresses.
====

This happens because the default RISC-V QEMU firmware, OpenSBI, is
always loaded unless "-bios none" is passed in the command line, and the
Fedora Rawhide guest kernel has its own ROM. Other machines such as
PPC64 'pseries' shows the same behavior: the default firmware is always
loaded unless specified otherwise with the '-bios' option.

What happens when these kernels are used on bare metal ? Presumably
bare metal always has firmware, and the kernels successfuly overwrite
it ? If so, what makes QEMU special such that it breaks ?

I'm not sure if the OS overwrites the firmware when running bare metal. Usually
they provide different OS images for QEMU/libvirt and bare metal systems, probably
to account for these differences. Baking the firmware in the kernel like Fedora
Rawhide is doing was important a few years ago when RISC-V QEMU wasn't loading
the firmware by default, but now it's getting in the way.

All this said, having a look at the recently updated Fedora for RISC-V wiki, the
instructions for booting with libvirt and QEMU are different. libvirt [1] is using
the '-bios none' attribute with 'virt-install' + a Fedora Rawhide image, but
QEMU instructions [2] doesn't use '-bios none' and it's using Fedora 37.

At first I don't see any particular reason of why this Fedora 37 image would work
on QEMU and not on libvirt. So what t I'll do now is do some testings with libvirt
and Fedora 37. If it works then this series becomes way less important.


Thanks,


Daniel


[1] https://fedoraproject.org/wiki/Architectures/RISC-V/Installing#Boot_with_libvirt
[2] https://fedoraproject.org/wiki/Architectures/RISC-V/Installing#Boot_under_QEMU






With regards,
Daniel




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux