我按照http://riscv.org/download.html#tab_linux所述在spike上运行Linux。使用busybox,我有一个强大的工具来运行几个有用的工具。我想要实现的下一件事是在riscv / Linux上运行我自己的程序。因此我写了一个小程序:
#include <stdio.h>
int main(void) {
printf("Hello world!\n");
return 0; }
使用riscv64-unknown-linux-gnu-gcc编译它,并将二进制文件添加到riscv / Linux的root.img中。我现在遇到的问题是,如果我想在riscv / Linux下执行程序抛出./hello,我的shell上会出现以下消息:
-/bin/ash: ./hello: not found
我的问题现在是(1)我做错了什么,(2)是否有可能在我尝试完成它的方式在riscv / Linux上运行程序?
答案 0 :(得分:1)
我的猜测是你的hello程序动态链接到你的根文件系统中缺少的运行时库。
您可以使用&#39; ldd&#39;查找应用程序链接的动态库,并确保所有这些库都存在于根文件系统中,或者只是静态编译hello程序。