如何从 C 挂载 /dev?

如何从 C 挂载 /dev?

如何/dev从C挂载?我正在编写一个简单的 init,我知道这听起来很愚蠢,但我想安装/dev到另一个文件夹。的联机帮助页mount()不显示dev为受支持的选项。

答案1

联机帮助页mount(2)仅给出/proc/filesystems详尽列表的示例和提及。后一个文件列出了devtmpfs您正在寻找的内容。

最终的 C 程序将类似于:

if (mount("-", "/.../dev", "devtmpfs", 0, NULL) != 0) perror("mount");

答案2

您还可以/dev使用 mount 命令将其挂载到其他位置。

如果你想mount直接使用系统调用,手册页上说

内核支持的 filesystemtype 参数的值在 中列出/proc/filesystems

如果您不确定要使用哪种文件系统类型,请/dev查看您的/etc/fstab/proc/mounts,或者执行straceon the mount 命令以了解它如何使用系统调用。

相关内容