linux2.6.30.4内核移植(1)

内核源码: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,弹出如下对话框:

linux2.6.30.4内核移植(1)_第1张图片

4、用方向键向下找到Load an Alternate Configuration File,加载一个默认配置(与TQ2440相近的):

linux2.6.30.4内核移植(1)_第2张图片

linux2.6.30.4内核移植(1)_第3张图片

5、回车后退回到初始配置界面,进入到“System Type”选项下的配置单:

linux2.6.30.4内核移植(1)_第4张图片

“System Type”选项下的各个选项详细配置如下:

linux2.6.30.4内核移植(1)_第5张图片

linux2.6.30.4内核移植(1)_第6张图片

linux2.6.30.4内核移植(1)_第7张图片

linux2.6.30.4内核移植(1)_第8张图片

linux2.6.30.4内核移植(1)_第9张图片

6、General setup选项配置:

linux2.6.30.4内核移植(1)_第10张图片

注意:添加了自己的信息“Ychang”后,驱动模块在加载时会判断Linux版本号,Linux版本号除了2.6.30.4这个信息外,还有上面添加的“Ychang”的信息,所以建议编译驱动模块时使用编译zImage镜像所对应的内核,否则可能会出错。

linux2.6.30.4内核移植(1)_第11张图片

7、在Kernel Features选项下设置是否支持EABI:

linux2.6.30.4内核移植(1)_第12张图片

对于Device Drivers选项下暂不配置,待移植驱动时再做配置。

8、保存配置单

linux2.6.30.4内核移植(1)_第13张图片

linux2.6.30.4内核移植(1)_第14张图片

9、执行make zImage编译镜像,会在arch/arm/boot目录下生成名为“zImage”的镜像,将其烧写到开发板中,启动情况如下:

linux2.6.30.4内核移植(1)_第15张图片

注:2.6.30.4后面的Ychang是我们在步骤6中自行添加的信息。

你可能感兴趣的:(linux)