Recommended firmware for RVVM riscv64 (Works under QEMU as well)
HOWTO:
- Use
fw_payload.bin
as a board EFI firmware to boot the next stage from the storage drive, this is recommended for existing OS images like Ubuntu, Fedora, FreeBSD, Haiku, and for images built with archriscv-scriptlet. - Be aware that some images like Ubuntu may require more than default 256M of RAM, otherwise they'll crash. Pass
-m 2G
or the likes to the VM to be sure.
Example usage: rvvm fw_payload.bin -m 2G -i haiku-nightly.image
Also:
- Use
fw_jump.bin
as an SBI bootrom for a custom kernel payload (SBI->Linux, etc) - see https://github.com/LekKit/patches-misc/releases/tag/rvvm-linux-6.8
The fw_payload.bin
EFI firmware is a combination of fw_jump.bin
M-mode bootrom, and u-boot.bin
S-mode firmware
Sources:
- Upstream OpenSBI 1.4: https://github.com/riscv-software-src/opensbi
- U-Boot 2024.7 with NVMe and EFIFB support enabled