移植Linux2.6.25内核到mini2440s3c2440


注:尊重他人劳动果实,以下转自jiajingtao126网友的百度空间

Linux内核移植移植Linux2.6.25内核到mini2440/s3c2440详解2009-04-28 10:45空闲时间做了内核的移植工作,将Linux2.6.25内核移植到mini2440,下面是我成功移植后总结的笔记,希望对初学此方面的博友有帮助。

一.开发环境的建立

1.系统为VMware5.5 + Red Hat Linux 9.0

2.交叉编译器版本为arm-Linux-gcc-3.4.5

在命令行执行:

cd /xx/xx/xx/ "此目录为你暂时存放编译器压缩文件的目录"

tar zxvf arm-Linux-gcc-3.4.5.tgz -C /,将编译器解压并安装到/usr/local/arm目录中(具体解压到哪个目录要看你压缩包的原目录是什么了,你也可以指定目录)。

二.移植内核

1.下载内核源码到下面网站下载:http://www.kernel.org/

2.建立工作目录

在命令行执行:mkdir –p /opt/FriendlyARM/mini2440

此目录是我的工作目录,名称你可以随意修改,如果修改下面的路径也需要做相应的修改

3.解压系统源码

假如将内核源码存放在/xx/xx/ 下面。则执行:

cd /xx/xx/

tar jxvf(如果以gzip方式压缩的则为zxvf)Linux-2.6.25.tar.bz2 –C /opt/FriendlyARM/mini2440/,将其解压到PC 的“/opt/FriendlyARM/mini2440/”目录下。

4、在系统中添加对ARM 的支持及设置好编译器

进到内核源码:cd /opt/FriendlyARM/mini2440/Linux-2.6.25.8

修改顶层“Makefile ”文件,

ARCH ? =arm

CROSS_COMPILE ?=/usr/local/arm/3.4.5/bin/arm-Linux- 然后保存。

5、修改平台输入时钟

修改平台的时钟频率,修改内核源码“arch/arm/machs3c2440/

mach-smdk2440.c”,把16934400 改为12000000,因为我们的开发板上为12M

6、修改机器类型ID号

Supervivi的机器码是782,所以这里需要修改机器码,否则会出现不能启动的

情况。修改内核源码的“arch/arm/tools/mach-types”文件,在大概379 行,把原来的362 改为782

7、Nand Flash 驱动移植

Linux 里面已经做好了Nand Flash 的驱动,我们只需要进行简单的修改即可

以使用了。

1.修改内核源码“arch/arm/plat-s3c24xx/common-smdk.c”文件,这个是NAND FLASH分区的信息。

内核MTD分区必须与vivi分区相一致。因为,vivi分区中的地址是引导程序、内核映像及文件系统下载到Nand Flash的真正地址;而内核启动时,内核并不是去读vivi分区中

Linuxidc免责声明:本文仅代表作者个人观点,与帮客之家无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

相关内容