内核编译问题

来源:互联网 发布:python 多进程通信 编辑:程序博客网 时间:2024/06/04 00:51

1、解决办法:tar: Exiting with failure status due to previous errors

原来是待压缩的文件夹是root权限创建的,而执行tar的时候未加sudo。

2、关闭ubuntu防火墙命令:sudo ufw disable

3、编译内核
出错信息:CC      kernel/bounds.s
cc1: error: invalid option `abi=aapcs-linux'
make[1]: *** [kernel/bounds.s] Error 1
make: *** [prepare0] Error 2

原因:
旧编译器可能是用OABI的,而配置内核时又选择了使用EABI的,修改内核配置:
    Kernel Features ---->Use the ARM EABIto compile the kernel
不选该项。
 
EABI:嵌入式应用二进制接口
 

出现此问题的原因是由于kernel feature中选中了Use the ARM EABIto compile the kernel引起的,有两各解决办法:

1)换编译器,

[shiner@localhost linux-2.6.30.4]$ arm-linux-gcc -v
Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/maxim/arm-lite/src-4.3-arm-none-linux-gnueabi-lite/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu--target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --with-specs='%{funwind-tables|fno-unwind-tables|mabi=*|ffreestanding|nostdlib:;:-funwind-tables}' --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2009q1-176' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/libc --with-gmp=/scratch/maxim/arm-lite/obj-4.3-arm-none-linux-gnueabi-lite/host-libs-2009q1-176-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/maxim/arm-lite/obj-4.3-arm-none-linux-gnueabi-lite/host-libs-2009q1-176-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/maxim/arm-lite/install-4.3-arm-none-linux-gnueabi-lite/arm-none-linux-gnueabi/bin
Thread model: posix
gcc version 4.3.3 (Sourcery G++ Lite 2009q1-176)

注意:编译器得支持红色标记的。

2)去掉内核中的Kernel Features->Use the ARM EABIto compile the kernel选项

4、内核配置单
通过make menuconfig修改内核的配置单,然后选择save an Alternate configuration File保存配置单并修改配置单名字,下次使用的时候loadan Alternate configuration File,添加我们以前的配置单,然后选择save an Alternate configuration File保存为(.config)。

原创粉丝点击