十九.Linux开发之根文件系统移植——根文件系统的原理

有道云笔记地址:

详情看这里链接,记录太多,就不一一排版了。

http://note.youdao.com/noteshare?id=f9c7c1b589233d7b6ed661c3749f1ce8&sub=25EABCF0C60B4BCE89E8C1DFBE6B3072

 

一、Linux 文件系统简介

1.文件系统与根文件系统

根,可以理解为基础的意思。根文件系统是一种最基础的文件系统

我们知道在 Windows 系统下,磁盘被划分为 C、 D、 E 等各个盘,

同理, Linux 系统也可以将磁盘或 Flash 等存储设备划分为若干个分区,在不同的分区存放不同类型的 文件,比如我们 A8 开发板的 Nor Flash 中:在某个分区存放 uboot 的可执行文件;在某个分区存放内核映像文件,在另一分区存放根文件系统映像文件等。与 Windows 的 C 盘类似, Linux 也需要在一个分区上存放系统启动的必要文件,

比如内核启动运行后的第一个程序( init进程)、用于挂接文件系统的脚本、给用户提供操作界面的 shell 程序,应用程序所要依赖的库等,这些必要、基本文件的集合称为根文件系统,它们存放在一个分区中。

 Linux 系统启动后首先会挂载这个分区,这称为挂载( mount)根文件系统。

其他分区上的所有目录、文件的集合, 称为文件系统。因为其他的文件系统还没用到,所以在我们的 A8 开发板中只有根文件系统。

为什么需要根文件系统?

(1)init进程的应用程序在根文件系统上

(2)根文件系统提供了根目录/

(3)内核启动后的应用层配置(etc目录)在根文件系统上。

    几乎可以认为:发行版=内核+rootfs

(4)shell命令程序在根文件系统上。譬如ls、cd等命令

总结:一套linux体系,只有内核本身是不能工作的,必须要rootfs(上的etc目录下的配置文件、/bin  /sbin等目录下的shell命令,还有/lib目录下的库文件等···)相配合才能工作。

在嵌入式Linux应用中,主要的存储设备为 RAM(DRAM, SDRAM)ROM(常采用FLASH存储器)

常用的基于存储设备的文件系统类型包括:jffs2, yaffs, cramfs, romfs, ramdisk, ramfs/tmpfs等。

Linux的文件系统结构如下:

二、Linux根文件系统目录结构

从前面的讲解,我们知道文件系统是一个文件与目录的集合,那么根文件系统下的目录又有哪些呢?目录里的文件又有什么作用呢?这节提及的目录都是我们待会移植根文件系统时要用到的目录,为你在移植前先热热身。

 (1) /bin 目录 该目录下存放所有用户(包括系统管理员和一般用户)都可以使用的、基本 的命令,里面常用的命令有: ls、 cd、 mkdir、 rm、 kill、 ps、 cp、 mv、 cat、 chmod 等。

(2) /sbin 目录 该目录下存放系统命令,即只有管理员能够使用的命令,系统命令还可以存 放/usr/sbin、/usr/local/sbin 目录下。/sbin 目录中存放的是基本的系统命令, 它们用于启动系统、修复系统等。它里面常用的命令有: shutdown、reboot、fdisk、 fsck 等。不是急迫需要使用的系统命令存放在/usr/sbin 目录下。

 (3) /dev 目录 该目录下存放的是设备文件。设备文件是 Linux 中特有的文件类型,在 Linux 系统下,以文件的方式访问各种外设,即通过读写某个设备文件操作某个具体硬件。比如通过“ /dev/ttySAC0”文件可以操作串口 0,通过“ /dev/mtdblock0” 可以访问 MTD 设备( Nand Flash)的第 0 个分区。

 设备文件有两种:字符设备文件和块设备文件。在 PC 上用命令:

ls -l /dev/tty0 /dev/hdc

其中字母“ b”、“ c”表示这是一个块设备文件或字符设备文件;“ 22, 0”、“ 4, 0”表示设备文件的主、次设备号;主设备号用来表示这是哪类设备,次设备号 用来表示这是这类设备中的哪个。

 (4) /etc 目录 该目录下存放各种配置文件。对于 PC 机上的 Linux 系统, /etc 里的目录和 文件非常多。这些目录、文件都是可选的,它们依赖于系统中所拥有的应用程序, 依赖于这些程序是否需要配置文件。

 (5) /lib 目录 该目录主要存放共享库,共享库用于启动系统、运行根文件系统中的可执行 程序

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值