说明

  • 最近学习了使用qemu搭建ARM vexpress环境,对rootfs有了一些大致理解并且对rootfs的构建做了些测试验证,特记录下。

简介

  • 文件系统有两种意思:
  1. 文件管理系统,例如:ext2、ext3、vfat、ntfs等文件管理和组织结构。
  2. 一定规模文件的集合,分别起不同作用的文件按照一定结构组合形成系统。
  • 显而易见根文件系统不是类似于ntfs等文件管理系统,它属于第2种意思,根表示设备启动后该文件系统将被mount到根目录即路径’/'下。
  • 根文件系统不是一种文件管理系统,但是根文件系统中的文件管理需要使用到一种文件管理系统。

重要性

  • 根文件系统是内核启动时所mount的第一个文件系统,并且它是系统加载其它文件系统的“根”,如果没有这个根,其它文件系统也就无法加载。
  • 内核中的内存文件系统将会mount到根文件系统中,并且系统引导启动程序会在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。
  • 尽管内核是linux的核心,但文件是用户与操作系统交互的主要接口,这对linux来说尤其如此,因为在UNIX传统中,它使用文件I/O机制管理硬件设备和数据文件。
  • 重要组成部分:
  1. init进程必须运行在根文件系统上,init是其它所有进程的父进程,保证了应用层功能的扩展性。
  2. 根文件系统提供了根目录“/”,以及各种不同功能的文件,其中比较重要的有:一些系统初始化脚本,shell环境,内核伪文件系统文件等。
  • 如果缺少根文件系统,linux内核无法运行,会直接退出。

根文件系统组成和创建

  • 根文件系统只是一系列文件的集合,用户可以遵循组织结构去手动创建这些文件。
  • 常见组成:
/etc/:存储重要的配置文件。
/bin/:存储常用且开机时必须用到的执行文件。
/sbin/:存储着开机过程中所需的系统执行文件。
/lib/:存储/bin/及/sbin/的执行文件所需的链接库,以及Linux的内核模块。
/dev/:存储设备文件。
注:五大目录必须存储在根文件系统上,缺一不可。
...
  • 根文件中缺失一些文件或者少做一些设置,并不会导致系统运行不了,只会导致一些功能无法使用。
  • 根文件系统中的目录和文件还是挺多的,一些配置和init程序以及命令行程序也是挺复杂的,如果手动创建根文件系统将会非常麻烦,在嵌入式领域,人们常用busybox来自动创建根文件系统,再添加自己所需的文件。
  • 文件和目录结构准备好后,选择哪种文件管理系统(ext3,jffs2,Cramfs等),只要内核支持,都是可以正常运行的,只不过文件管理系统各有特点,需要根据硬件和环境选择合适的。

