之前移植了 filesystem/initrd,用的 busybox 是 v1.25.0,但运行一个最简单的 Hello world 程序都提示 -/bin/sh: ./hello not found.
依次修改以下几个:
1. 将 busybox 改成动态库的方式
Busybox Settings
Build Options
[*] Build shared libbusybox
2. 将电脑端的 /lib/x86_64_linux_gnu 下面的库文件复制到 initrd/lib/ 目录下。
因为目标主机是 x86 64位的CPU, 所以还要创建一个 initrd/lib64 的目录,将电脑的 /lib64/ 下面的文件再复制过去。
3. 因为编译 busybox 产生的文件是 linuxrc,将该文件重命名为 init(init->/bin/busybox)
重新生成 initrd.gz 文件,这样就不会报上述的错误了。
阅读(25609) | 评论(0) | 转发(0) |