瑞士军刀BUSYBOX的移植

时间:2021-04-06 18:51:02

busybox的官网为http://www.busybox.net/,在里面可以直接下载源码。

或者直接git clone http://git.busybox.net/busybox/tree/?h=1_24_stable来下载源码。

下载下来后,可直接make一下,看看源码有没有问题。接下来就是移植了。

觉得这篇文章写的不错。http://my.oschina.net/quanpower/blog/355683

安装交叉工具链.

交叉编译器arm-linux-gnueabi 和 arm-linux-gnueabihf 的区别
http://blog.csdn.net/ccskyer/article/details/16864173


由于我们的芯片跑的是Android系统,故进入Android源码目录下

ls  -al prebuilts/gcc/linux-x86/arm

arm-eabi-4.6  arm-eabi-4.7  arm-linux-androideabi-4.6  arm-linux-androideabi-4.7

所以我们要安装arm-linux-gnueabi

sudo apt-get install gcc-arm-linux-gnueabi

使用make menuconfig进行配置。

1选择交叉编译器前缀

<span style="font-size:18px;">Busybox Settings --> Build Options --> Cross compiler prefix  -  Set this option equal to "arm-linux-gnueabi-";</span>

2静态编译

<span style="font-size:18px;">Busybox Settings --> Build Options --> Build Busybox as a static binary (no shared libs)  -  Enable this option by pressing "Y"</span>
3不包含usr目录
<span style="font-size:18px;">Busybox Settings –> Installation Options –> Don't use /usr - Enable this option by pressing “Y” </span>

3编译

make

编译过程中,可能会遇到错误,这个自己百度了。

编译成功后,在源码目录下会生成我们所需的文件(也就是可执行文件busybox)

将busybox放到某一路径($PATH查看),即可直接运行busybox

使用时busybox+xxx即可(例busybox df)

当然也可创建相应的软链接,ln -s busybox df

当然,如果你懒的编译,可直接用现成的,参考

http://blog.csdn.net/lxgwm2008/article/details/38925051