On Mon, Apr 10, 2023 at 07:50:36PM -0300, Daniel Henrique Barboza wrote:
On 4/7/23 15:12, Andrea Bolognani wrote:
> On Tue, Mar 28, 2023 at 04:46:45PM -0300, Daniel Henrique Barboza wrote:
So, I talked with Canonical a few months back about this package. I'm using a F37
dev box and I had to uncompress the u-boot .deb package by hand to extract the
uboot.elf file to be able to launch the guest, meaning that users that aren't using
an Ubuntu host would need to go through that to boot an Ubuntu RISC-V domain.
I got told that any u-boot build would work. Didn't have the opportunity to test
it.
I've just tested using the u-boot.bin coming from the Ubuntu package
to boot a Fedora, openSUSE and FreeBSD guests. It works fine. I might
try the same with the openSUSE and FreeBSD builds of u-boot, but I
don't expect the results to be any different.
I also believe that there's nothing particularly different in how
RISC-V works to
require a -kernel argument every time. Users don't have to do that with x86 and
even ppc64 pSeries domains: you give a disk with the guest image and everything
just works.
That's only partially accurate.
In the case of x86_64, BIOS boot works out of the box without passing
any additional parameters to QEMU, but using EFI requires a bunch
more work.
Ideally we would want that for RISC-V domains as well. We'll
probably
need stuff done in QEMU and OpenSBI to support this use case but I believe it's
worth it.
In the case of RISC-V we have additional moving parts because OpenSBI
is loaded by default, but then you need u-boot on top of that. Or,
further down the line, edk2. So I'm not sure we'll ever be able to
get to the point where you can just pass a disk image to QEMU and
expect it to boot.
Depending on how much work/how long it would take we can discuss how
libvirt can
ease the users pain in the meantime.
Yeah, if we can get to the point where the user only needs
<os firmware='u-boot'> or <os firmware='efi'>, then that's
good
enough as far as I'm concerned. You already need <os firmware='efi'>
for aarch64, for example, so I don't feel that would be an
unreasonable burden.
> Getting the Fedora version to work would be trickier. As far as
I can
> tell, there's currently no spec-compliant way to describe a firmware
> that requires both -bios and -kernel to be used at the same time.
> Should the spec be extended? Can we get Fedora to standardize on the,
> at least to an outside observer, simpler approach that Ubuntu has
> adopted?
I believe this has to be answered by the Fedora folks, but yeah, it would be nice
if Fedora could adopt the same approach that Ubuntu, Debian, OpenSuse and others
are using.
Note that the Fedora RISC-V disk images can be booted just fine using
a u-boot.bin file coming from Ubuntu, so this is really about Fedora
as a host rather than as a guest.
But yeah, we should strive to make things more seamless, which as a
first step would require having u-boot.bin available in Fedora.
--
Andrea Bolognani / Red Hat / Virtualization