根文件系统制作

preview
需积分: 0 0 下载量 174 浏览量 更新于2017-08-20 收藏 71KB DOC 举报
根文件系统是操作系统的核心组成部分,它包含了系统运行所需的最基本文件和目录。本文档主要介绍了如何使用Busybox-1.17.2来制作根文件系统,适用于基于ARM架构的设备,如TQ2440开发平台,并且使用了Arm-linux-gcc-4.3.3交叉编译工具链。 我们来详细解释制作根文件系统的步骤: 1. **编译Busybox**: Busybox是一个集成了众多Linux命令的小型工具集合,常用于嵌入式系统中。获取源码后,通过编辑Makefile设置CROSS_COMPILE变量为arm-linux-,ARCH变量为arm,然后运行`make menuconfig`进行配置,选择所需的功能并保存。接着执行`make`和`make install`,生成的安装目录将包含bin、sbin、usr等。 2. **创建根文件系统目录**: 在/opt/embed目录下创建名为root_fs的目录,将Busybox生成的bin、sbin、usr目录及linuxrc链接文件复制到root_fs下。随后,还需要创建其他必要的系统目录,如dev、etc、home、lib、mnt等,以及一些二级目录,如usr/lib、usr/share、etc/rc.d等。 3. **创建必要文件**: - 复制交叉编译工具链的库文件到lib目录。 - 从主机的/etc目录拷贝passwd、group、shadow文件到root_fs/etc。 - 拷贝Busybox示例目录中bootfloppy/etc的所有文件到root_fs/etc,这些文件包括fstab、inittab、profile和init.d目录,其中rcS文件对于系统启动非常重要。 4. **修改关键文件**: - **etc/inittab**:这是初始化脚本,定义了系统启动时的行为,比如默认运行级别、终端控制等。 - **etc/init.d/rcS**:这是系统启动时运行的服务脚本,通常会启动一些基本服务和守护进程。 - **etc/fstab**:文件系统挂载表,定义了系统启动时如何挂载各个文件系统。 - **etc/profile**:用户登录时执行的全局环境设置脚本,用于设定环境变量和路径。 - **passwd, shadow, group**:这些文件分别管理用户的密码、加密密码和用户组信息。 5. **制作yaffs2根文件系统镜像**: 完成上述步骤后,需要将根文件系统打包为适合目标硬件的文件系统格式,如yaffs2。这一步骤会生成一个镜像文件,用于烧录到NAND Flash中。 6. **将根文件系统下载到NAND Flash并启动**: 将yaffs2根文件系统镜像写入到开发板的NAND Flash中,然后通过引导程序加载这个镜像,使系统能够正常启动和运行。 以上就是使用Busybox-1.17.2构建根文件系统的完整过程,这个过程对于任何基于嵌入式Linux系统的开发都至关重要,因为它确保了系统启动时的基本功能和环境。在实际应用中,根据具体需求可能还需要添加更多的自定义文件和服务,以满足特定的应用场景。