android linux:ioctl LOOP_SET_FD 失败
Posted
技术标签:
【中文标题】android linux:ioctl LOOP_SET_FD 失败【英文标题】:android linux:ioctl LOOP_SET_FD failed 【发布时间】:2014-02-23 14:28:36 【问题描述】:我已经获得了手机的root权限。在adb shell中,我输入如下命令:
#create a file about 10M
dd if=/dev/zero of=/mnt/sdcard/AAA.pdf bs=1024 count=10000
#format this file
mkfs.ext2 -F /mnt/sdcard/AAA.pdf
#create a folder which is used to be mounted
mkdir /mnt/sdcard/aaa
#mount
mount -t ext2 -o loop /mnt/sdcard/AAA.pdf /mnt/sdcard/aaa
chmod 777 /mnt/sdcard/aaa
#umount
umount /mnt/sdcard/aaa
它运行正常。 但是如果我想再次安装,它失败了。在我输入mount -t ext2 -o loop /mnt/sdcard/AAA.pdf /mnt/sdcard/aaa
后,它会显示ioctl LOOP_SET_FD failed: Device or resource busy
。我不知道这怎么会发生。有人可以帮忙吗?
【问题讨论】:
【参考方案1】:如果它已经挂载,你不能再次挂载它,除非你给它'remount'选项。该选项可能在 android 的 mount 命令中可用,也可能不可用,因为它不是标准装载。
【讨论】:
【参考方案2】:1- Android 工具箱对循环设备的支持不好。尝试使用busybox的。 2- 使用 losttup 检查您是否有剩余的空闲循环设备。
【讨论】:
【参考方案3】:对于卸载:
umount /mnt/sdcard/aaa
losetup -d /dev/loop0
尽管在我的设备上安装的循环 fs 不能被非 root 用户访问(目录权限 777)。有seclabel标志,我认为这是一个原因。
【讨论】:
以上是关于android linux:ioctl LOOP_SET_FD 失败的主要内容,如果未能解决你的问题,请参考以下文章