UP2440上Linux-2.6.34.1内核移植教程

需积分: 1 0 下载量 120 浏览量 更新于2024-07-23 收藏 129KB PDF 举报
本篇文档主要介绍了如何将Linux-2.6.34.1内核移植到UP2440平台的过程。以下是详细步骤和关键知识点: 1. **下载源代码**: 从Linux官方源代码仓库<http://www.kernel.org>下载内核源码包,例如使用`wget`命令下载`linux-2.6.34.1.tar.bz2`。 2. **解压源码**: 使用`tar`命令解压缩下载的tarball文件:`tar xvjzf linux-2.6.34.1.tar.gz`,进入内核源码目录。 3. **配置Makefile**: 修改顶层Makefile中的编译器选项,将`ARCH`变量设置为`arm`,`CROSS_COMPILE`变量设置为`arm-linux-`,以便针对ARM架构进行编译。 4. **调整时钟频率**: 在`arch/arm/mach-s3c2440/mach-smdk2440.c`文件中,找到初始化时钟的函数`__init_smdk2440_map_io()`,将时钟频率从16.9344MHz修改为12MHz,以适应目标硬件的实际情况。 5. **配置NAND分区信息**: 要管理NAND闪存,内核需要知道其分区信息。在`arch/arm/plat-s3c24xx/common-smdk.c`中的`smdk_default_nand_part[]`数组中,需要调整分区名称和大小,确保与bootloader(如U-Boot)中的配置一致。 6. **移植注意事项**: 这个过程强调了移植过程中对目标硬件特定配置的调整,比如时钟频率和NAND分区,这些设置必须匹配实际硬件的特性,否则可能导致内核无法正常运行。此外,还需要对内核源码有深入理解,才能进行有效的移植。 通过以上步骤,读者可以学习如何针对UP2440平台进行Linux-2.6.34.1内核的定制和移植,这对于开发基于该硬件的嵌入式系统非常关键。移植过程中可能还会涉及到其他驱动程序的调整、设备树配置等,但本篇文档主要聚焦于核心的配置和移植流程。