同版本Linux内核可以构建不同发行版提供的根文件系统


一、根文件系统的原理

1、发行版=内核+rootfs。这种说法正确吗?

文件系统和内核是完全独立的两个部分。一个内核不是一套完整的操作系统。bootloader加载了内核,内核启动,加载文件系统,进入Linux系统。
根文件系统的特殊之处在于,它是内核启动时所挂载(mount)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,inittab)和服务加载到内存中去运行。
内核相同,但是初始化脚本和服务不一样,就会导致不同的操作系统版本。
Linux发行版 = Linux内核 + 根文件系统吗? 1

不完全是。
发行版这个词本身并没有非常严谨的定义。 发行版包含几个方面官方软件仓库。比如:
●仓库里有哪些软件,没有哪些软件,打包方式(deb, rpm),命名规则等等。
●软件更新的策略。比如定期大版本更新,期间小版本更新。又或者滚动更新,即Arch系的策略。
●默认的系统配置方式。比如/etc里的一些配置文件的内容,结构。选用何种系统组建等。

2、根文件系统在系统启动中什么时候挂载?

先将/dev/ram0挂载,而后执行/linuxrc.等其执行完后。切换根目录,再挂载具体的根文件系统.根文件系统执行完之后,也就是到了Start_kernel()函数的最后,执行init的进程,也就第一个用户进程。对系统进行各种初始化的操作。

3、最小根文件系统

1、/linuxrc:由busybox构建,为当前系统提供了一整套的shell命令程序集。譬如vi、cd、mkdir、ls等。/bin /sbin等目录下的shell命令。

2、/dev目录下的设备文件。

3、/etc:应用层配置文件,被/linuxrc所调用执行。inittab在/etc目录下,属于一个运行时配置文件,是文本格式,被/linuxrc(也就是busybox)执行时所调用起作用。1

5、/lib目录下的库文件

6、/sys和/proc目录。linux中的虚拟文件系统。

7、/usr是系统的用户所有的一些文件的存放地,这个东西将来busybox安装时会自动生成。

二、尝试使用不同发行版提供的根文件系统启动

1、基于arch linux arm的根文件系统

方法:

镜像:

2、基于Ubuntu的根文件系统

3、构建Debian文件系统

基于全志F1C200s芯片的超迷你&低成本的Linux开发板.


  1. 嵌入式之根文件系统构建 ↩︎ ↩︎

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值