mini2440嵌入式系统构建:亲手制作yaffs根文件系统

需积分: 10 4 下载量 34 浏览量 更新于2024-09-14 收藏 205KB DOC 举报
本文详细记录了如何构建一个基于YAFFS文件系统的根文件系统,适用于Mini2440开发板。作者杨学鹏参考了相关的移植开发实战指南和嵌入式Linux根文件系统构建资料,提供了从创建工作目录到制作YAFFS映像文件的完整步骤。 【构建环境】: - 虚拟机: VMwarePlayer 4.0.1build-528992 - 主机操作系统: RedHat Enterprise Linux 5-2 - 交叉编译工具链: arm-linux-gcc 4.3.2 - 开发板型号: Mini2440 - CPU: S3C2440AL-40 - 内存: K4S561632N-LC60 * 2 - NorFlash: S29AL016J70TF102 - NandFlash: K9F2G08U0B - 网卡: DM9000EP 【初始工作】: 1. **建立工作目录**: 使用`mkdir my_rootfs`命令创建工作目录。 2. **建立顶层目录**: 进入`my_rootfs`目录并创建`root`等子目录。 3. **建立子目录**: 创建`dev`, `etc`, `boot`, `tmp`, `var`, `sys`, `proc`, `lib`, `mnt`, `home`等必要的系统目录。 4. **创建设备文件**: 通过`mknod`命令创建`dev/console`和`dev/null`,它们是Linux系统的基本设备文件。 5. **创建mnt子目录**: 用于挂载其他文件系统,如`mnt/jffs2`, `mnt/yaffs`, `mnt/temp`等。 【交叉编译busybox】: 1. **下载解压**: 获取busybox源码并解压缩。 2. **修改Makefile**: 根据目标平台和需求调整配置选项。 3. **配置busybox**: 使用`make menuconfig`进行配置,选择需要的工具和服务。 4. **安装busybox**: 执行`make && make install`,将编译后的busybox二进制文件安装到`my_rootfs`中的相应目录。 【建立etc目录下的配置文件】: 1. **mdev.conf**: 设备管理配置,定义设备节点的创建规则。 2. **帐号、密码配置**: 如`passwd`和`group`文件,用于用户身份验证。 3. **inittab**: 控制系统启动时运行的服务和进程。 4. **init.d/rcS**: 主启动脚本,初始化系统服务。 5. **fstab**: 文件系统挂载配置,指定系统启动时如何挂载文件系统。 6. **profile**: 用户登录时执行的初始化脚本,设置环境变量。 【制作YAFFS文件系统映像文件】: 通过以上步骤,构建出根文件系统后,使用相应的工具(如yaffsimg)将`my_rootfs`目录转换为YAFFS文件系统的映像文件,以便烧录到开发板的NandFlash中。 整个过程涵盖了从基础目录结构建立,到关键系统组件的配置,再到最终文件系统映像的生成,为在Mini2440上运行自定义的YAFFS文件系统提供了详尽的指导。这对于嵌入式Linux系统的开发和调试具有重要的实践价值。