【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - 准备虚拟内核文件系统
2021/10/3 7:10:14
本文主要是介绍【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - 准备虚拟内核文件系统,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在本章里,我们会进入构建环境然后开始认真地构建 LFS 系统了。
就是说,我们会 chroot 进入之前准备好的临时迷你 Linux 系统,做一些最后的准备工作,然后就开始安装软件包。
内核会挂载几个文件系统用于自己和用户空间程序交换信息。这些文件系统是虚拟的,并不占用实际磁盘空间,它们的内容会放在内存里。
开始先创建将用来挂载文件系统的目录:
mkdir -pv $LFS/{dev,proc,sys,run}
创建初始设备节点
在内核引导系统的时候,它依赖于几个设备节点,特别是 console 和 null 两个设备。这些设备节点需要创建在硬盘上,这样在 udevd 启动之前它们也仍然有效,特别是在 Linux 使用init=/bin/bash 参数启动的时候。
运行下面的命令创建这几个设备节点:
mknod -m 600 $LFS/dev/console c 5 1 mknod -m 666 $LFS/dev/null c 1 3
挂载和激活 /dev
通常激活 /dev 目录下设备的方式是在 /dev目录挂载一个虚拟文件系统(比如 tmpfs),然后允许在检测到设备或打开设备时在这个虚拟文件系统里动态创建设备节点。
这个通常是在启动过程中由 Udev 完成。由于我们的新系统还没有 Udev 而且也没有被引导启动,有必要手动挂载和激活 /dev 目录。
这可以通过绑定挂载宿主机系统的 /dev 目录实现。绑定挂载是一种特殊的挂载模式,它允许在另外的位置创建某个目录或挂载点的镜像。
运行下面的命令来实现:
mount -v --bind /dev $LFS/dev
挂载虚拟文件系统
现在挂载剩下的虚拟内核文件系统:
mount -vt devpts devpts $LFS/dev/pts -o gid=5,mode=620 mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys mount -vt tmpfs tmpfs $LFS/run
在某些宿主机系统里,/dev/shm 是一个指向 /run/shm 的软链接。这个 /run 下的 tmpfs 文件系统已经在之前挂载了,所以在这里只需要创建一个目录。
if [ -h $LFS/dev/shm ]; then mkdir -pv $LFS/$(readlink $LFS/dev/shm) fi
本次分享到此结束啦~
如果觉得文章对你有帮助,点赞、收藏、关注、评论,一键四连支持,你的支持就是我创作最大的动力。
❤️ 技术交流可以 关注公众号:Lucifer三思而后行 ❤️
这篇关于【LFS 系列】从零开始 DIY Linux 系统:(六)构建 LFS 系统 - 准备虚拟内核文件系统的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法