Pat*_*ick 108 linux debian chroot
我正在尝试使用自定义选择的包创建 Linux 映像。
我想要做的是手工制作我将在 XO 笔记本电脑上使用的包,因为在真正的 XO 硬件上编译包需要很长时间,如果我可以构建我需要的所有包并且只刷图像到XO,我可以节省时间和空间。
当我尝试安装某些软件包时,由于缺少 proc、sys、dev 目录而无法配置。所以,我从其他地方了解到我需要将主机 proc、... 目录“挂载”到我的 chroot 环境中。
我看到了两种语法,但不确定使用哪一种。
在主机中:
mount --bind /proc <chroot dir>/proc
Run Code Online (Sandbox Code Playgroud)
和另一种语法(在 chroot 环境中):
mount -t proc none /proc
Run Code Online (Sandbox Code Playgroud)
我应该使用哪一种,有什么区别?
gac*_*rux 140
在Arch Linux的维基提出以下命令:
cd /mnt/arch # or where you are preparing the chroot dir
mount -t proc /proc proc/
mount --rbind /sys sys/
mount --rbind /dev dev/
Run Code Online (Sandbox Code Playgroud)
Zif*_*fre 53
对于/procand /sys,我想你可以使用任何一种方法。它们都是特殊的文件系统,因此可以多次重新创建(绑定挂载方法使用与主机系统完全相同的挂载,而另一种方法使用新的挂载)。我一直在指南中看到推荐的绑定安装,所以我会使用它。据我所知,没有真正重要的区别。
但是,/dev通常是由 udev 管理的 tmpfs 挂载,因此它必须是与主机上实际相同的文件系统。这意味着您需要使用绑定安装方法。
如果这个 chroot 将存在一段时间,您可以将这些条目/etc/fstab放在主机系统中以简化事情。
小智 16
的Gentoo手册特别提出这两个命令用于重新安装的/ proc和/ dev。我已经用过它们好几次了。
mount -t proc none /mnt/chroot/proc
mount -o bind /dev /mnt/chroot/dev
Run Code Online (Sandbox Code Playgroud)
我怀疑 /sys 只是一个普通文件夹,所以你应该能够建立一个硬链接。
ln /sys /mnt/chroot/sys
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
274425 次 |
| 最近记录: |