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

Gerd Hoffmann kraxel at redhat.com
Tue Apr 11 11:14:27 UTC 2023


  Hi,

> The second approach is the one described in the Ubuntu wiki[3], and
> also requires passing two files to QEMU, except this time they come
> from the opensbi and u-boot-qemu packages respectively. The usage
> looks like
> 
>   -bios /usr/lib/riscv64-linux-gnu/opensbi/generic/fw_jump.elf
>   -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf
> 
> I think in this case the first file is a minimal build of OpenSBI
> that likely just initializes enough hardware before handing control
> to an arbitrary payload - in this case, u-boot.

Yes.  These days opensbi seems to be loaded by default, so the first
line is not needed.  In fact I'm running a guest here, on fedora 37 +
virt-preview with just this ...

  <os>
    <type arch='riscv64' machine='virt'>hvm</type>
    <kernel>/home/kraxel/projects/u-boot/build-qemu-riscv64-smode/u-boot.bin</kernel>
    <boot dev='hd'/>
  </os>

... and it works fine.

There is also this variant ...

  <qemu:commandline>
    <qemu:arg value='-drive'/>
    <qemu:arg value='if=pflash,index=1,format=raw,file=/vmdisk/hdd/pool-risc-v/RISCV_VIRT.raw'/>
  </qemu:commandline>

... to boot edk2 firmware.  Note this is a single image carrying both
code and vars.  Also note 'index=1', which I think is needed because the
(default) opensbi is loaded to the pflash device with 'index=0'.

This doesn't boot the distro due to grub2 not having full riscv64 efi
support (yet).

take care,
  Gerd



More information about the libvir-list mailing list