pandaboard ES学习之旅——5 Android Linux内核源代码下载与编译

5 AndroidLinux内核源代码下载与编译

5.1 下载源码与编译

http://releases.linaro.org/12.10/android/leb-panda/下载linaro_kernel_build_cmds.sh

linaro_kernel_build_cmds.sh脚本实现的功能是:

1、  download the kernel下载内核源码。

2、  download the kernel config下载内核配置文件。

3、  build the code编译源代码。

5.2 问题

出现的问题:

build linux kernel的错误

cc1: error: unrecognizedcommand line option "-mlittle-endian"

cc1: error: unrecognizedcommand line option "-mapcs"

cc1: error: unrecognizedcommand line option "-mno-sched-prolog"

cc1: error: unrecognizedcommand line option "-mabi=aapcs-linux"

cc1: error: unrecognizedcommand line option "-mno-thumb-interwork"

arch/arm/kernel/asm-offsets.c:1:error: bad value (armv5t) for -march= switch

arch/arm/kernel/asm-offsets.c:1:error: bad value (strongarm) for -mtune= switch

 

原因是CROSS_COMPILER路径没有设置正确。

解决方法:打开linaro_kernel_build_cmds.sh脚本找到如下代码

# build the code

#CROSS_COMPILE=`whicharm-linux-gnueabi-gcc |sed -e 's,gcc,,'`

 //Richard:老的无法识别交叉工具链,可注释掉。

CROSS_COMPILE=/data/smbshare/richard/source_code/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-

//Richard:再编译改为对应android源代码中的交叉工具链“CROSS_COMPILE=~/<android source>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-”。

5.3 生成的映像

生成的内核映像:在”.\linaro-kernel\out\arch\arm\boot”中找Image uImage zImage映像文件。

原文地址:https://www.cnblogs.com/IDoIUnderstand/p/3280729.html