我正在关注工具链构建的riscv.org指南。使用运行本地构建的rootfilesystem(使用busybox)和Linux内核的qemu进行模拟时,遇到以下错误:
使用本地构建的root.bin和内核映像运行Qemu
danny @ danny:〜/ test / riscv / work $ qemu-system-riscv -hda root-local.bin -kernel vmlinux-local -nography
unassigned address was called?
with addr: 102000735F80006E
not implemented for riscv
使用riscv.org运行Qemu库存的root.bin和内核映像
danny @ danny:〜/ test / riscv / work $ qemu-system-riscv -hda root.bin -kernel vmlinux -nographic
[ 0.150000] io scheduler cfq registered (default)
[ 0.160000] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[ 0.160000] serial8250: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[ 0.160000] TCP: cubic registered
[ 0.160000] htifbd: detected disk with ID 1
[ 0.160000] htifbd: adding htifbd0
[ 0.160000] VFS: Mounted root (ext2 filesystem) readonly on device 254:0.
[ 0.160000] devtmpfs: mounted
[ 0.160000] Freeing unused kernel memory: 64K (ffffffff80002000 - ffffffff80012000)
[ 0.200000] EXT2-fs (htifbd0): warning: mounting unchecked fs, running e2fsck is recommended
#uname -a
Linux ucbvax 3.14.15-g4073e84-dirty #4 Sun Jan 11 07:17:06 PST 2015 riscv GNU/Linux
如果使用从riscv.org下载的root.bin和vmlinux进行的qemu测试,似乎没问题但是看不到busybox启动消息并且终端无法暂停:
使用各种组合测试了qemu,结果如下:
**root.bin vmlinux RESULT**
local-built local-built Unassigned address was called ....
Downloaded Downloaded Seem OK but without busybox starting bar
local-built Downloaded Kernelpanic-not syncing:No working init found
Downloaded local-built Unassigned address was called ....
我们正在开始一个项目,为世界各地的制造商构建和制造RISCV硅芯片,并现在测试工具链以便移植Ubuntu Core& Android到RISCV。知道什么可能出错吗?
感谢。
答案 0 :(得分:1)
QEMU尚未完全更新以支持新的RISC-V特权规范(github issue)。目前正在进行更新。
对于ISA模拟器,spike是一个不错的选择。它可能没有QEMU的所有平台功能,但它可以作为QEMU更新完成时的起点。