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映像文件。