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了吗?
别担心,我们将对整个根文件系统做大幅度的压缩.
分享到:
相关推荐
标题提到“修正编译过的busybox的源码,验证过在android上能使用”,这意味着我们讨论的是如何针对Android平台定制和编译Busybox。 首先,你需要从官方网站或者Git仓库获取Busybox的源代码,这里给定的是版本1.20.2...
标题中的"ANDROID交叉编译后的BUSYBOX-1.19.4"指的是专门为Android系统通过交叉编译技术生成的BusyBox 1.19.4版本。 【交叉编译】 交叉编译是一种在一种平台上生成可在另一种平台运行的代码的编译过程。在这个案例...
采用的是arm-linux编译。内含编译ok busybox最新版本2016.8月份。资源在make install 后的_install/下面。已验证ok,工作中ftp使用验证ok,支持传送单个大于2G的文件。
6. **整合到固件**:最后,将编译好的BusyBox整合到你的固件中,这可能涉及到构建rootfs,制作启动加载器(如U-Boot)配置,以及更新设备的引导流程。 整个移植过程需要对Linux内核、嵌入式系统和编译原理有深入的...
从busybox中提取的tftp工具源码,测试通过,可以直接编译。对端开启tftp服务后,可以通过tftp进行文件的上传和下载。下载请注意busybox版tftp工具和常用tftp使用方法不同。
### BusyBox编译详解 BusyBox,作为一款集成了大量常用Linux命令与工具的轻量级软件包,广泛应用于嵌入式系统、物联网设备及移动操作系统中,如Android。其核心价值在于高度集成化,使得单个二进制文件能够执行多种...
1,busybox简介 busybox是一个集成了一百多个常用linux命令和工具的软件,他甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只有区区1M左右的大小。我们平时用的那些linux命令就好比是分力式的...
在使用`busybox`时,建议熟悉其命令行帮助文档,可以通过`busybox help`或`busybox command --help`来查看具体命令的用法。同时,对于复杂的脚本或任务,可能需要结合Windows自带的命令和`busybox`共同完成。 总结...
针对前几天,用busybox编译根文件的时候,碰到的问题和解决方法进行总结
通过以上步骤,你应该能够解决在Linux构建根文件系统过程中遇到的BusyBox编译错误。在嵌入式系统开发中,理解和解决这类问题是非常重要的,因为一个完整的、无错误的根文件系统对于系统的稳定运行至关重要。
- `busybox编译.txt`:这可能是关于如何编译 BusyBox 源码的指南,通常包括设置配置选项、编译步骤和安装过程等内容。编译 BusyBox 通常涉及 `make menuconfig`(配置)、`make`(编译)和 `make install`(安装)等...
基于busybox移植的rootfs,登陆用户名为root,如果遇到问题请参考我的博客https://blog.csdn.net/m0_37182543/article/details/80550885
- 解压`busybox-1.12.4.tar.gz`后,用户通常需要编译并安装Busybox。首先,需要配置 Busybox 以选择所需的命令集,通过运行`make menuconfig`进行设置。 - 配置完成后,使用`make`命令编译源代码,然后通过`make ...
linux 中 busybox-1.36.0 版本的源码包,可用于busybox的交叉编译
2. **准备编译工具链**:为了能够在本地编译出适用于Android平台的BusyBox,需要下载并配置GNU Toolchain for ARM Processors。推荐使用CodeSourcery提供的工具链,例如:...
2. **编译与定制**:用户可以根据嵌入式系统的实际需求选择要包含的命令,并编译定制版的 Busybox,以优化性能和大小。 3. **嵌入式系统支持**:在资源受限的环境中,Busybox 是替代完整 Linux 发行版的首选,因为...
busybox-mips for linux tools android binary ftp mount
6、BusyBox源码,busybox编译,C,C++源码
BusyBox 简化嵌入式 Linux 系统 多体系结构支持 配置并编译 BusyBox 手工配置