android内核在ubuntu16.04 64位上编译
1.下载编译android内核的交叉编译器
2.设置环境变量
3.编译goldfish_defconfig生产.config
4.make menuconfig
5.make
我在第5步骤出现如下错误:
CC kernel/cpu.o
CC kernel/exit.o
CC kernel/itimer.o
TIMEC kernel/timeconst.h
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/home/zcz/android_kernel/goldfish/kernel/Makefile:126: recipe for target 'kernel/timeconst.h' failed
make[1]: *** [kernel/timeconst.h] Error 255
Makefile:870: recipe for target 'kernel' failed
make: *** [kernel] Error 2
解决方法是:将373行修改为374行
@val = @{$canned_values{$hz}};
373 //if (!defined(@val)) {
374 if (@val) {
@val = compute_values($hz);
}
6.在执行make 成功编译出zImage
下面是感谢原著的贡献:
http://kedazhaoguowei.iteye.com/blog/2194184 《android源码下载,编译,刷机,编译模块push到手机 的一篇文章》
http://www.jianshu.com/p/367f0886e62b 《自己动手编译Android源码(超详细)》
https://blog.csdn.net/windcake/article/details/79349057 《在Ubuntu16.04上下载并编译Android源代码》