gpt4 book ai didi

linux - 有没有办法等到挂载根文件系统?

转载 作者:太空狗 更新时间:2023-10-29 11:23:07 25 4
gpt4 key购买 nike

我在内核中有一个静态链接代码(不是模块),它应该在安装根文件系统后 启动内核线程。问题是我不知道如何在不修改 prepare_namespace() 内核函数的情况下执行此操作。我认为可以通过 initcalls 来做,但是它们在内核处理 rootfs 之前执行。有谁知道最好的方法吗?

更新 [1]: @BenVoigit 在评论中建议了以下解决方案:您似乎应该打开/proc/mounts 并对其进行 poll_wait。查看“mounts_poll”的来源

更新 [2]: 我查看了 RSBAC 补丁,RSBAC 修改了 prepare_namespace() 函数以在安装文件系统后 执行一些操作。这似乎是最简单的方法。

最佳答案

嗯,当前的 Linux 镜像太大,无法容纳 PC 引导扇区。像 grub 这样的现代引导加载程序会在真正的文件系统之前在 RAM 中装载一个小文件系统。

要了解幕后发生的事情,您可以打开位于/boot 下的磁盘镜像。例如,在 Ubuntu 中:

mkdir test
cd test
zcat /boot/initrd.img-2.6.35-24-generic > image.cpio
cpio -i < image.cpio
vim init

最后,它只是一堆 shell 脚本——简单得近乎诗意。

关于linux - 有没有办法等到挂载根文件系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com