问题1:内核版本不一致
1.1 问题前情提要
版本信息有:VERSION,PATCHLEVEL, SUBLEVEL, EXTRAVERSION,KERNELRELEASE
版本信息定义了当前内核的版本,比如 VERSION=2,PATCHLEVEL=4,SUBLEVEL=18,EXATAVERSION=-rmk7
它们共同构成内核的发行版本KERNELRELEASE:2.4.18-rmk7
1.2 问题描述
将正点原子的驱动模块直接拷贝至出厂系统,insmod之后会提示'version magic '4.1.15 SMP preempt mod_unload modversions ARMv6 p2v8 ' should be '4.1.15-gbedf008 SMP preempt mod_unload modversions ARMv7 p2v8'的错误。
1.3 问题分析
内核版本信息不一样,不一样的地方就在于EXTRAVERSION以及 ARMv7 p2v8这个版本信息。
问题解决:主要就是两步:(1)手动添加Makefile中的EXTRAVERSION;(2)修改CPU Core family selection(可以使用GUI界面直接修改,命令为make menuconfig;或者直接修改.config文件)
1.4 问题参考
http://47.111.11.73/thread-304752-1-1.html
问题2:U-Boot移植(添加自己的开发板)报错
2.1 问题描述
2.2 问题分析
make的时候找不到'mx6ull_alientek_',看到这个错误就奇怪为什么会有mx6ull_alientek_这么奇怪的路径,估摸着是自己多打了一个空格导致的。
2.3 问题解决
CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6ull_alientek_emmc/imximage.cfg,MX6ULL_EVK_EMMC_REWORK"
CONFIG_ARM=y
CONFIG_ARCH_MX6=y
CONFIG_TARGET_MX6ULL_ALIENTEK_EMMC=y
CONFIG_CMD_GPIO=y
将正点原子给的代码中检查一下有没有空格即可。