Atmel AT91SAM9G45的JFFS2根文件系统移植与 Busybox配置详解

需积分: 9 10 下载量 187 浏览量 更新于2024-09-19 收藏 52KB DOC 举报
本文主要介绍了如何在Atmel的AT91SAM9G45平台移植JFFS2作为根文件系统,并结合Busybox进行相关的文件系统制作。首先,移植根文件系统对于确保嵌入式Linux系统的正常运行至关重要,因为它是启动时操作系统加载和初始化的基础。 在移植过程中,作者建议参考《Linux系统移植》和《构建嵌入式Linux系统》等文档,以便获取必要的理论知识和实践指导。FHS(Filesystem Hierarchy Standard)标准文档被用来了解Linux根文件系统的基本结构,可以从指定网站下载并理解其指导原则。 Busybox是一个小型的实用工具集合,它包含了基本的系统管理和实用程序。在这个案例中,需要下载Busybox 1.7.0版本的源码,并通过`tar`命令解压。然后使用`make menuconfig`进行配置,以满足特定需求。配置步骤包括: 1. **Tab completion**:为了提供更好的交互体验,需要启用`Tab`键自动补全功能。 2. **Static vs Dynamic Linking**:选择动态链接Busybox,这样在构建根文件系统时可以依赖外部的glibc库文件。glibc库通常存储在交叉编译环境的`arm-linux/lib`目录下。 3. **Archive Utilities**:启用tar选项,特别是带有`-j`选项,这与JFFS2文件系统的特性相关,可能用于创建或操作JFFS2格式的文件。 移植根文件系统时,重点是将Busybox配置为支持动态链接,并且正确地集成glibc库,以确保 Busybox工具集能在JFFS2环境下运行。接下来的步骤可能涉及将配置后的Busybox源码编译、打包,然后将其与JFFS2文件系统一起烧录到NAND FLASH中。 在实际操作中,遇到警告如"Warning: unable to open an initial console"和"Kernel panic - not syncing: No init found"是由于缺少初始化进程。为解决这个问题,需要确保已正确配置了`init`进程,并在内核启动参数中添加`init=`选项。 移植JFFS2根文件系统到AT91SAM9G45平台是一个细致的过程,涉及到Busybox的配置、glibc库的集成以及对嵌入式Linux系统文件系统标准的理解。完成这些步骤后,才能确保系统能够顺利启动和运行。