原帖地址:http://lei43.spaces.live.com/blog/
1.下载最新的busybox1.9.2,并解压缩。
下载busybox源代码:http://busybox.net/downloads/busybox-1.9.2.tar.bz2
交叉编译工具:同内核
解压源码:tar -jxvf busybox-1.9.2.tar.bz2
2.修改Makefile中的174行的 arch和编译工具链头。
ARCH ?= arm
CROSS_COMPILE ?= /usr/local/arm/3.4.1/bin/arm-linux-
3.make menuconfig. 修改编译配置选项。
Busybox Setting----->
build option-->
[ ] Build BusyBox as a static binary (no shared libs)
[*] Build shared libbusybox
[*] Produce a binary for each applet, linked against libbusybox
[*] Produce additional busybox binary linked against libbusybox
[ ] Build with Large File Support (for accessing files > 2 GB)
installation option-->
[*] Don't use /usr
Applets links (as soft-links) --->
(./_install) BusyBox installation prefix
Busybox Library Tuning --->
MD5: Trade Bytes for Speed
[*] Faster /proc scanning code (+100 bytes)
[*] Support for /etc/networks
[*] Support for /etc/networks
[*] Additional editing keys
[*] vi-style line editing commands
[*] History saving
[*] Tab completion
[*] Username completion
[*] Fancy shell prompts
Linux Module Utilities --->
[*] Support version 2.6.x Linux kernels
[*] insmod
[*] Enable load map (-m) option
[*] Symbols in load map
[*] rmmod
[*] lsmod
[*] lsmod pretty output for 2.6.x Linux kernels
[*] modprobe
[ ] Multiple options parsing
[ ] Fancy alias parsing
--- Options common to multiple modutils
[ ] Support tainted module checking with new kernels
[ ] Support version 2.2.x to 2.4.x Linux kernels
[*] Support version 2.6.x Linux kernels
其他的用默认值
4.编译busybox
[root@localhost busybox-1.9.2]# make install
在busybox/_install 目录下会生成我们需要的文件。
5.修改_install/bin/busybox的属性。为4755
chmod 4755 ./_install/bin/busybox
必须要要修改属性,否则在
busybox中很多命令会受限制,比如:
$ su
su: must be suid to work properly