内核-编译器-busybox版本之间的关系

2019-07-12 22:32发布

内核-编译器-busybox版本之间的关系 前言:本文主要记录用各个版本的编译器编译出来代码运行结果。 1. (zImage) Busybox-1.3.2: arm-linux-gcc-3.3.2 Linux-2.6.26.3:arm-linux-gcc-3.4.1 编译结果:正常通过。 运行结果:看到控制台   2. (zImage2) Busybox-1.3.2: arm-linux-gcc-3.3.2 Linux-2.6.30:      arm-linux-gcc-3.4.1 编译结果:正常通过。 运行结果:看到控制台   3. Busybox-1.3.2: arm-linux-gcc-3.4.1 Linux-2.6.30:      arm-linux-gcc-3.4.1 编译结果:Busybox-1.3.2编译不通过 运行结果:XXX   4. (zImage3) Busybox-1.3.2: arm-linux-gcc-3.3.2 Linux-2.6.30:      arm-linux-gcc-4.3.2 (linux编译的时候不选上eabi) 编译结果:linux编译不通过,要把Linux-2.6.30目录下的Makefile的194行改为                      194 CROSS_COMPILE   ?=arm-none-linux-gnueabi-                 编译才通过 运行结果:看到控制台   5. (zImage4) Busybox-1.3.2: arm-linux-gcc-3.3.2 Linux-2.6.30:      arm-linux-gcc-4.3.2 (linux编译的时候选上eabi) 编译结果:linux编译不通过,要把Linux-2.6.30目录下的Makefile的194行改为                      194 CROSS_COMPILE   ?=arm-none-linux-gnueabi-                 编译才通过 运行结果:看到控制台   6. (***) Busybox-1.3.2: arm-linux-gcc-4.3.2 Linux-2.6.30:      arm-linux-gcc-4.3.2 (linux编译的时候选上eabi) 编译结果:Busybox-1.3.2编译不通过 运行结果:XXX   7. (zImage4) Busybox-1.15.2(这个版本的文件系统是支持eabi的): arm-linux-gcc-4.3.2 Linux-2.6.30:      arm-linux-gcc-4.3.2 (linux编译的时候选上eabi) 编译结果:正常通过 运行结果:运行正常 (难能可贵的是在secureCRT终端下TAB键、四个箭头键、delete键、退格键都能够正常使用)   8. (zImage3) Busybox-1.15.2(这个版本的文件系统是支持eabi的): arm-linux-gcc-4.3.2 Linux-2.6.30:      arm-linux-gcc-4.3.2 (linux编译的时候不选上eabi) 编译结果:正常通过 运行结果:一大堆错误   9.( zImage2) Busybox-1.15.2(这个版本的文件系统是支持eabi的): arm-linux-gcc-4.3.2 Linux-2.6.30:      arm-linux-gcc-3.4.1 (linux编译的时候不选上eabi) 编译结果:正常通过 运行结果:一大堆错误(同 7. 中的错误)   10.( zImage) Busybox-1.15.2(这个版本的文件系统是支持eabi的): arm-linux-gcc-4.3.2 Linux-2.6.26.3:    arm-linux-gcc-3.4.1 (linux编译的时候不选上eabi) 编译结果:正常通过 运行结果:有几行错误   11.下面情况编译都是不通过的 Busybox-1.15.2: arm-linux-gcc-3.4.1或arm-linux-3.3.2 Linux-2.6.30(选上支持eabi):     arm-linux-gcc-3.4.1或arm-linux-3.3.2   12.通过以上11种情况的分析对内核和文件系统是否支持eabi的搭配做如下总结: 内核 (1:支持eabi,0:不支持eabi)
文件系统 (1:支持eabi,0:不支持eabi)
结果(1:可以运行,0:不可运行)

0
0
1

0
1
0

1
0
1

1
1
1