OpenSBI 是 RISC-V SBI 规范的一种实现.
如果只是用的话可以使用已经打包好的 opensbi, 例如
guix shell opensbi-generic
或者 guix shell opensbi-qemu
$ git clone https://github.com/riscv-software-src/opensbi
$ cd opensbi
$ CROSS_COMPILE=riscv64-linux-gnu- make PLATFORM=generic FW_PALYLOAD=n V=1
如果使用 guix 可以使用 guix shell -D opensbi-generic python-wrapper
进入一个拥有所有需要的依赖的环境.
注意: CROSS_COMPILE 必须是交叉编译链的前缀, 例如 riscv64-linux-gnu-gcc 的前缀是 riscv64-linux-gnu- , 但有的时候可能叫做 riscv64-unknow-linux-gnu-gcc ,此时前缀为 riscv64-unknow-linux-gnu-
$ qemu-system-riscv64 -M virt -m 256M -nographic -bios \
build/platform/generic/firmware/fw_jump.elf
如果使用 guix 可以用 guix shell qemu
进入拥有 qemu-system-riscv64 的环境.