根文件系统(rootfs)理解相关推荐

  1. 根文件系统rootfs构建

    一.根文件系统简介 根文件系统一般也叫做 rootfs,Linux 中的根文件系统更像是一个文件夹或者叫做目录,在这个目录里面会有很多的子目录.根目录下和子目录中会有很多的文件,这些文件是 Linux ...

  2. 对嵌入式Linux中的根文件系统的理解和解析

    虽然前面已经利用Busybox制作了根文件系统,但是对于根文件系统的作用和普通的文件系统之间的区别还是有点模糊.通过查找资料总结了一 下对根文件系统的理解,也欢迎大家一起讨论.    首先要明白的是& ...

  3. 根文件系统rootfs制作——使用buildroot工具(重制版)

    根文件系统rootfs制作--使用buildroot工具(重制版) 0.前言 一.rootfs配置 1.下载buildroot源码 2.开始配置 Target options配置如下: Toolcha ...

  4. [架构之路-30]:目标系统 - 系统软件 - Linux OS根文件系统rootfs的概念、组成、制作以及用busybox制作根文件系统

    目录 前言: 第1章 什么是根文件系统 1.1 什么是文件 1.2 什么是文件系统 1.3 文件系统组织文件的方式:树形结构 1.4 统一的虚拟文件系统 1.5 物理存储介质与物理文件系统类型 1.5 ...

  5. 嵌入式linux rootfs,【转】制作 嵌入式 linux 根文件系统 rootfs

    一.什么是文件系统 (Filesystem) 文件系统是包括在一个磁盘(包括光盘.软盘.闪盘及其它存储设备)或分区的目录结构:一个可应用的磁盘设备可以包含一个或多个文件系统:如果您想进入一个文件系统, ...

  6. 嵌入式Linux 根文件系统rootfs的构建

    前言 最近翻出来十年前的ARM9开发板:AT91SAM9261EK,芯片是原Ateml的AT91系列,之前开发的资料,因为更换电脑,基本上找不到了,还好部分经验记录在了[博客]上,所以,这次为了继续学 ...

  7. Buildroot构建指南——根文件系统(Rootfs)

    Buildroot的Rootfs构建流程有一个大框架,有些部分是Buildroot系统做好的,有些细节需要自己来实现,Rootfs也是Buildroot中最为复杂的部分. Rootfs的构建流程概述 ...

  8. 内核kernel以及根文件系统rootfs是如何映射到对应的nand flash的

      原文 初始化代码读取uboot到内存里面,然后跳转到uboot那里去执行uboot,uboot初始化必要的硬件,加载一些驱动,其中包括nand flash的驱动,然后根据uboot里面设置的一个启 ...

  9. 从单片机开发转向Linux开发系列博客五:Nand Flash根文件系统制作

    版本 作者 参与者 日期 备注 V1.0 wuya(微信号:wangwenxue1989) 2019/05/17 创建 1.引言 之前系列的文章介绍了如何编译Uboot.Kernel以及使用默认的ra ...

  10. 用BusyBox制作Linux根文件系统

    STEP 1:构建目录结构 创建根文件系统目录,主要包括以下目录 /dev  /etc /lib  /usr  /var /proc /tmp /home /root /mnt /bin  /sbin ...

最新文章

  1. 【MM配置】Master Data 主数据的配置
  2. 18c分布式事务 oracle_分布式事务的现象及理解
  3. linux杀sqlplus进程,sqlplus / as sysdba 在linux系统所发起进程
  4. 温州大学《深度学习》课程课件(八、深度卷积神经网络)
  5. python中赋值运算符有哪些_Python代码中有哪些赋值运算符呢?
  6. 6万人同时离场,竟然一点都不挤?原来用了这个神器
  7. c++之string格式化
  8. 正确使用 realloc()
  9. 文件系统管理 之 Fedora Core 4.0 HAL配置即插即用移动存储(USB及1394)的实践
  10. 物联网毕业设计 - 基于单片机的高精度北斗定位控制终端
  11. python爬虫:Scrapy框架爬取纳斯达克(NASDAQ)股票数据
  12. vbs教程《变量使用》
  13. linux自动微信发信息,Linux下发送微信消息
  14. Django重置管理后台模板
  15. 保存网页html 有什么,保存网页时HTML和MHTML区别在哪里
  16. 麻省理工公开课人工智能笔记五
  17. vue和 element ui下载到本地后引入
  18. ❤️React Hooks⭐
  19. ICASSP 2019----Deep Speaker Representation Using Orthogonal Decomposition and Recombination for Spea
  20. 合理的网页设计具有哪些特征

热门文章

  1. 振弦式传感器数据采集到水库大坝监测云平台进行监控和报警
  2. 赋crontab -e 权限以及使用命令详解
  3. 禁用zookeeper admin页面
  4. Python设置Latex公式中显示数学字体STIX
  5. python矩阵点乘和叉乘_NumPy点积:取向量积的乘积(而不是求和)
  6. html 做填写的表格,CSS写的简单表格示例
  7. trove mysql 镜像_centos7下手动制作trove镜像
  8. 原生Android打造一个炫酷的底部导航栏
  9. 在我们身边的交互式设计失败的例子
  10. 三极管发射极负反馈电阻的原理是什么?为什么就能起到负反馈作用呢