移植Linux内核到S3C2410开发板的问题
问题:
内核配置时使用smdk2410的默认配置. U盘不能挂载!
插拔U盘提示信息为:
$ usb 1-1: USB disconnect, address 2
usb 1-1: new full speed USB device using s3c2410-ohci and address 3
usb 1-1: configuration #1 chosen from 1 choice
办法:
重新配置内核, 启用SCSI device support,SCSI相关模块最好编译进内核,不要以module形式编译。
再次插上U盘提示信息为:
插上U盘后,显示:
usb 1-1: new full speed USB device using s3c2410-ohci and address 3
usb 1-1: configuration #1 chosen from 1 choice
scsi1 : SCSI emulation for USB Mass Storage devices
scsi 1:0:0:0: Direct-Access USB Flash Disk 1.06 PQ: 0 ANSI: 0 CCS
sd 1:0:0:0: [sda] 129312 512-byte hardware sectors (66 MB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Assuming drive cache: write through
sd 1:0:0:0: [sda] 129312 512-byte hardware sectors (66 MB)
sd 1:0:0:0: [sda] Write Protect is off
sd 1:0:0:0: [sda] Assuming drive cache: write through
sda: sda1
sda: p1 exceeds device capacity
sd 1:0:0:0: [sda] Attached SCSI removable disk
U盘的设备名称为sda1,执行命令挂载:
#mount -t vfat sda1 /mnt
提示错误信息:
Unable to load NLS charset cp437
FAT: codepage cp437 not found
mount: mounting sda1 on /mnt failed: Invalid argument
原因是内核缺少cp437字符集。
重新配置内核,在filesystems-->native language support-> 中选择Codepage 437和其他的一些常用的字符集。
再次执行命令挂载:
#mount -t vfat sda1 /mnt
挂载成功,无任何错误信息输出!