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