linux-3.5内核编译失败的问题
配置内核并编译
$ tar -xvf linux-3.5-20150929.tgz
$ cd linux-3.5
$ make distclean
$ cp tiny4412_android_defconfig .config
$ make menuconfig
System Type --->
[ ] Support TrustZone-enabled Trusted Execution Environment
该选项为三星公司的安全模式,此处不选择
$ make -j4
编译出错
CHK include/linux/version.h
CHK include/generated/utsrelease.h
make[1]: 'include/generated/mach-types.h' is up to date.
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
TIMEC kernel/timeconst.h
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/home/mcy/kernel/linux-3.5/kernel/Makefile:133: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] Error 255
Makefile:776: recipe for target 'kernel' failed
make: *** [kernel] Error 2
make: *** 正在等待未完成的任务....
make: *** wait: 没有子进程。 停止。
解决方法
$vim kernel/timeconst.pl +373
373 if (!defined(@val))
修改为:
373 if (!(@val))
再按照以上方法进行编译就可以通过,在arch/arm/boot目录下生成zImage文件。