所需软件以及工具:wmware workstation 虚拟机 小红帽 linux gimp-2.6.4-i686-setup.exe(用亍后期的logo画面转换) FlashFXP.exe(也可直接用虚拟机直接挂在访问) vivioflinux2.6.30.5.tar.gz(vi移植) root1.9oflinux2.6.30.5.tar.gz (root移植)arm-linux-gcc-3.4.1.tar.bz2和armv4l-tools- 2.95.2.tar.bz2(交叉编译器) ### S3C2410的 Linux2.6.33 内核移植与搭建交叉编译环境 #### 概述 本篇文章旨在详细介绍如何针对S3C2410平台进行Linux2.6.33内核移植,并在此基础上构建交叉编译环境的过程。整个流程分为几个关键步骤,包括环境搭建、VIVI启动加载程序的移植、NAND Flash分区配置、内核编译等。 #### 所需软件及工具 - **VMware Workstation**:用于创建和运行Linux虚拟机环境。 - **Red Hat Linux**:作为虚拟机操作系统。 - **GIMP-2.6.4-i686-setup.exe**:用于后期Logo画面转换。 - **FlashFXP.exe**:用于文件传输,也可以直接利用虚拟机的挂载功能。 - **viviof_linux2.6.30.5.tar.gz**:用于VIVI启动加载程序移植。 - **root1.9of_linux2.6.30.5.tar.gz**:用于根文件系统的移植。 - **arm-linux-gcc-3.4.1.tar.bz2** 和 **armv4l-tools-2.95.2.tar.bz2**:用于交叉编译器的搭建。 #### 步骤一:搭建交叉编译环境 1. **启动虚拟机**:进入已安装好的Red Hat Linux虚拟机,并确保已经安装好虚拟机的共享工具(wmtool)。如果还未安装,则需要先完成安装。 2. **交叉编译器安装**: - 将`arm-linux-gcc-3.4.1.tar.bz2` 和 `armv4l-tools-2.95.2.tar.bz2` 文件拷贝至虚拟机中。 - 安装两个不同版本的编译器,以便于后续确定哪个版本更适合当前的内核版本。 - 解压文件到指定文件夹中,例如使用命令 `$ tar jxvf arm-linux-gcc-3.4.1.tar.bz2 -C /` 和 `$ tar jxvf armv4l-tools-2.95.2.tar.bz2 -C /`。 - 进一步安装这些编译器,可能需要根据具体的安装指南进行操作,例如配置环境变量等。 #### 步骤二:VIVI启动加载程序的移植 1. **修改VIVI的Makefile文件**: - 修改 `ARCH?=arm` 行。 - 配置交叉编译器路径:`CROSS_COMPILE?=/opt/host/armv4l/bin/armv4l-unknown-linux-`。 2. **自定义MTD分区**: - 修改文件 `arch/s3c2410/smdk.c` 来定义NAND Flash分区,例如设置`vivi`分区的偏移量为0,大小为128KB等。 - 其他分区如`param`、`kernel`、`root`和`jffs2`也应根据实际需求进行相应的配置。 3. **配置启动参数**: - 修改 `charlinux_cmd[]` 字符数组来指定启动时使用的命令行参数。 4. **编译VIVI**: - 使用 `make menuconfig` 选择加载配置文件,通常使用 `arch/def-configs/smdk2410`。 - 运行 `make` 命令生成VIVI的可执行文件。 5. **下载VIVI**: - 通过Xmodem协议将编译好的VIVI镜像文件烧录到目标设备的Flash中。 #### 步骤三:Linux2.6.33内核移植 1. **解压内核源码包**: - 解压 `linux-2.6.33.tar.gz` 文件。 2. **配置内核**: - 使用 `make menuconfig` 或 `make xconfig` 来配置内核选项。 - 特别需要注意的是,要确保内核中关于NAND Flash分区的配置与VIVI中的配置保持一致,避免启动时出现问题。 3. **编译内核**: - 运行 `make` 或者 `make zImage` 命令来编译内核。 4. **烧录内核**: - 使用类似下载VIVI的方式,将编译好的内核文件烧录到NAND Flash对应的分区中。 #### 总结 本文详细介绍了S3C2410平台上Linux2.6.33内核移植和交叉编译环境搭建的具体步骤。通过这一系列的操作,不仅可以获得一个定制化的内核,还能学习到嵌入式系统开发的基本流程和技术细节。对于希望深入了解嵌入式Linux开发的人来说,这是一个非常宝贵的实践过程。
剩余14页未读,继续阅读
- roger202014-01-13还不错,看到的懂!
- fengyehu8882012-07-12不错,就是能详细点更好。
- 粉丝: 1
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助