Busybox制作嵌入式Linux的文件系统 01
![Rank: 8](images/default/star_level3.gif) ![Rank: 8](images/default/star_level3.gif)
- UID
- 872238
|
![](http://images.eccn.com/silabs/silicon_chip_980x60_202203.jpg)
Busybox制作嵌入式Linux的文件系统 01
一、编译
1.busybox简介
熟悉嵌入式Linux的人对busybox一定不会陌生。它被非常形象地称为嵌入式Linux系统中的“瑞士军刀”,因为它将许多常用的UNIX命令和工具结合到了一个单独的可执行程序中。虽然与相应的GNU工具比较起来,busybox所提供的功能和参数略少,但在比较小的系统(例如启动盘)或者嵌入式系统中,已经足够了。
下面就来一步步地用busybox从无到有地建立一个全新的Linux文件系统。
2. 编译busybox
完整的源代码可以从http://www.busybox.net下载,压缩包大小为1.3 MB左右。将源码解压之后,进入到busybox1.00目录中,运行make menuconfig可以打开它的编译界面。这个界面和Linux内核编译有些接近。在这个菜单界面中除了可以对最终编译到可执行文件中的命令进行选择外,还有很多其他设置也是非常重要的。下面三个目录是很多人都会感兴趣的:
我改变了以下选项:
General Configuration --->
Support for devfs
Build Options --->
[ ] Build BusyBox as a static binary (no shared libs)
Do you want to build BusyBox with a Cross Compiler?
/usr/local/arm/3.4.1/bin/arm-linux-
(/usr/local/arm/3.4.1/bin/arm-linux-) Cross Compiler prefix
Installation Options --->
(./_install) BusyBox installation prefix
然后到当前目录建立一个_install的文件夹。
Linux Ext2 FS Progs --->
e2fsck
Linux Module Utilities --->
insmod
rmmod
[ ] lsmod
[ ] modprobe
--- Options common to multiple modutils
Support tainted module checking with new kernels (NEW)
[ ] Support version 2.2.x to 2.4.x Linux kernels
Support version 2.6.x Linux kernels (NEW)
注意此处的选择,可能会影响到编译不过。
Networking Utilities --->
ftpget
ftpput
...
wget
...
telnet
Pass TERM type to remote host (NEW)
Pass USER type to remote host (NEW)
telnetd
注释:tlenetd命令是一个远程登录服务程序,把它编译进busybox中会为将来的调试提供很多的方便。 |
|
|
|
|
|