我有一个在内核中静态链接的代码(不是模块),它应该在根文件系统挂载后启动内核线程。问题是我不知道如何在不修改prepare_namespace()内核函数的情况下实现这一点。我认为可以通过initcalls来实现,但是它们在内核处理rootfs之前执行。是否有人知道最好的方法?
更新[1]:@BenVoigit在评论中提出了以下解决方案:似乎应该打开/proc/mounts并在其上进行poll_wait。查看“mounts_poll”的源代码 更新[2]:我查看了RSBAC补丁,RSBAC修改prepare_namespace()函数以执行一些在文件系统挂载后的操作。这似乎是最简单的方法。
更新[1]:@BenVoigit在评论中提出了以下解决方案:似乎应该打开/proc/mounts并在其上进行poll_wait。查看“mounts_poll”的源代码 更新[2]:我查看了RSBAC补丁,RSBAC修改prepare_namespace()函数以执行一些在文件系统挂载后的操作。这似乎是最简单的方法。
/proc/mounts
并在其上使用poll_wait
。请查看[`mounts_poll'](http://lxr.linux.no/linux+v2.6.37/+code=mounts_poll)的源代码。 - Ben Voigt