BusyBox编译
来源:互联网 发布:js 二进制 编辑:程序博客网 时间:2024/06/05 09:27
busybox是一个集成了一百多个最常用linux命令和工具的软件,他甚至还集成了一个http服务器和一个telnet服务器,而所有这一切功能却 只有区区1M左右的大小.我们平时用的那些linux命令就好比是分立式的电子元件,而busybox就好比是一个集成电路,把常用的工具和命令集成压缩 在一个可执行文件里,功能基本不变,而大小却小很多倍,在嵌入式linux应用中,busybox有非常广的应用,另外,大多数linux发行版的安装程 序中都有busybox的身影,安装linux的时候案ctrl+alt+F2就能得到一个控制台,而这个控制台中的所有命令都是指向busybox的链 接.
我用的BusyBox版本是busybox-1.1.3,大家可以先到网上下载一个。
其实BusyBox编译并不是很难,主要是它要跟交叉编译器的搭配以及配置的问题。下面是一些必需要设置的选项:
Busybox Settings --->
General Configuration --->
[*] Support for devfs
Build Options --->
[*] Build BusyBox as a static binary (no shared libs)
这个最好选上,因上这样子编译出来的busyBox才是可以独立运行的,否则的话需要将它用到的一些库文件放到文件系统的lib目录中。
│[*] Do you want to build BusyBox with a Cross Compiler? │ │
│ │(/HOME/toolchains/gcc-4.0.2-glibc-2.3.5/arm-9tdmi-linux-gnu/bin/arm-9tdmi-linux-gnu│
上面是我的交叉编译器的路径,你要根据你具体的情况来设置。
Installation Options --->
[*] Don't use /usr
这样子编译出来的busybox才不会安装到你主机的/usr目录下。一定要选上。
--Applets下面是需要编译进busybox的功能选项,其他的可以根据需要自选,但是不要太贪心.
最后执行make,make install,在$/busybox-1.1.3下会产生一个busybox可执行文件,以及生成一个_install目录,里面有三个目录:bin, lib,sbin以及一个linuxrc脚本文件。其中在/bin目录下有很多的常用命令的链接,例如ls,mount,cat等,这些都是指向 busybox中相应功能的链接,我们也可以手动建立指向busybox的链接,不同的链接名完成不同的功能.例如:
最常用的用法是建立指向busybox的链接,不同的链接名完成不同的功能.
#ln -s busybox ls
#ln -s busybox rm
#ln -s busybox mkdir
然后分别运行这三个链接:
#./ls
#./rm
#./mkdir
就可以分别完成了ls rm 和mkdir命令的功能.虽然他们都指向同一个可执行程序busybox
但是只要链接名不同,完成的功能就不同,busybox就是这么的神奇.
我们也可以这样来用:#busybox ls
他的功能就相当运行ls命令
好了,这样一个具有基本功能的busybox已经基本编译好了,把它放到文件系统(我的是cramfs)中后,重新编译文件系统,下载到板子上运行发现无 法使用退格,命令保存等功能,后来参照了luofuchong大侠的文章,发现要在busybox中作如下的设置即可: Shells --->
Choose your default shell (ash) ---> (X) ash
--- Bourne Shell Options
[*] command line editing
[*] vi-style line editing commands
(15) history size │ │
│ │ [*] history saving │ │
│ │ [*] tab completion │ │
│ │ [*] username completion
这样配置编译之后,就可以使用上下键来选择命令,以及使用退格键了。
- BusyBox编译
- 编译busybox
- busybox编译
- 编译busybox
- busybox编译
- 编译busybox
- 编译Busybox
- 编译busybox
- 编译&更新busybox
- busybox编译文件系统
- Busybox 1.1.3编译
- 交叉编译busybox
- busybox编译心得
- 编译busybox出错
- BUSYBOX编译备忘录
- andoid编译 整合busybox
- android内核,busybox编译
- busybox交叉编译
- fileupload 验证文件类型
- 常用的架构模型
- cookie与session全接触
- oprofile for godson2e 移植手记
- c语言 链表
- BusyBox编译
- 利用Anchor和Dock属性管理WinForm控件
- ktrace--系统调用调试工具
- Excel 的问题
- Firefox 的用户脚本管理器 greasemonkey 的使用一例
- 使用SQLServer2000索引视图提高性能
- 句柄
- VxWorks串口驱动概述
- 深入理解abstract class和interface