飞凌OK2440内核移植教程:Linux 2.6.33与YAFFS2驱动详解

需积分: 9 4 下载量 151 浏览量 更新于2024-09-14 收藏 19KB DOCX 举报
本文档主要介绍了如何在Linux+ARM嵌入式环境下,使用飞凌OK2440开发板进行内核移植的过程。作者以Ubuntu 9.04作为宿主机,采用arm-linux-gcc-3.4.1作为交叉编译器,目标是将Linux内核版本从2.6.28.7升级至2.6.33,并集成YAFFS2文件系统。 1. **下载与解压内核源码** 首先,访问ftp://ftp.kernel.org/pub/linux/kernel/v2.6/获取所需的内核源码包,将其解压到创建的目录`/file/fl`下,如`tarzxvf linux-2.6.33.tar.gz`。 2. **移植YAFFS2驱动** YAFFS2驱动是文件系统的一部分,需要从aleph1.co.uk下载并解压到`/file/fl`目录下,例如`tarzxvf yaffs2.tar.gz`。然后进入yaffs2目录,通过`./patch-ker.sh`打补丁,以确保其与内核兼容。 3. **修改机器码** 飞凌OK2440开发板的机器码与默认配置不符,需要在`arch/arm/tools/mach-types`文件中将原有的机器码193改为362,以匹配该硬件。同时,由于是用交叉编译器,需要更新`Makefile`中的机器码定义。 4. **设置编译环境** 修改`linux-2.6.33/Makefile`以指定目标架构(ARCH)为arm,并设置交叉编译器路径。将原本的默认值替换为`ARCH?=arm`和`CROSS_COMPILE?=/usr/local/arm/3.4.1/bin/arm-linux-`。 5. **集成devfs** 文档未明确提及devfs的集成步骤,但通常在移植过程中,可能需要添加或调整设备驱动以支持devfs(设备文件系统),确保设备能在目标板上正确识别和操作。 6. **讨论与反馈** 作者鼓励读者在讨论区分享移植过程中的问题和经验,以便大家共同学习和解决遇到的难题。对于只提出问题而没有提供具体细节的帖子,可能难以定位问题所在。 总结来说,这篇文档提供了一个基础的步骤指南,涵盖了从下载内核源码、集成YAFFS2驱动、配置机器码、设置编译环境到可能的设备驱动集成等关键步骤。实际移植过程中,可能还需要根据开发板的具体情况和内核特性进行相应的调整。