您当前的位置:首页 > 电子 > 嵌入式系统

编译裁剪busybox

时间:03-13来源:作者:点击数:

前言

busybox是一个工具库,里面包含了很多的工具,比如:ls、cd、mkdir等linux下常用的命令工具,一般用于嵌入式系统中,为啥呢?

一、busybox是什么?

刚刚已经说了busybox是一个工具库,为什么适用于嵌入式中呢,主要是体积小,嵌入式中flash存储小,要是把pc系统上的各种安装包安装工具的话,没有这么大的空间来存放这些工具,busybox优点就是体积小,完全功能编译也不到1M,在嵌入式系统中使用最为合适。

从源码中可以看出,工具命令的代码实现已经被重构了,源码中有一个公用的库libbb,所有工具都公用这个库,减少了代码体积,使得编译出来的程序体积更小但功能不变。

二、busybox编译安装

1.下载源码包

可以去busybox源码包下载地址下载。

2.配置选项

有三种配置选项:

(1)defconfig (缺省配置)

(2)allyesconfig(最大配置)

(3)allnoconfig(最小配置)

一般使用缺省配置就可以,配置完成后,生成.config文件。在使用上述命令配置之前,需要去Makefile文件中指定编译工具链。

红色框内换成你自己的交叉编译工具链

然后在使用命令配置:

make defconfig

3.编译安装

配置好.config文件之后,使用:

make

直接编译即可。如果在编译过程中报错,可以把报错的相关工具给去掉,然后重新编译即可。使用下面命令进行安装,会生成busybox执行程序。

make install

三、.config配置文件手动裁剪配置

.config文件结构

在这里插入图片描述

从配置文件结构可以看出,需要编译的工具选项后面“=y”,不需要编译的工具注释掉根据文件中的格式配置即可。

手动裁剪完成后,重新编译即可。

四、busybox的使用

busybox的使用有三种方式:

(1)busybox后面直接跟要调用的命令

busybox ls -l
busybox cd /home

(2)将busybox程序重命令

cp busybox tftp

然后直接使用tftp命令即可。

(3)使用软连接方式

ln -s busybox cd
ln -s busybox ls

然后直接调用cd、ls 命令即可。

大家在编译使用过程中遇到什么问题或有好的想法,环境大家留言讨论。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门