1,busybox简介

busybox是一个集成了一百多个最常用linux命令和工具的软件,他甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小.我们平时用的那些linux命令就好比是分立式的电子元件,而busybox就好比是一个集成电路,把常用的工具和命令集成压缩在一个可执行文件里,功能基本不变,而大小却小很多倍,在嵌入式linux应用中,busybox有非常广的应用,另外,大多数linux发行版的安装程序中都有busybox的身影,安装linux的时候案ctrl+alt+F2就能得到一个控制台,而这个控制台中的所有命令都是指向busybox的链接.
Busybox的小身材大作用的特性,给制作一张软盘的linux带来了及大方便.

2,busybox的用法

可以这样用busybox
#busybox ls
他的功能就相当运行ls命令
最常用的用法是建立指向busybox的链接,不同的链接名完成不同的功能.
#ln -s busybox ls
#ln -s busybox rm
#ln -s busybox mkdir

然后分别运行这三个链接:
#./ls
#./rm
#./mkdir

就可以分别完成了ls rm 和mkdir命令的功能.虽然他们都指向同一个可执行程序busybox
但是只要链接名不同,完成的功能就不同,busybox就是这么的神奇.
很多linux网站都提供busybox的源代码下载.目前版本是busybox1.0正式版.

3,配置busybox

busybox的配置程序和linux内核菜单配置方式简直一模一样.熟悉用make menuconfig方式配置linux内核的朋友很容易上手.

#cp busybox-1.00.tar.gz /babylinux
#cd /babylinux
#tar xvfz busybox-1.00.tar.gz
#cd busybox-1.00
#make menuconfig

下面是需要编译进busybox的功能选项,其他的可以根据需要自选,但是同样不要太贪心.
General Configuration应该选的选项
Show verbose applet usage messages
Runtime SUID/SGID configuration via /etc/busybox.conf

Build Options
Build BusyBox as a static binary (no shared libs)
这个选项是一定要选择的,这样才能把busybox编译成静态链接的可执行文件,运行时才独立于其他函数库.否则必需要其他库文件才能运行,在单一个linux内核不能使他正常工作.

Installation Options
Don't use /usr
这个选项也一定要选,否则make install 后busybox将安装在原系统的/usr下,这将覆盖掉系统原有的命令.选择这个选项后,make install后会在busybox目录下生成一个叫_install的目录,里面有busybox和指向他的链接.

其他选项都是一些linux基本命令选项,自己需要哪些命令就编译进去,一般用默认的就可以了.

配置好后退出并保存.

4,编译并安装busybox

#make
#make install

编译好后在busybox目录下生成子目录_install,里面的内容:
drwxr-xr-x 2 root root 4096 11月 24 15:28 bin
lrwxrwxrwx 1 root root 11 11月 24 15:28 linuxrc -> bin/busybox
drwxr-xr-x 2 root root 4096 11月 24 15:28 sbin
其中可执行文件busybox在bin目录下,其他的都是指向他的符号链接.
我编译出来的busybox可执行文件是935K,加上符号链接,整个_install目录是952K.加上845K的内核不是已经超过1440K了吗?别担心,我们将对整个根文件系统做大幅度的压缩.

转载于:https://www.cnblogs.com/myitm/archive/2011/08/15/2139465.html

