我正在编写一个initramfs,在busybox中执行,我在其中使用这些命令安装了一个分区:
/bin/busybox mount -n -t proc proc /proc
mount -n -t devtmpfs devtmpfs /dev
mount -n -t sysfs sysfs /sys
mount -n -t tmpfs inittemp /mnt
mkdir /mnt/saved
mount -n -t "${rootfstype}" -o "${rootflags}" ${device} /mnt/saved
但是当系统启动时,我有这个错误:
mount: mounting /dev/mmcblk0p2 on /mnt/saved failed: No such file or directory
我知道当找不到设备时,会出现类似 的消息Device does not exist
,所以我认为问题出/mnt/saved
在尚未正确创建的目录上。
我尝试在之后添加一个ls -l /mnt
以mkdir
检查目录是否正确创建,但大多数情况下,如果我这样做,错误就会消失。所以我虽然问题可能是同步问题(tmpfs,很奇怪!)所以我尝试了一些其他的事情,比如在目录中创建一个虚拟文件来强制一种同步。这可行,但这是一个肮脏的解决方法,我想找到问题的真正原因以构建一个干净的解决方案。