编译busybox的组合:
busybox-1.0.0  arm-linux-gcc-2.95.3 (AT91rm9200开发板)
  
经典参考:
busybox/downloads/  下载busybox
by-churchill/balloon/releases/v0.7/roots/  文件系统制作 
  
移植基本过程: 
1. busybox/downloads/busybox-1.7.3.tar.bz2下载busybox;
2. 解压busybox1.7.3
    tar jxvf busybox-1.7.3.tar.bz2
3. make defconfig
4. make menuconfig
  [build options]中选择[Build busybox as a static binary] 
    主要是C库的连接方式,安装目录等。
5. make 
6. 创建rootfs目录
7. make install 
 
编译过程可能出现以下错误,解决方法如下:
 
  
可能会出现的错误:

1. 出现如下错误

  CC miscutils/taskset.o
  miscutils/taskset.c:17: error: parse error before '*' token
  miscutils/taskset.c:18: warning: function declaration isn't a prototype
  miscutils/taskset.c: In function `__from_cpuset':
  miscutils/taskset.c:22: error: `CPU_SETSIZE' undeclared (first use in this function)
  miscutils/taskset.c:22: error: (Each undeclared identifier is reported only once
  miscutils/taskset.c:22: error: for each function it appears in.)
  miscutils/taskset.c:26: warning: implicit declaration of function `CPU_ISSET'
  miscutils/taskset.c:26: error: `mask' undeclared (first use in this function)
  miscutils/taskset.c: In function `taskset_main':
  miscutils/taskset.c:47: error: `cpu_set_t' undeclared (first use in this function)
  miscutils/taskset.c:47: error: parse error before "mask"
  miscutils/taskset.c:68: warning: implicit declaration of function `CPU_ZERO'
  miscutils/taskset.c:68: error: `new_mask' undeclared (first use in this function)
  miscutils/taskset.c:69: error: `CPU_SETSIZE' undeclared (first use in this function)
  miscutils/taskset.c:71: warning: implicit declaration of function `CPU_SET'
  miscutils/taskset.c:78: error: `mask' undeclared (first use in this function)
  make[1]: *** [miscutils/taskset.o] Error 1
  make: *** [miscutils] Error 2
   
make menuconfig 
   [Miscellaneous Utilities],去掉[task set]

2. 如下错误:
time.c
libbb/time.c:20: error: "CLOCK_MONOTONIC" undeclared (first use in this function)error parse new 
make menuconfig

  去掉Busybox Settings->Busybox Library Tuning->[]Use clock_gettie(CLOCK_MONOTONIC) syscall
3.出现如下错误:
In file included from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/fs.h:12, 
                from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/capability.h:17, 
                from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/binfmts.h:5, 
                from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/sched.h:9, 
                from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/net/inetpeer.h:14,
                from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/net/route.h:28, 
                from /busybox-1.01/networking/route.c:42: 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/wait.h:4: warning: `WNOHANG' redefined 
/
usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/bits/waitflags.h:26: warning: 
this is the location of the previous definition 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/wait.h:5: warning: `WUNTRACED' redefined 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/bits/waitflags.h:27: warning: 
this is the location of the previous definition 
In file included from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/sched.h:77, 
                from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/net/inetpeer.h:14,
                from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/net/route.h:28, 
                from /busybox-1.01/networking/route.c:42: 
/
usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/time.h:108: warning: `FD_SET' redefined 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/sys/select.h:83: warning: this is the location of the previous definition 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/time.h:109: warning: `FD_CLR' redefined 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/sys/select.h:84: warning: this is the location of the previous definition 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/time.h:110: warning: `FD_ISSET' redefined 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/sys/select.h:85: warning: this is the location of the previous definition 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/linux/time.h:111: warning: `FD_ZERO' redefined 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/sys/select.h:86:
warning: this is the location of the previous definition 
In file included from /busybox-1.01/networking/route.c:42: 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/net/route.h:34: warning: #warning This file is not supposed to be used outside of kernel. 
…… 
…… 
In file included from /usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/netdb.h:38, 
                from /busybox-1.01/include/libbb.h:36, 
                from /busybox-1.01/include/busybox.h:54, 
                from /busybox-1.01/networking/route.c:44: 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/bits/siginfo.h:34: redefinition of `union sigval' 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/bits/siginfo.h:37:
warning: redefinition of `sigval_t' 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/asm/siginfo.h:11: warning: `sigval_t' previously declared here 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/bits/siginfo.h:274: redefinition of `struct sigevent' 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/bits/siginfo.h:289: warning: redefinition of `sigevent_t' 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/sys-include/asm/siginfo.h:211: warning: `sigevent_t' previously declared here 
/usr/local/arm/2.95.3/lib/gcc-lib/arm-linux/2.95.3/../../../../arm-linux/include/bits/siginfo.h:298: parse error before `0' 
In file included from /busybox-1.01/include/busybox.h:54, 
                from /busybox-1.01/networking/route.c:44: 
/busybox-1.01/include/libbb.h:112: warning: declaration of `flags' shadows global declaration 
/
busybox-1.01/include/libbb.h:113: warning: declaration of `flags' shadows global declaration 
/busybox-1.01/include/libbb.h:135: warning: declaration of `flags' shadows global declaration 
/busybox-1.01/include/libbb.h:251: warning: declaration of `flags' shadows global declaration 
/busybox-1.01/include/libbb.h:256: redefinition of `struct sysinfo' 
/busybox-1.01/include/libbb.h:272: warning: declaration of `info' shadows global declaration 
/busybox-1.01/include/libbb.h:309: warning: declaration of `flags' shadows global declaration 
/busybox-1.01/include/libbb.h:440: warning: declaration of `flags' shadows global declaration 
/busybox-1.01/networking/route.c:475: warning: declaration of `flags' shadows global declaration 
/
busybox-1.01/networking/route.c: In function `set_flags': 
/busybox-1.01/networking/route.c:476: warning: declaration of `flags' shadows global declaration 
/busybox-1.01/networking/route.c: In function `displayroutes': 
/busybox-1.01/networking/route.c:490: warning: declaration of `flags' shadows global declaration 
make: *** [/busybox-1.01/networking/route.o] Error 1
去掉Busybox Settings->NetWork device-->[]route
4.如下错误:
usr/src/armlinux/busybox-1.0.0/libbb/loop.c:32:linux/version.h:No such file or directory
/usr/src/armlinux/busybox-1.0.0/libbb/loop.c:35 arse error
/usr/src/armlinux/busybox-1.0.0/libbb/loop.c:37 arse error
将内核源码下的include/linux目录下的versition.h文件
放到 busybox-1.0.0/include/linux
.....

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。