我如何`umount` /proc?

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)

有人能指出我正确的方向吗?我感觉我错过了一些微不足道的东西,这通常是这种情况。

Jos*_* R. 7

好吧,您可能不需要卸载/proc. procfs甚至不是真正的文件系统,而是内存内容和当前正在运行的进程的表示。您想要的可能是将挂载绑定到 chroot 内的某个位置:

# mkdir -m 0555 /tmp/newroot/proc
# mount --bind /proc /tmp/newroot/proc
Run Code Online (Sandbox Code Playgroud)