This is a short post about the installation of usage of OreBoot bootloader and Barebox on Qemu and RVVM RISC-V virtual machine and emulators.
- Qemu is a multi-architecture virtual machine / emulator, it manage VirtIO, KVM (kernel virtual machine functions), allowing maximum hardware leverage, and runs on various architectures and system.
- RVVM is a virtual machine / emulator specialized in RISC-V guests, it is generally more fast and efficient than Qemu, as specialized on RISC-V, with a very efficient JIT dynamic translation. Contains a VFIO PCIe passthrough to take benefits of hardware acceleration. RVVM can also work in WASM
- TinyEmu is a light RISC-V (32/64/128bits) and x86 emulator, it can runs with WASM with the help of JSLinux. This demo doesn't have vsync implemented, as requestAnimationFrame() isn't used in JS to WASM bridge. See also The barebox Porter's Guide
- Barebox is a bare metal style bootloader/payload
- oreboot is a Rust language reimplementation of Coreboot a platform initialization firmware (sometime called boot firmware), that can replace the closed source BIOS firmware, or be used on various kind of hardware systems. It also contains it's own implementation of SBI, called RustSBI, instead of C made, standard RISC-V OpenSBI (Open Source Supervisor Binary Interface). RustSBI alone only support LinuxBoot payloads for now. Awesome-RustSBI has interesting links. RustSBI Prototyper is a prototype to create alternative RISC-V Secure Bootloader based on RustSBI. Nice complete Rust language interactive textbook (FLOSS)The Rust Programming Language and the helper Rust by example.
- Platform System Interface (PSI) implements various of them
Precompiled version are available here:
It will take about 2.8GB in your home directory, subdir ~/.rustup/toolchains for installation of needed toolchain.
Special thanks to the authors oreboot and RVVM for their softwares and their help to make it running.
Table of Content