主题 : 问一个mount -o loop问题及 SD卡模拟u盘读写出错问题 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 13462
精华: 0
发帖: 33
金钱: 165 两
威望: 33 点
综合积分: 66 分
注册时间: 2010-01-25
最后登录: 2018-02-08
楼主  发表于: 2010-03-22 15:15

 问一个mount -o loop问题及 SD卡模拟u盘读写出错问题

我内核是2.6.24的
dd if=/dev/zero of=img bs=1k count=12k
然后把这个img挂当作一个分区然后把开发板模拟U盘用
拷贝文件进去了然后要在板上挂在这个分区

mount -o loop -t vfat img /mnt/usb
报错:
mount:counld not find a spare loop device
mount -o loop img /mnt/usb 也是一样的错

我的busybox中的
->Linux system Utilities
<*> Support loopback mounts
内核中的
->Block devices
<*> loopback device support
两个选项都打开了
loop0设备节点也创建了

为什么还有那个错误,有熟悉的指点下哪里可能没配置好还是出什么问题了




我也是把开发板的SD卡当u盘挂载到PC的,现在可以在PC上是出现盘符,从SD卡中复制,剪切其根目录下的文件挺快,但是问题:
1. 如果要打开sd上的文件夹就很慢很慢,等很久,
2. 删除一个文件(不管根目录下的还是文件夹或文件夹下的)都非常慢
3.删除很忙但是能删除,不过删除完了会提示:无法删除"删除的那个文件名":找不到指定文件,请确认指定的路径及文件名是否正确
4.靠背了5K, 3M的文件到SD卡根目录,发现无法拷贝(但是自己用DD做的分区可以拷贝)
5.文件夹符发拷贝到SD卡根目录下(自己做的分区,很小的D盘下的文件夹可以拷贝到SD卡根目录下,速度慢,考完一个文件会提示在\device\harddisk1\DR16上指定的I/O操作无法在超时过期之前完成.

这个什么问题了,与usb线长短有问题没
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
1楼  发表于: 2010-03-22 15:48
dd if=/dev/zero of=img bs=1k count=12k
然后把这个img挂当作一个分区然后把开发板模拟U盘用
拷贝文件进去了然后要在板上挂在这个分区

mount -o loop -t vfat img /mnt/usb

你只是在img文件里写了1K * 12K个0x0, 凭什么要人家可以挂载FAT的文件系统?
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 13462
精华: 0
发帖: 33
金钱: 165 两
威望: 33 点
综合积分: 66 分
注册时间: 2010-01-25
最后登录: 2018-02-08
2楼  发表于: 2010-03-22 18:20
我用img挂到pc上,在pc上可以看到看到u盘符,然后我格式化成fat格式了
之后拷贝文件进去的,  然后到板之上mount -o loop的
我的img到我电脑的linux下是可以mount上去的,拷贝进去的文件也可以看到

能指点下那里错了么,实在不知道那里错了,
[ 此帖被coschang在2010-03-22 19:06重新编辑 ]
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
3楼  发表于: 2010-03-22 21:40
引用第2楼coschang于2010-03-22 18:20发表的  :
我用img挂到pc上,在pc上可以看到看到u盘符,然后我格式化成fat格式了
之后拷贝文件进去的,  然后到板之上mount -o loop的
我的img到我电脑的linux下是可以mount上去的,拷贝进去的文件也可以看到

能指点下那里错了么,实在不知道那里错了,

哦,看来是我没有看清你的步骤。如果在PC上成功格式化了的话,那应该在开发板上也可以成功mount。
至于你所说的“mount:counld not find a spare loop device ”
我想可以做以下检查:
1. 在开发板上执行cat /proc/devices, 你应该可以看到:
Block devices:
...
  7 loop
...

2. ls -l /dev/loop*, 应该有这样的输出
brw-rw---- 1 root disk 7, 0 Mar 20 09:02 /dev/loop0
brw-rw---- 1 root disk 7, 1 Mar 20 09:02 /dev/loop1
brw-rw---- 1 root disk 7, 2 Mar 20 09:02 /dev/loop2
brw-rw---- 1 root disk 7, 3 Mar 20 09:02 /dev/loop3
brw-rw---- 1 root disk 7, 4 Mar 20 09:02 /dev/loop4
brw-rw---- 1 root disk 7, 5 Mar 20 09:02 /dev/loop5
brw-rw---- 1 root disk 7, 6 Mar 20 09:02 /dev/loop6
brw-rw---- 1 root disk 7, 7 Mar 20 09:02 /dev/loop7
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 13462
精华: 0
发帖: 33
金钱: 165 两
威望: 33 点
综合积分: 66 分
注册时间: 2010-01-25
最后登录: 2018-02-08
4楼  发表于: 2010-03-23 11:10
多谢版主回复
我的/dev/loop0是自己创建的,用你上述说的看来
cat /proc/devices的Block下是有loop的
ls /dev/loop0显示的设备号也对的
brw-r--r--r 1 0    0    7 0 Jan 1 00:00 /dev/loop0
时间是我的rtc还没放电池所以不保存时间的

我今天把losetup也添加到放到板子上了(我直接拷贝了busybox的,自己做的链接效果一样)
losetup /dev/loop0  img
提示
loop0:appliet not found
晕了,这个是找不到相关包么?可能那里的问题?