kernel编译
第一步:拷贝:iTop4412_Kernel_3.0_20180604.tar.gz至tao/zImage
并解压tar –vxfiTop4412_Kernel_3.0_20180604.tar.gz
注:版本必须选对,如本人的开发板为V3.5
第二步:配置文件 cp config_for_linux_scp .config
第三步:make zImage
第四步:arch/arm/boot中zImage
第一个错误
在用arm-2014.05编译器编译iTop4412_Kernel_3.0_20180604.tar内核时,出现问题:
Error: selected processor does not support ARM mode ‘smc 0’
解决办法:
(1)arch/arm/mach-exynos/include/mach/smc.h文件:
在第54行和第69下面添加:
__asm__ volatile (
".arch_extension sec\n" //
"smc 0\n"
: "+r"(reg0), "+r"(reg1), "+r"(reg2), "+r"(reg3)
);
(2)arch/arm/mach-exynos/sleep-exynos4.S文件:
在第43行上面添加:
#ifdef CONFIG_ARM_TRUSTZONE
.arch_extension sec
#endif
(3)arch/arm/mach-exynos/idle-exynos4.S文件:
在第47行上面添加:
#ifdef CONFIG_ARM_TRUSTZONE
.arch_extension sec
#endif
第二个错误
TIMEC kernel/timeconst.h
Can’t use ‘defined(@array)’ (Maybe you should just omit the defined()?) at kernel/timeconst.pl line 373.
/home/yang/Work/iTOP4412/src/iTop4412_Kernel_3.0/kernel/Makefile:140: recipe for target ‘kernel/timeconst.h’ failed
解决办法:
更改kernel/timeconst.pl 文件中 373行的
if (!defined(@val)) {
改为if (!@val) {
第三个错误
CC drivers/media/video/samsung/mali_ics/common/mali_kernel_core.o
arm-none-linux-gnueabi-gcc: error: directory: No such file or directory
arm-none-linux-gnueabi-gcc: error: directory": No such file or directory
scripts/Makefile.build:305: recipe for target ‘drivers/media/video/samsung/mali_ics/common/mali_kernel_core.o’ failed
make[5]: *** [drivers/media/video/samsung/mali_ics/common/mali_kernel_core.o] Error 1
scripts/Makefile.build:441: recipe for target ‘drivers/media/video/samsung/mali_ics’ failed
make[4]: *** [drivers/media/video/samsung/mali_ics] Error 2
scripts/Makefile.build:441: recipe for target ‘drivers/media/video/samsung’ failed
解决办法:将…/mali_ics下的Makefile和Makefile.common中的-qv exported 改为:-Eqv “exported|Unversioned directory”
第四个错误
将…/ump_ics下的Makefile中的-qv exported 改为:-Eqv “exported|Unversioned directory”
第五个错误
删除drivers/video/samsung/s3cfb.h中第217行的关键字inline