2.6.19内核移植:嵌入式Linux修改与NAND Flash配置

需积分: 0 6 下载量 149 浏览量 更新于2024-07-12 收藏 871KB PPT 举报
本篇文档主要探讨的是内核-嵌入式Linux移植的具体步骤,针对的是Linux 2.6.19版本。首先,移植过程需要修改内核源码的Makefile文件,指定目标架构(SUBARCH)为arm,并设置交叉编译器(CROSS_COMPILE)。在这个阶段,针对S3C2410架构,需要在common-smdk.c文件中添加或更新Flash分区信息,这是因为在早期的内核版本中(2.6.16之前)Flash分区信息可能不存在,而在后期版本(2.6.17及以上)虽然已有该信息,但仍需相应调整。 其次,为了确保内核与设备的正确交互,需要确保内核Flash分区信息与硬件如vivi的Flash分区信息保持一致。这是因为内核启动时使用的地址与实际存储位置密切相关,不匹配可能导致启动失败或文件系统无法加载。 最后,移植过程中还需要禁用Nand flash的错误检测功能,通过修改nand/s3c2410.c文件中的eccmode设置,将其设置为NAND_ECC_NONE,以避免不必要的检测带来的性能影响。 在整个移植过程中,操作系统移植的核心概念涉及到选择正确的目标平台,即处理器和周边硬件,以及理解地址管理机制,特别是单一程序模型或多程序模型,以及硬件地址转换的内存管理模型。嵌入式Linux移植通常会使用虚拟内存管理机制,利用MMU进行地址映射和寻址,以隔离应用对物理内存的直接访问,提高系统的灵活性和可维护性。 这篇文档详述了将Linux内核移植到嵌入式系统中的技术细节,包括内核配置、分区管理、硬件兼容性和内存管理策略,这对于理解和实现嵌入式Linux项目具有重要意义。