问一个关于/dev/ram /dev/shm的问题

发布于 2022-07-23 22:44:40 字数 100 浏览 11 评论 4

我理解内存是(可能)可以当一个设备使用,特别是把内存挂到/的优势。 但是内核开始运行的时候没有根目录,那怎么能使用/dev/ram 呢
而且我查了一下,shm是个目录,还跟共巷内存有关呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

辞取 2022-07-24 13:46:17

是内核开始运行的时候没有根目录,那怎么能使用/dev/ram

内核初始化时会创建虚拟的根的super_block, 和对应的 虚拟的根 inode, 然后挂载initrd, initrd文件系统里面 会有/dev/ram的

海拔太高太耀眼 2022-07-24 13:14:50

谢,可是我还是理解我了,我连initrd是什么都不知道。

initrd是一个压缩的文件系统 ,先使用:cp initrd initrd.gz, 然后gunzip initrd.gz
现在可以使用 loop设备挂载 解压后的 initrd了 , mount -o loop initrd /initrd
然后你可以在 /initrd中看到里面的东东 了

明天过后 2022-07-24 07:32:12

谢谢,可是我还是理解我了,我连initrd是什么都不知道。
是压缩后的东西,但是不知道这个步骤是怎么样,

彩扇题诗 2022-07-24 04:05:47

内核启动的时候,/位于加载initrd的空间
可能是/boot所在分区,可能是/dev/ram
但内核认为这就是/,并不知道这个/是将来的/boot还是什么的
然后mkdev
然后mount
然后调用pivot root到系统启动后的/
原先的/就变成/dev/initrd
最后umount initrd

如果/挂在/dev/ram,那么就不执行umount initrd

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文