所以我正在努力使用 busybox 构建最小的操作系统。我想要的是我想从 BIOS 运行我的 .net 程序。但我不确定linux是否会运行.net程序,所以为了清除我的路径,我使用C程序而不是.net程序。我正在成功生成 initrd.img 文件。现在在生成 initrd.img 文件之前。我想整合我的你好ç带有初始化文件的程序。
这个命令我用来读取文件并且成功读取C程序代码。echo 'cat /etc/hello.c' >> init
现在我想执行这个你好ç。所以我尝试执行以下命令,但它不能按cat
命令工作。
echo 'gcc -o echo /etc/hello.c' >> init
echo 'chmod +x echo' >> init
echo './echo' >> init
这是我收到的错误:
/init: line 6: gcc: not found
chmod: echo: No such file or directory
/init: line 8: ./echo: not found
答案1
gcc
您的脚本失败是因为您的 initrd 中没有该脚本。
你不应该hello.c
在你的 initrd 中发布;你应该构建程序并发布那而是在你的 initrd 中。当尝试运行程序时,您还应该指定程序的完整路径。