编译裁剪busybox


前言

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 命令即可。

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

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烫手的热山药

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值