linux2.6.30.4内核移植(1)
2014-04-16 22:23
357 查看
内核源码:linux2.6.30.4
交叉编译工具:3.4.5
移植linux内核至:TQ2440
1、进入内核顶层目录,修改顶层Makefile,大概在193和194行,将ARCH和CROSS_COMPILE修改为如下所示:
3、在内核顶层目录下执行make menuconfig,弹出如下对话框:
![](http://images.cnitblog.com/blog/468825/201404/162221529327335.png)
4、用方向键向下找到Load an Alternate Configuration File,加载一个默认配置(与TQ2440相近的):
![](http://images.cnitblog.com/blog/468825/201404/162221577912517.png)
![](http://images.cnitblog.com/blog/468825/201404/162222010723214.png)
5、回车后退回到初始配置界面,进入到“System Type”选项下的配置单:
![](http://images.cnitblog.com/blog/468825/201404/162222062918053.png)
“System Type”选项下的各个选项详细配置如下:
![](http://images.cnitblog.com/blog/468825/201404/162222108695021.png)
![](http://images.cnitblog.com/blog/468825/201404/162222134324805.png)
![](http://images.cnitblog.com/blog/468825/201404/162222158859389.png)
![](http://images.cnitblog.com/blog/468825/201404/162222173692902.png)
![](http://images.cnitblog.com/blog/468825/201404/162222195885257.png)
6、General setup选项配置:
![](http://images.cnitblog.com/blog/468825/201404/162222222287083.png)
注意:添加了自己的信息“Ychang”后,驱动模块在加载时会判断Linux版本号,Linux版本号除了2.6.30.4这个信息外,还有上面添加的“Ychang”的信息,所以建议编译驱动模块时使用编译zImage镜像所对应的内核,否则可能会出错。
![](http://images.cnitblog.com/blog/468825/201404/162222263691352.png)
7、在Kernel Features选项下设置是否支持EABI:
![](http://images.cnitblog.com/blog/468825/201404/162222305416378.png)
对于Device Drivers选项下暂不配置,待移植驱动时再做配置。
8、保存配置单
![](http://images.cnitblog.com/blog/468825/201404/162222359781216.png)
![](http://images.cnitblog.com/blog/468825/201404/162222385108243.png)
9、执行make zImage编译镜像,会在arch/arm/boot目录下生成名为“zImage”的镜像,将其烧写到开发板中,启动情况如下:
![](http://images.cnitblog.com/blog/468825/201404/162222427759539.png)
注:2.6.30.4后面的Ychang是我们在步骤6中自行添加的信息。
交叉编译工具: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);修改为CROSS_COMPILE ?= arm-linux-
s3c24xx_init_clocks(12000000);
这是因为TQ2440使用的是12MHZ的外部时钟源作为输入的。3、在内核顶层目录下执行make menuconfig,弹出如下对话框:
![](http://images.cnitblog.com/blog/468825/201404/162221529327335.png)
4、用方向键向下找到Load an Alternate Configuration File,加载一个默认配置(与TQ2440相近的):
![](http://images.cnitblog.com/blog/468825/201404/162221577912517.png)
![](http://images.cnitblog.com/blog/468825/201404/162222010723214.png)
5、回车后退回到初始配置界面,进入到“System Type”选项下的配置单:
![](http://images.cnitblog.com/blog/468825/201404/162222062918053.png)
“System Type”选项下的各个选项详细配置如下:
![](http://images.cnitblog.com/blog/468825/201404/162222108695021.png)
![](http://images.cnitblog.com/blog/468825/201404/162222134324805.png)
![](http://images.cnitblog.com/blog/468825/201404/162222158859389.png)
![](http://images.cnitblog.com/blog/468825/201404/162222173692902.png)
![](http://images.cnitblog.com/blog/468825/201404/162222195885257.png)
6、General setup选项配置:
![](http://images.cnitblog.com/blog/468825/201404/162222222287083.png)
注意:添加了自己的信息“Ychang”后,驱动模块在加载时会判断Linux版本号,Linux版本号除了2.6.30.4这个信息外,还有上面添加的“Ychang”的信息,所以建议编译驱动模块时使用编译zImage镜像所对应的内核,否则可能会出错。
![](http://images.cnitblog.com/blog/468825/201404/162222263691352.png)
7、在Kernel Features选项下设置是否支持EABI:
![](http://images.cnitblog.com/blog/468825/201404/162222305416378.png)
对于Device Drivers选项下暂不配置,待移植驱动时再做配置。
8、保存配置单
![](http://images.cnitblog.com/blog/468825/201404/162222359781216.png)
![](http://images.cnitblog.com/blog/468825/201404/162222385108243.png)
9、执行make zImage编译镜像,会在arch/arm/boot目录下生成名为“zImage”的镜像,将其烧写到开发板中,启动情况如下:
![](http://images.cnitblog.com/blog/468825/201404/162222427759539.png)
注:2.6.30.4后面的Ychang是我们在步骤6中自行添加的信息。
相关文章推荐
- Linux-2.6.30.4在2440上的移植之内核
- 嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之内核
- linux2.6.30.4内核移植(7)——插入hello world驱动模块
- tq2440 Linux 2.6.30.4内核移植
- 针对TQ2440开发板上linux2.6.30.4内核的交叉编译和驱动程序的移植
- 嵌入式开发二:mini2440开发-内核抑制-嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之内核
- linux2.6.30.4内核移植(6)——移植应用程序hello world常见的错误:-bin/sh ./hello not found
- 实验一:嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之内核
- tq2440 Linux 2.6.30.4内核移植
- linux2.6.30.4内核移植(3)——yaffs文件系统移植
- 嵌入式开发三:mini2440开发-内核抑制-嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之内核
- 嵌入式开发七:实验二:本人实践:嵌入式Linux之我行——Linux-2.6.30.4在2440上的移植之内核
- linux2.6.30.4内核移植(2)——Nand Flash驱动移植
- linux2.6.30.4内核移植(4)——完善串口驱动
- Q2440开发板系列教程合集-含有 Linux-2.6.30.4内核移植pdf文档
- linux2.6.30.4 内核移植(2)触摸屏驱动
- linux2.6.30.4内核移植(5)——构建根文件系统(yaffs文件系统格式的镜像)
- 最详尽的ARM+LINUX移植攻略 linux2.6.30.4内核+yaffs2文件系统+uboot 2009.08
- tq2440 Linux 2.6.30.4内核移植
- 【嵌入式Linux学习七步曲之第四篇 Linux内核移植】详解Linux2.6内核中基于platform机制的驱动模型