b./etc/rc.d/rc.sysinit中修改了两处:
1、
if [ $usb = 1 -a ! -f /sys/bus/usb/devices ]; then
#changed by wj
# action $"Mounting USB filesystem: " mount -t usbdevfs usbdevfs /sys/bus/usb
if grep -q usbfs /proc/filesystems; then
action $"Mounting USB filesystem: " mount -t usbfs usbfs /sys/bus/usb
else
action $"Mounting USB filesystem: " mount -t usbdevfs usbdevfs /sys/bus/usb
fi
#changed by wj
fi
2、
#changed by wj
#[ -f /sys/bus/usb/devices ] && mount -f -t usbdevfs usbdevfs /sys/bus/usb
if [ -f /sys/bus/usb/devices ]; then
if grep -q usbfs /proc/filesystems; then
mount -f -t usbfs usbfs /sys/bus/usb
else
mount -f -t usbdevfs usbdevfs /sys/bus/usb
fi
fi
#changed by wj
都是加文件系统支持判断的,如果/proc/filesystems支持usbfs就用这个,否则用usbdevfs
保持与kernel-2.6.9兼容
2、/etc/hotplug/hotplug.functions修改了load_drivers函数的一个地方
if echo "$MODULE" | grep -q "usb-storage" > /dev/null 2>&1 ; then
#changed by wj
#[ -x /usr/sbin/updfstab ] && /usr/sbin/updfstab
if [ -x /usr/sbin/updfstab ]; then
INITIAL_SCSI=$(cat /proc/scsi/scsi | wc -l)
COUNT=10 # (big) upper bound of the loop
while [ $COUNT -gt 0 ]; do
sleep 1
[ "$(cat /proc/scsi/scsi | wc -l)" -gt "$INITIAL_SCSI" ] && break
COUNT=$(($COUNT - 1))
done
fi
/usr/sbin/updfstab
#changed by wj
fi
加了延迟判断/proc/scsi/scsi是否更新了。