LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2442|回复: 9

请教mount移动硬盘问题

[复制链接]
发表于 2009-6-13 16:51:27 | 显示全部楼层 |阅读模式
我的板子跑的是linux2.6.21,插上U盘的/proc/partitions信息如下:
# cat partitions
major minor  #blocks  name

  31     0       4740 mtdblock0
   8     0    2027520 sda
   8     1    2027504 sda1

mount /dev/sda1 /var/usb可以正常使用,但当我接入80G USB HDD,里面有三个FAT32分区,/proc/partitions信息如下:
# cat partitions
major minor  #blocks  name

  31     0       4740 mtdblock0
   8     0   78150744 sda
   8     1          1 sda1
   8     5   30716248 sda5
   8     6   20972826 sda6
   8     7   26450991 sda7
mount /dev/sda5(6,7) /var/usb,任何一个都mount出错:
# mount -t vfat /dev/sda0 /var/usb
FAT: invalid media value (0xb9)
VFS: Can't find a valid FAT filesystem on dev sda.
mount: Mounting /dev/sda0 on /var/usb failed: Invalid argument
# mount -t vfat /dev/sda5 /var/usb
mount: Mounting /dev/sda5 on /var/usb failed: No such file or directory

后来,确没发现有sda5,sda6,sda7
#ls /dev
sdb1           sdh1
sdb2           sdh2
sdc0           si3215
sdc1           slac
sdc2           spu
sdd0           tty
sdd1           tty0
sdd2           tty1
sde0           ttyS0
sde1           ttyS1
sde2           ttyp0
sdf0           ttyp1
sdf1           urandom
sdf2           zero
sda0           sdg0
sda1           sdg1
sda2           sdg2
sdb0           sdh0

哪位大虾帮忙分析下问题,谢谢!!
 楼主| 发表于 2009-6-13 16:53:41 | 显示全部楼层
而且U盘和移动硬盘接上打印信息如下:
usb 1-1: new high speed USB device using ehci_hcd and address 6
usb 1-1: configuration #1 chosen from 1 choice
scsi4 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 6
usb-storage: waiting for device to settle before scanning
scsi 4:0:0:0: Direct-Access     kingston Flash Disk       5.00 PQ: 0 ANSI: 2
SCSI device sda: 4055040 512-byte hdwr sectors (2076 MB)
sda: Write Protect is off
sda: Mode Sense: 0b 00 00 08
sda: assuming drive cache: write through
SCSI device sda: 4055040 512-byte hdwr sectors (2076 MB)
sda: Write Protect is off
sda: Mode Sense: 0b 00 00 08
sda: assuming drive cache: write through
sda: sda1
sd 4:0:0:0: Attached scsi removable disk sda
usb-storage: device scan complete
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-13 16:54:52 | 显示全部楼层
这是移动硬盘的:
usb 1-1: new high speed USB device using ehci_hcd and address 5
usb 1-1: configuration #1 chosen from 1 choice
scsi3 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 5
usb-storage: waiting for device to settle before scanning
scsi 3:0:0:0: Direct-Access     Hitachi  HTS541680J9SA00       PQ: 0 ANSI: 2 CCS
SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
sda: Write Protect is off
sda: Mode Sense: 00 38 00 00
sda: assuming drive cache: write through
SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
sda: Write Protect is off
sda: Mode Sense: 00 38 00 00
sda: assuming drive cache: write through
sda: sda1 < sda5 sda6 sda7 >
sd 3:0:0:0: Attached scsi disk sda
usb-storage: device scan complete

这样看来USB驱动应该是没问题的,但不知道问题出在哪儿?
回复 支持 反对

使用道具 举报

发表于 2009-6-14 08:29:01 | 显示全部楼层
可能是 udev 版本比較舊,某些 udev 版本辨認外置設備能力是會差一些

另,為什麼用 /var/usb 來做掛點?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-14 10:45:19 | 显示全部楼层
我用的linux根本没有用udev呢
挂载点在/var/usb是因为所用的嵌入式linux只有/var目录是可读写的,其他的目录是只读的。

还有其他可能的原因吗?
回复 支持 反对

使用道具 举报

发表于 2009-6-14 12:32:19 | 显示全部楼层
如果沒有 udev,那麼可能這就是關鍵了,因為系統不會為新增的任何硬件而在 /dev 裡添加設備

樓主有沒有對比過加入移動硬盤前後,在 /dev 目錄下的變化?

若然加入移動硬盤後真的沒有新增設備,這可能要自己創建(mknod)了,問題是 /dev 是否能寫
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-15 09:29:49 | 显示全部楼层
找到原因了,/dev目录原来是生成bin文件已经生成好了,也就是说不可以动态生成/sda5,/sda6之类的。我修改生成/dev目录的脚本,也就是给设备做一个mknod,重新烧入,是可以mount的了。
另外,我本来想最好能在代码里实现动态的mknod,因为插拔USB多次之后,次设备号有可能会变的,但/dev目录是只写的,修改目录读写属性,这个得跟老大讨论。
谢谢d00m3d兄的关注!!
回复 支持 反对

使用道具 举报

发表于 2009-6-16 20:20:04 | 显示全部楼层
Post by scj;1997991
找到原因了,/dev目录原来是生成bin文件已经生成好了,也就是说不可以动态生成/sda5,/sda6之类的。我修改生成/dev目录的脚本,也就是给设备做一个mknod,重新烧入,是可以mount的了。
另外,我本来想最好能在代码里实现动态的mknod,因为插拔USB多次之后,次设备号有可能会变的,但/dev目录是[color="Red"]只写的,修改目录读写属性,这个得跟老大讨论。
谢谢d00m3d兄的关注!!
你是想说"只读"?

外置设备是否不变的?如果不变,uuid 也许有用武之地
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-6-17 09:46:50 | 显示全部楼层
哈哈,写错了,是只读。现在跟老大确定了/dev目录只能是只读的,不能动态的MKNOD。
能否做到每次插上USB设备,对应的次设备号不变呢?我现在写了一段监控USB是否插上的程序,但怎么保证次设备号不变呢?是不是应该在usb driver里做一些处理??
回复 支持 反对

使用道具 举报

发表于 2009-6-17 23:14:42 | 显示全部楼层
这种情况 uuid 应该有用武之地
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表