Linux:利用busybox移植命令
Linxu:利用busybox移植命令
一、背景
1、busybox是linux下的一个工具箱,集成多个常用的linux命令,常用于启动镜像的制作,被称为“Linux的瑞士军刀”。
2、特殊使用场景:某个linux环境下缺少一个或多个命令,且又不想分别下载对应命令的源码进行编译,且busybox正好又支持该命令的使用,则可以安装busybox替代对应命令。【或者对系统大小限制,使用busubox可以进行瘦身】
二、流程
1、源码下载:https://busybox.net/
2、配置.config文件
(1)解压文件后,进入busybox目录;
(2)使用make xxxconfig命令生成.config文件:
make defconfig:使用默认配置
make allyesconfig:使用最大配置,所有busybox支持的命令均已配置,用于需要使用的命令较多的场景;
make allnoconfig:使用最小配置,对应的命令选项均未勾选,需要用户自行配置,用于使用少量命令的场景;
(3)配置.config文件:make menuconfig
执行该命令时,会进入图形界面;
删除键使用shift+backsapce;
setting选项中,重点关注交叉编译选项、编译选项(CFLAGS)、链接选项(LDFLAGS);
命令选项中,[]中使用空格键可以添加*,表示yes;()可以使用enter键,然后输入内容;
在[]中选中或删除对应的命令,然后在退出时保存,即可将配置生效到.config文件中
3、编译: make
4、使用
(1)方式一:使用busybox后加命令方式(不推荐),如:./busybox ls
(2)方式二:创建软链接,指向busybox(推荐,灵活,通用形式),如:ln -s /sbin/busybox /sbin/ls
三、注意事项
1、尽量避免手动直接修改.config文件,可能会破坏已有格式,导致编译失败。