使用root.bin和vmlinux

时间:2015-09-01 13:38:43

标签: riscv

我正在关注工具链构建的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。知道什么可能出错吗?

感谢。

1 个答案:

答案 0 :(得分:1)

QEMU尚未完全更新以支持新的RISC-V特权规范(github issue)。目前正在进行更新。

对于ISA模拟器,spike是一个不错的选择。它可能没有QEMU的所有平台功能,但它可以作为QEMU更新完成时的起点。