Linux ARM9根文件系统制作实战与基本目录结构

需积分: 0 1 下载量 6 浏览量 更新于2024-10-02 收藏 78KB DOC 举报
本文档主要介绍了在Linux 2.6内核和3.4版本的交叉编译器环境下,针对ARM9平台如何制作初级根文件系统的详细过程。作者提到,由于实践经验不足,他们采取了一种边实践边修改的方法,通过逐个移植和测试功能,以便在实际应用中进行灵活调整。 首先,Linux启动阶段被划分为两个关键阶段:第一阶段是从引导加载器引导内核到成功挂载root文件系统(通常是jffs2文件系统),这可以通过检查打印信息"VFS:Mounted root(jffs2 filesystem)"来确认。第二阶段包括init、getty、login和shell等进程的初始化过程,直到最终打印出shell提示符,如"[root@listentec~]#"。这里的init进程可以选择system V init或busybox init,前者更适用于主机环境,后者则适合嵌入式系统,因为其功能简洁。 在选择shell时,有忙碌box的ash和交叉编译bash可供选择,后者功能更为强大。然而,由于Tekkaman Ninja的笔记提供了详细步骤,作者决定参考这些资料,并结合自己的理解进行整理。 文章的核心部分是创建根文件系统的目录结构,这部分遵循Filesystem Hierarchy Standard (FHS)。作者起初尝试直接以root用户创建目录,但在实践中认识到应该参考FHS标准,以确保系统的结构清晰且符合预期。创建的根文件系统基本目录结构包括bin(可执行文件)、dev(设备文件)、etc(配置文件)、home(用户主目录)、lib(库文件)、mnt(挂载点)、proc(虚拟文件系统)、root(系统根目录)、rootfs(包含系统核心文件)、sbin(系统管理程序)、sys(系统特定文件)以及tmp(临时文件)。 本文档围绕Linux内核和ARM9平台的初级根文件系统制作展开,重点在于理解并实施正确的文件系统结构和初始化流程,同时强调了参考和借鉴他人的经验和资源的重要性。这对于初学者或嵌入式系统开发者来说,是一份宝贵的实践指导文档。