AT91RM9200 Linux2.6内核移植教程

需积分: 9 6 下载量 2 浏览量 更新于2024-11-28 收藏 127KB PDF 举报
"9200 kernel2.6内核移植.pdf" 这篇文档详细阐述了如何在AT91RM9200处理器上移植Linux 2.6内核,包括从U-boot编译到内核配置、编译以及更新Ramdisk和工具集的全过程。 一、U-boot编译及改动 1. 获得U-boot:首先需要从SourceForge.net下载U-boot的源代码,这里推荐使用1.0.0以上的版本。解压后,根据实际硬件需求对源代码进行修改。 2. 源代码修改: - 网口驱动:原版U-boot的网口驱动可能不适用于特定的硬件,需要替换为适应自产板的驱动,如at91rm9200_ether.c,具体替换为dvcom或lxt971版本。 - 添加Intel Flash驱动和命令:替换cmd_mem.c为cmd_mem(intel).c,增加对Intel Flash的支持,同时可以使用"fl"命令进行读写操作。 - 引入Xmodem命令:为了实现数据传输,需要在common目录下添加xmodem.c和cmd_xdownload文件。 二、获取Linux内核源码及硬件patch 1. 下载内核源码:获取Linux 2.6.12版本的内核源码,这是移植的基础。 2. 应用硬件patch:下载针对AT91RM9200的硬件补丁,以便内核能识别和驱动该平台的硬件设备。 三、内核编译 1. 交叉编译环境建立:配置适用于ARM架构的交叉编译工具链,确保能够在非ARM系统上编译出适用于ARM的内核。 2. 配置内核:使用make menuconfig或.config文件,根据硬件配置选择内核选项,包括设备驱动、网络支持、文件系统等。 3. 修改网卡驱动:如果在U-boot阶段已修改了网卡驱动,那么同样需要在内核中进行相应的调整,确保驱动与硬件匹配。 四、更新Ramdisk及工具集 1. Ramdisk介绍:Ramdisk是内存中的虚拟磁盘,常用于启动时加载基本系统服务。 2. 制作Ramdisk方法:文档提供了两种制作Ramdisk的方法,可能是通过mkfs创建文件系统,然后将其转换为initrd镜像,或者直接使用工具如busybox生成初始系统。 3. busybox:更新Ramdisk时,可能需要使用新版本的busybox,这是一套轻量级的开源工具集合,包含了许多基础的Unix命令,常用于嵌入式系统。 五、其他资源 文档还列举了一些有用的网站,这些网站可能提供更多的Linux内核移植指导、硬件驱动代码或社区支持。 整个过程涵盖了从引导加载器到操作系统内核的完整移植流程,对于开发者来说,这是一份非常实用的指南,能够帮助他们有效地在AT91RM9200平台上构建定制化的Linux系统。