Z572's blog

记录编译 risc-v opensbi

by Z572 — Mon 06 March 2023

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 的环境.

图片