Busybox是什么?相关推荐

  1. 安卓下使用 dropbear 开启SSH And arm 下的busybox

    安卓系统 4.2.2  硬件是荣耀立方 只对电视盒子部分进行了操作,没有修改路由部分 先安装<超级终端><RE文件管理器>(华为的应用市场里有),安装 <360超级roo ...

  2. 详解基于busybox、dropbear、ngnix制作完整的嵌入式Linux系统

    说明:         <一>:查看此博文,建议查看笔者上一篇博文(Linux启动过程),因为只有在完全了解Linux系统启动流程及一些配置文件的相关性,在阅读此博文才能有思路,理解起来更 ...

  3. g++ linux 编译开栈_使用 linux kernel +busybox 定制linux系统

    写在开头: 本来是想使用linux kernel +busybox 制作一个教程的,后来快要结束的时候,死活找不到硬盘,我了解很多文章都有类似的,但是没有谈到硬盘找不到问题,最后历经艰辛,终于把问题解 ...

  4. busybox filesystem httpd php-5.5.31 sqlite3 webserver

    /********************************************************************* busybox filesystem httpd php- ...

  5. 初识Docker:BusyBox容器后台运行失败

    1.问题描述:我在进行Docker网络实验时,使用docker  run  -d  busybox命令时,busybox无法保持后台长期运行. ============================ ...

  6. 什么是Busybox,简单使用

    BusyBox 是一个集成了一百多个最常用 Linux 命令和工具(如 cat.echo.grep.mount.telnet 等)的精简工具箱,它只需要几 MB 的大小,很方便进行各种快速验证,被誉为 ...

  7. 源码编译 busybox

    源码编译 busybox 一.下载源码包 [root@centos7 ~]# wget https://busybox.net/downloads/busybox-1.30.1.tar.bz2 --2 ...

  8. Busybox下的microcom用法

    Busybox下的microcom用法 在嵌入式平台下,集成有minicom软件,可以实现串口调试功能,但是有的不会集成minicom软件.如果你使用的是busybox的文件系统,有一个更加简单的串口 ...

  9. Alpine?Distroless?Busybox?到底谁才是容器镜像的瑞士军刀?

    大多数情况下,我们构建容器镜像时选择的基础镜像无外乎是 busybox.alpine 和 google/distroless 这几种,这几个基础镜像在云原生的世界很吃香,被广泛应用于各个应用的容器化. ...

  10. Linux 利用busybox制作根文件系统

    busybox版本:1.17.3 官网下载路径:https://busybox.net/downloads/ 网盘下载路径:https://pan.baidu.com/s/1nvrEa73 密码:7y ...

最新文章

  1. 图灵机与控制论之分歧,一切为了人类心智的荣耀!
  2. 生产过剩下的危机--房价上涨买不起房,房价泡沫破裂后仍然买不起房!
  3. HDOJ(HDU) 1977 Consecutive sum II(推导、、)
  4. 用Cmake编译Opencv源码,生成动态库
  5. 黑马程序员C语言基础(第四天)数据类型
  6. Newbe.ObjectVisitor 0.2.10 发布,更花里胡哨
  7. 【Qt开发】QT对话框去掉帮助和关闭按钮 拦截QT关闭窗口的CloseEvent
  8. homebrew安装mysql
  9. php mysql 分行执行,php执行mysql存储及执行脚本
  10. CodeIgniter典型的表单提交验证代码
  11. 无烟会议室:CMMI vs. Scrum vs. XP(QCon 2010 感受)
  12. UVA11069 A Graph Problem【递推】
  13. 【项目管理】记第一次出差到客户现场推进项目验收感悟-后续项目验收篇
  14. iphone模拟器安装app
  15. 0 、 '0' 、 0 、 ’\0’ 区别
  16. vscode error: You have not concluded your merge
  17. android平台的一款mud工具,全平台 MUD 客户端 TinTin++ 之安卓篇
  18. 云服务器修改dns 114,为什么改成114dns就行?
  19. springboot毕设项目:网上图书商城q3ulr(java+VUE+Mybatis+Maven+Mysql)
  20. GCC后端及汇编发布(8)

热门文章

  1. Redhat 5.4 安装vsftp
  2. c语言熵值法,干货 | R语言熵值法详解(附代码) 秒懂自定义函数
  3. 业务流程图_你会用Visio制作专业的业务流程图吗?
  4. excel日期相关计算天数
  5. html模板引擎 字符串长度,javascript轻量级模板引擎juicer使用指南
  6. java项目没有xml,利用eclipse新建的java web项目没有部署描述符web.xml文件怎么办?...
  7. Linux使用docker安装RabbitMQ一站式教程【图文教程】
  8. 使用Graphics画表格
  9. Pandas系列(十二)实现groupby分组统计
  10. 编程题常见输入格式处理方法