对linux根文件系统的一点认识记录

一直没理解linux的文件系统概念,以及和内核之间的关系,最近编译busybox玩,又看到大家用busybox制作根文件系统,于是去了解了下其中的奥妙,以此记录。

因为linux遵循“万物皆文件”概念,所以我们对任何设备的访问都是跟“文件”打交道,自然就避不开文件系统这家伙。

1.[1]在这边博客中大概知道了initramfs文件系统的作用:https://blog.csdn.net/bojue01/article/details/53784792

2.https://blog.csdn.net/u012351051/article/details/78745964

3.先是看了好几个关于用busybox构建根文件系统的帖子:

https://blog.csdn.net/feflkdfgj/article/details/78040753(重要!)

https://blog.csdn.net/liudijiang/article/details/50555429(重要!)

总结下共同点:

a.编译busybox,生成bin和sbin目录下的可执行文件;

b.在/dev/目录下准备两个必须设备:

c.在/etc/目录下准备inittab文件

以上几个目录是必须的最简目录,制作完成后,在linux内核配置中启用initramfs,将制作好的根文件系统载入内核中:

参考内容:

https://blog.csdn.net/chenlong12580/article/details/8761108(必看!!!)

————分隔————

https://blog.csdn.net/armmfc/article/details/51314581

注:

关于验证根文件系统是initramfs,掉电后虚拟文件系统目录下文件会丢失的实验:

分别在一台装有Ubuntu和一个装了linux的开发板上:在“/”、“/bin”、“/sbin”、“/dev”目录下创建了一个文本文件,重启后,前者目录下这些文件还存在,后者目录下这些文件都不见了!

疑问:难道pc上的Ubuntu系统像是[1]中说的,直接把“根目录”挂载在硬盘上了,而不是用的ramfs???

猜你喜欢

转载自blog.csdn.net/yanlutian/article/details/80868584