Top*_*der 2 linux chroot mount
我下面这个关于如何做一个固件更新到我的NAND flash教程。我跟着它只更改了我放置新根目录的目录。我正在将所有/bin
/dev
/sbin
/usr
文件夹复制到tmpfs
我位于RAM
.
以下命令是我开始遇到问题的地方:
umount /sys
umount /proc
Run Code Online (Sandbox Code Playgroud)
如果我killall5
sys
卸载没有问题,但是当我尝试卸载 proc 时,它会给我:
umount: can't umount /proc: Device or resource busy
Run Code Online (Sandbox Code Playgroud)
我曾尝试在类似问题上使用chroot
类似于此链接的方法。但这似乎没有多大帮助。
我尝试使用以下命令 chroot 到我的 newroot ,但它给了我更多的悲伤:
chroot /tmp/newroot /bin/ash
Run Code Online (Sandbox Code Playgroud)
错误:
umount: can't umount /proc: Invalid argument
Run Code Online (Sandbox Code Playgroud)
有人能指出我正确的方向吗?我感觉我错过了一些微不足道的东西,这通常是这种情况。
好吧,您可能不需要卸载/proc
. procfs甚至不是真正的文件系统,而是内存内容和当前正在运行的进程的表示。您想要的可能是将挂载绑定到 chroot 内的某个位置:
# mkdir -m 0555 /tmp/newroot/proc
# mount --bind /proc /tmp/newroot/proc
Run Code Online (Sandbox Code Playgroud)