内核源码:linux2.6.30.4
交叉编译工具:3.4.5
移植linux内核至:TQ2440
1、进入内核顶层目录,修改顶层Makefile,大概在193和194行,将ARCH和CROSS_COMPILE修改为如下所示:
ARCH ?= arm
CROSS_COMPILE ?= arm-linux-
2、修改内核源码arch/arm/mach-s3c2440/mach-smdk2440.c文件,大概在163行,将s3c24xx_init_clocks(16934400);修改为
s3c24xx_init_clocks(12000000);
这是因为TQ2440使用的是12MHZ的外部时钟源作为输入的。
3、在内核顶层目录下执行make menuconfig,弹出如下对话框:
4、用方向键向下找到Load an Alternate Configuration File,加载一个默认配置(与TQ2440相近的):
5、回车后退回到初始配置界面,进入到“System Type”选项下的配置单:
“System Type”选项下的各个选项详细配置如下:
6、General setup选项配置:
注意:添加了自己的信息“Ychang”后,驱动模块在加载时会判断Linux版本号,Linux版本号除了2.6.30.4这个信息外,还有上面添加的“Ychang”的信息,所以建议编译驱动模块时使用编译zImage镜像所对应的内核,否则可能会出错。
7、在Kernel Features选项下设置是否支持EABI:
对于Device Drivers选项下暂不配置,待移植驱动时再做配置。
8、保存配置单
9、执行make zImage编译镜像,会在arch/arm/boot目录下生成名为“zImage”的镜像,将其烧写到开发板中,启动情况如下:
注:2.6.30.4后面的Ychang是我们在步骤6中自行添加的信息。