在busybox官网上或在 http://www.linuxidc.com/Linux/2011-08/40704.htm 上下载最新的busybox1.19.3,同时将补丁也打上。采用默认配置即:make defconfig 之后,采用make menuconfig 配置几个重要的配置项目。同时修改交叉编译器的环境:ARCH ?= arm CROSS_COMPILE ?= /usr/local/arm/3.3.2/bin/arm-linux-之后,正式编译busybox,哇呜啊,出现了UBI的错误哦。miscutils/ubi_tools.c:63:26: error: mtd/ubi-user.h: No such file or directory miscutils/ubi_tools.c: In function "ubi_tools_main": miscutils/ubi_tools.c:133: error: "UBI_DEV_NUM_AUTO" undeclared (first use in this function) miscutils/ubi_tools.c:133: error: (Each undeclared identifier is reported only once miscutils/ubi_tools.c:133: error: for each function it appears in.) miscutils/ubi_tools.c:134: error: "UBI_VOL_NUM_AUTO" undeclared (first use in this function) miscutils/ubi_tools.c:153: error: storage size of "req" isn"t known miscutils/ubi_tools.c:161: error: "UBI_IOCATT" undeclared (first use in this function) miscutils/ubi_tools.c:153: warning: unused variable "req" miscutils/ubi_tools.c:167: error: "UBI_IOCDET" undeclared (first use in this function) miscutils/ubi_tools.c:170: error: storage size of "req" isn"t known miscutils/ubi_tools.c:177: error: "UBI_MAX_VOLUME_NAME" undeclared (first use in this function) miscutils/ubi_tools.c:184: error: "UBI_STATIC_VOLUME" undeclared (first use in this function) miscutils/ubi_tools.c:186: error: "UBI_DYNAMIC_VOLUME" undeclared (first use in this function) miscutils/ubi_tools.c:195: error: "UBI_IOCMKVOL" undeclared (first use in this function) miscutils/ubi_tools.c:170: warning: unused variable "req" miscutils/ubi_tools.c:201: error: "UBI_IOCRMVOL" undeclared (first use in this function) miscutils/ubi_tools.c:204: error: storage size of "req" isn"t known miscutils/ubi_tools.c:214: error: "UBI_IOCRSVOL" undeclared (first use in this function) miscutils/ubi_tools.c:204: warning: unused variable "req" miscutils/ubi_tools.c:222: error: "UBI_IOCVOLUP" undeclared (first use in this function) make[1]: *** [miscutils/ubi_tools.o] 错误 1 make: *** [miscutils] 错误 2出现这么多的错误,核心问题就是出现在miscutils/ubi_tools.c:63:26: error: mtd/ubi-user.h: No such file or directory这个上面,无法找到mtd/ubi-user.h头文件,查阅了相关资料后,原来这是一个Linux下新支持的UBI文件系统,需要手工加入。从Linux2.6.29的includemtdubi-user.h拷贝到busybox下的includemtd下,如果busybox下的include没有mtd文件夹,那就先建立一个mtd文件夹,然后复制了。这样做了之后,编译就OK了。出现下面的信息就说明编译成功了。LINK busybox_unstripped Trying libraries: crypt m Library crypt is not needed, excluding it Library m is needed, can"t exclude it (yet) Final link with: m DOC busybox.pod DOC BusyBox.txt DOC busybox.1 DOC BusyBox.html之后就是安装busybox了。make install 等一会就可以看到_install文件夹了。差不多300多MB啊。当然你可以根据自己的需要去裁剪busybox啊。见下面部分信息: ./_install//usr/sbin/ubimkvol -> ../../bin/busybox ./_install//usr/sbin/ubirmvol -> ../../bin/busybox ./_install//usr/sbin/ubirsvol -> ../../bin/busybox ./_install//usr/sbin/ubiupdatevol -> ../../bin/busybox ./_install//usr/sbin/udhcpd -> ../../bin/busybox -------------------------------------------------- You will probably need to make your busybox binary setuid root to ensure all configured applets will work properly.