我想 chroot 到另一个 rootfs 并卸载前一个,因此,在安装包含 rootfs 的 SD 卡(在 上/mnt/disk/
)并杀死几乎所有进程后,我尝试运行:
umount /tmp
mount --move /proc /mnt/disk/proc
mount --move /sys /mnt/disk/sys
然后,mount --move /dev /mnt/disk/dev
失败并显示错误消息:
安装:在 /mnt/disk/dev 上安装 /dev/ 失败:没有这样的文件或目录
更多信息:
我也尝试
umount /dev
给予umount: 无法 umount /dev/: 无效参数
# (与 /dev/root 相同的错误)以前的 rootfs 位于 NAND 分区 (JFFS2)
/proc/cmdline
包含:根=/dev/mtdblock3
mount -t jffs2 /dev/mtdblock3 /mnt/disk/dev
有效(安装前根)是否与 SD 卡和根分区之间的文件系统冲突有关?cat /mnt/disk/proc/mounts
rootfs / rootfs rw 0 0
/dev/root / jffs2 rw 0 0
/proc /mnt/disk/proc proc rw 0 0
/sys /mnt/disk/sys sysfs rw 0 0
/dev/mmcblk0p0 /mnt/disk ext2 rw,错误=继续 0 0内核:2.6.29.4
- 忙碌盒:1.16.1
答案1
# cat /mnt/disk/proc/mounts
rootfs / rootfs rw 0 0
/dev/root / jffs2 rw 0 0
/proc /mnt/disk/proc proc rw 0 0
/sys /mnt/disk/sys sysfs rw 0 0
/dev/mmcblk0p0 /mnt/disk ext2 rw,errors=continue 0 0
umount /dev: Invalid argument
mount: mounting /dev/ on /mnt/disk/dev failed: No such file or directory
没有安装文件系统/dev
,因此您无法卸载或移动它。这就是这些错误消息的含义。 (可能 busyboxmount
使用比其重量级对应物更通用的错误消息)。
如果目标/dev/
没有您需要的设备节点,希望您有一个MAKEDEV
可以使用的设备节点。
/dev/
如果您尝试使用从原始文件复制它们cp -a
,则存在 UID 与目标 rootfs 不匹配的风险,因此权限将无法按非 root 用户的需要工作。 (不太安全或“太安全而不起作用”)。