现在的位置: 首页 > 综合 > 正文

内核在utu2440上的移植

2013年10月17日 ⁄ 综合 ⁄ 共 866字 ⁄ 字号 评论关闭

Linux-2.6.30.4在2440上的移植之内核

一、移植环境

  • 主  机:VMWare--Fedora 9
  • 开发板:Mini2440--64MB Nand
  • 编译器:arm-linux-gcc-4.3.2

二、移植步骤

1. 准备工作目录和解压内核源码

DE>#mkdir my2440
#cd my2440/
#tar -jxvf linux-2.6.30.4.tar.bz2
DE>

2. 进入内核根目录修改Makefile使之编译成ARM平台

DE>#cd linux-2.6.30.4
#gedit Makefile
DE>

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

3. 修改机器码,根据友善提供的VIVI里面的机器码是782,所以内核也要改成782才能启动

DE>#gedit arch/arm/tools/mach-typesDE>

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

4. 修改系统平台时钟为12MHz(即:12000000)

DE>#gedit arch/arm/mach-s3c2440/mach-smdk2440.cDE>

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

5. 修改Nand Flash分区。这里只创建三个分区,其他多余的分区屏蔽掉

DE>#gedit arch/arm/plat-s3c24xx/common-smdk.cDE>

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

6. 配置内核选项

DE>#make menuconfigDE>

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

首先加载s3c24xx系列的通用配置,然后在此基础上修改

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

各配置选项如下。这里只列出了要修改的项,其他的默认
Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

配置完后将配置文件保存为.config,这样方便下次make menuconfig时默认加载上次配置过的文件
 
Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)
 
Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)
 
7. 交叉编译内核
 

DE>#make zImageDE>

如果没有任何错误,编译出来的内核在arch/arm/boot/目录下,文件zImage即是。

8. 将内核镜像文件zImage下载到Mini2440上测试

新内核2.6.30.4的使用:

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

64MB Nand Flash分区情况:

Linux-2.6.30.4在2440上的移植之内核 - Jesse Rei - Jesse Rei 的博客(优柔寡断)

三、结束语

    Ok,新的内核移植成功,但是现在开发板还不能正常运行,因为还有各种设备的驱动和文件系统没有移植,这些将在后续的篇章中一一讲述。

 

抱歉!评论已关闭.