From: Harada kazutaka <kazutaka@xxxxxxxxxxxxxxxx>
Date: Tue, 24 Aug 2004 21:08:40 +0900
kazutaka> どうやらSCSI接続のdiskが既にある環境では、
kazutaka> usb_mountスクリプトがデバイス名を正しく認識できてないようです。
[vine-users:067202] でも書きましたが、認識できていま
せん。usb_mount を見たら
for procEntry in `find /proc/scsi/ -path '/proc/scsi/usb-storage*' -type f | sort`; do
となっているのは、ちと上手くないかと思います。安直にテ
ストしただけなので良い例でありませんが、パッチをつけて
おきますので、参考にどうぞ。このパッチで取り敢えずうち
では困っていません(/proc/scsi/scsi の Type には Optical
Device のように空白を含むものがあるので、$2 だけで判断
するとまずいかも知れません)。
ただし、もし /proc/scsi/usb-storage*/* 以外に
Attached: Yes を含むものがあったら NG かも…
======================================================
羽根 秀也 wing@xxxxxxxx http://www.lain.org/~wing/
Studio 八割堂 http://www.lain.org/
======================================================
--- usb_mount.orig 2004-08-24 22:42:38.000000000 +0900
+++ usb_mount 2004-08-24 23:41:17.000000000 +0900
@@ -18,22 +18,23 @@
local cdRom=0
local nonCd=0
#determine dev name.
- for procEntry in `find /proc/scsi/ -path '/proc/scsi/usb-storage*' -type f | sort`; do
+ for procEntry in `find /proc/scsi/ -path '/proc/scsi/*/*' -type f | sort `; do
hostNum=`echo $procEntry | awk -F"[-/]" '{ print $NF }'`
- devType=`grep -A 2 scsi$hostNum /proc/scsi/scsi | awk '/Type/{ print $2 }'`
-
- if [ "$devType" == "CD-ROM" ]; then
- scsiDev="/dev/scd"$cdRom
- cdRom=`expr $cdRom + 1`
- else
- scsiDev=`echo $nonCd | awk '{ print "/dev/sd" substr("abcdefghijklmnopqrstuvwxyz", $1+1, 1) }'`
- nonCd=`expr $nonCd + 1`
- fi
- #dev name & product name is concatenated in 1 word.(for convinience)
- if grep -q 'Attached: Yes' $procEntry; then
- productName=`grep Product $procEntry | cut -b16- | tr " " "_"`
- echo $scsiDev":"$productName
- fi
+ for devType in `grep -A 2 scsi$hostNum /proc/scsi/scsi | awk '/Type/{ print $2 }'`; do
+
+ if [ "$devType" == "CD-ROM" ]; then
+ scsiDev="/dev/scd"$cdRom
+ cdRom=`expr $cdRom + 1`
+ elif [ "$devType" != "Processor" ]; then
+ scsiDev=`echo $nonCd | awk '{ print "/dev/sd" substr("abcdefghijklmnopqrstuvwxyz", $1+1, 1) }' `
+ nonCd=`expr $nonCd + 1`
+ fi
+ #dev name & product name is concatenated in 1 word.(for convinience)
+ if grep -q 'Attached: Yes' $procEntry; then
+ productName=`grep Product $procEntry | cut -b16- | tr " /!~#$%|*?" "_"`
+ echo $scsiDev":"$productName
+ fi
+ done
done
}
@@ -79,7 +80,7 @@
case "$USE_SUPERMOUNT" in
yes|Yes|YES)
echo -e \
- "none\t""$mountPoint""\tsupermount\t""dev=$1"",fs=ext2:vfat:iso9660:udf\t0 0\t""usb-mount" \
+ "none\t""$mountPoint""\tsupermount\t""dev=$1"",fs=ext3:ext2:vfat:iso9660:udf\t0 0\t""usb-mount" \
>> /etc/fstab;
;;
no|No|NO)