Hello genodians, We are trying to port genode for BOARD=virt_qemu_riscv I could not find the "virt_qemu_riscv" directory inside genode. So I cloned the riscv inside repos under genode from " https://github.com/genodelabs/genode-riscv/". I build the directory for riscv inside build Then I ran the following command: > make run/log BOARD=virt_qemu_riscv KERNEL=hw
Please help me under the error I received. I have attached last few lines of the terminal
---------------------------------------------------------------------
Library core-hw-virt_qemu_riscv
COMPILE version.o
MERGE core-hw-virt_qemu_riscv.lib.a
Program core/hw/core-hw-virt_qemu_riscv
make[1]: Leaving directory '/home/pranab/MTP/genode-riscv/genode/build/riscv'
genode build completed
using 'ld-hw.lib.so' as 'ld.lib.so'
core link address is 0xffffffc000000000
spawn qemu-system-riscv64 -nographic -serial mon:stdio -kernel var/run/log/boot/image.elf -m 512 -machine virt -cpu rv64,priv_spec=v1.10.0 -bios default -global virtio-mmio.force-legacy=false -device virtio-net-device,bus=virtio-mmio-bus.0,netdev=net0 -device virtio-mouse-device -device virtio-keyboard-device -device virtio-gpu-device -netdev user,id=net0
qemu-system-riscv64: Unable to load the RISC-V firmware "opensbi-riscv64-virt-fw_jump.bin"
Aborting, received EOF
Log step failed, retry.
------------------------------------------------------------------------
Regards,
Pranab
Hello Pranab,
On Tue, Nov 22, 2022 at 16:28:08 CET, Pranab Kumar Rout cs21m045 wrote:
spawn qemu-system-riscv64 -nographic -serial mon:stdio -kernel var/run/log/boot/image.elf -m 512 -machine virt -cpu rv64,priv_spec=v1.10.0 -bios default -global virtio-mmio.force-legacy=false -device virtio-net-device,bus=virtio-mmio-bus.0,netdev=net0 -device virtio-mouse-device -device virtio-keyboard-device -device virtio-gpu-device -netdev user,id=net0
qemu-system-riscv64: Unable to load the RISC-V firmware "opensbi-riscv64-virt-fw_jump.bin"
This is a Qemu error. Typically, the firmware binary is part of the Qemu package. I have some questions that help to narrow down the cause of the error.
- Which version of Qemu is used? - Does you Qemu package contain the file opensbi-riscv64-virt-fw_jump.bin? find <path to package> -name opensbi-riscv64-virt-fw_jump.bin - Do you use Qemu from your Linux distribution or did you build it manually? - If manually built, which configuration did you choose when building?
Regards
Hi,
spawn qemu-system-riscv64 -nographic -serial mon:stdio -kernel var/run/log/boot/image.elf -m 512 -machine virt -cpu rv64,priv_spec=v1.10.0 -bios default -global virtio-mmio.force-legacy=false -device virtio-net-device,bus=virtio-mmio-bus.0,netdev=net0 -device virtio-mouse-device -device virtio-keyboard-device -device virtio-gpu-device -netdev user,id=net0
qemu-system-riscv64: Unable to load the RISC-V firmware "opensbi-riscv64-virt-fw_jump.bin"
This is a Qemu error. Typically, the firmware binary is part of the Qemu package. I have some questions that help to narrow down the cause of the error.
Concerning the QEMU part:
- The Parameter "-bios default" will make recent QEMU versions (I think since v6) look for the OpenSBI binary "opensbi-riscv64-virt-fw_jump.bin", which is usually bundled with QEMU. Use "-bios none" to skip this in case you "var/run/log/boot/image.elf" contains a custom M-Mode firmware. See section "Boot options" in QEMU documentation at https://www.qemu.org/docs/master/system/riscv/virt.html
- Check with your OS distribution, which packages to install to get the QEMU firmwares. It's "qemu-system-data" for debian based systems, see https://packages.debian.org/bullseye/all/qemu-system-data/filelist
Axel