我们知道 chroot 需要在 chroot 目录中安装一些文件系统,如下所示:
chroot_dir=/some/where
cd $chroot_dir/
mount -t proc proc proc/
mount --rbind /sys sys/
mount --rbind /dev dev/
我想要的是用它们的绝对路径挂载这些目录
对于 sys 和 dev 这对我来说非常清楚!它可以是这样的:
chroot_dir=/some/where
mount --rbind /sys $chroot_dir/sys/
mount --rbind /dev $chroot_dir/dev/
但我不知道如何处理proc
我不知道它是否应该像那样:
mount -t $chroot_dir/proc $chroot_dir/proc $chroot_dir/proc/
或任何!
有人知道如何处理这个问题吗?
答案1
答案2
从man mount
:
-t, --types vfstype -t 后面的参数用于指示 文件系统类型。当前的文件系统类型 目前支持的包括:adfs、affs、autofs、cifs、 [。 。 。 ]
并且proc
,除其他外。因此,该-t
参数采用多种文件系统类型之一,而不是/a/directory/name
.照常挂载将采用您要挂载的系统的名称,后跟系统挂载的目录。所以你的命令看起来像这样:
挂载 --rbind /sys $chroot_dir/sys/ 挂载 --rbind /dev $chroot_dir/dev/ 挂载 -t proc /proc $chroot_dir/proc/
我第二托马斯的提及,您可以在以下位置阅读有关此主题的更多信息:Arch 维基文章他指出(尽管有些物流可能会因系统而异,具体取决于您想要做什么)。