Unable to boot latest fedora riscv image in VM

I followed the procedure of spinning up a new fedora 40 machine for riscv architecture . But the vm doesn’t boot.

 virt-install --import --name fedora-riscv  --arch riscv64  --vcpus 2  --ram 4096  --boot uefi,kernel=/var/lib/libvirt/images/vmlinuz-6.8.7-300.4.riscv64.fc40.riscv64,initrd=/var/lib/libvirt/images/initramfs-6.8.7-300.4.riscv64.fc40.riscv64.img,cmdline='root=UUID=ae525e47-51d5-4c98-8442-351d530612c3 ro rootflags=subvol=root rhgb LANG=en_US.UTF-8 console=ttyS0 earlycon=sbi' --disk path=/var/lib/libvirt/images/Fedora-Minimal-40-20240502.n.0-sda.raw  --network default --tpm none --graphics none --os-variant=fedora38
ERROR    Don't know how to setup UEFI for arch 'riscv64'

If i remove the uefi, nothing happens on the console and it’s just stuck.

My host sytem is BM having 4 cpus, 16GB RAM . (Intel(R) Xeon(R) CPU E3-1220 v6 @ 3.00GH)

Update: The host is updated to Fedora 40 , The error i receive now is:

qemu-system-riscv64: device requires 33554432 bytes, block backend provides 540672 bytes

 virt-install --import --name fedora-riscv --arch riscv64  --osinfo fedora40 --vcpus 2 --ram 8192 --boot uefi,kernel=/home/mniranja/VirtualMachines/vmlinuz-6.8.7-300.4.riscv64.fc40.riscv64,initrd=/home/mniranja/VirtualMachines/initramfs-6.8.7-300.4.riscv64.fc40.riscv64.img,cmdline='root=UUID=ae525e47-51d5-4c98-8442-351d530612c3 ro rootflags=subvol=root rhgb LANG=en_US.UTF-8 console=ttyS0 earlycon=sbi' --disk path=/home/mniranja/VirtualMachines/Fedora-Minimal-40-20240502.n.0-sda.raw --network default --tpm none --graphics none
Starting install...
ERROR    internal error: process exited while connecting to monitor: 2024-06-28T06:47:50.863140Z qemu-system-riscv64: device requires 33554432 bytes, block backend provides 540672 bytes
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///session start fedora-riscv
otherwise, please restart your installation.
1 Like

why fedora38 ?

1 Like

i am using fedora 40 image, but since my host os is fedora 37 and the osinfo doesn’t yet show fedora 40 in its list so i kept fedora38 as variant,

I tried running the same virt-install on a new systems which has fedora 40 and i get the below error:

virt-install --import --name fedora-riscv --osinfo fedora40 --vcpus 2 --arch riscv64 --ram 8192 --boot uefi,kernel=/home/mniranja/VirtualMachines/vmlinuz-6.8.7-300.4.riscv64.fc40.riscv64,initrd=/home/mniranja/VirtualMachines/initramfs-6.8.7-300.4.riscv64.fc40.riscv64.img,cmdline='root=UUID=ae525e47-51d5-4c98-8442-351d530612c3 ro rootflags=subvol=root rhgb LANG=en_US.UTF-8 console=ttyS0 earlycon=sbi' --disk path=/home/mniranja/VirtualMachines/Fedora-Minimal-40-20240502.n.0-sda.raw --network default --tpm none --graphics none
Starting install...
ERROR    internal error: QEMU unexpectedly closed the monitor (vm='fedora-riscv'): 2024-06-27T22:47:12.483564Z qemu-system-riscv64: device requires 33554432 bytes, block backend provides 540672 bytes
Domain installation does not appear to have been successful.
If it was, you can restart your domain by running:
  virsh --connect qemu:///session start fedora-riscv
otherwise, please restart your installation.

My host has: 6.9.4-200.fc40.x86_64 kernel

Added f40, risc-v, uefi, virtualization and removed risc-v-sig

F37 is EOL, please update as soon as possible to at least F39

But I assume you already did that. If you can, update the first post, as nobody can help you if you run a 1 year outdated version.

--os-variant=fedora38

That is in the virtual machine. When Fedora releases a new version, then sometimes it is not available there and so you take the next lower one. This is so in the Manual because it has been written on this time.

I tested the Fedora.riscv64-40-20240429.n.0.qcow2 image. I get the same problem.

1 Like

Also this?

device requires 33554432 bytes, block backend provides 540672 bytes

This is pretty simple: sudo dnf install edk2-riscv64

@alciregi Thanks that error is resolved now.

I still see this though:

Please check if you have correctly followed the guide.
Expecially virt-get-kernel and mv

For reference:

$ md5sum Fedora-Minimal-40-20240502.n.0-sda.raw.xz 
09b64a35763a2713f042a647f5089f41  Fedora-Minimal-40-20240502.n.0-sda.raw.xz

$ md5sum Fedora-Minimal-40-20240502.n.0-sda.raw
1003fb6b0c476c75a98d7cce6b279e89  Fedora-Minimal-40-20240502.n.0-sda.raw

$ md5sum vmlinuz-6.8.7-300.4.riscv64.fc40.riscv64
c0b7127db4625b9c61486d9fe1e5972d  vmlinuz-6.8.7-300.4.riscv64.fc40.riscv64

$ md5sum initramfs-6.8.7-300.4.riscv64.fc40.riscv64.img
72ecc7aca732d3bfe15dd2e96b1d8f1c  initramfs-6.8.7-300.4.riscv64.fc40.riscv64.img

:eyes:

Thanks, it worked now