USB-flash
Монтируем usb-flash брелок...
У меня 4Gb ADATA "myflash".
В ядре должно быть следущее (я убрал для меня не нужное):
#############################################################################
# USB support
device uhci # UHCI PCI->USB interface
device ohci # OHCI PCI->USB interface
device ehci # EHCI PCI->USB interface (USB 2.0)
device usb # USB Bus (required)
#device udbp # USB Double Bulk Pipe devices
device ugen # Generic
device uhid # "Human Interface Devices"
device ukbd # Keyboard
device ulpt # Printer
device umass # Disks/Mass storage - Requires scbus and da
device ums # Mouse
#device ural # Ralink Technology RT2500USB wireless NICs
#device urio # Diamond Rio 500 MP3 player
#device uscanner # Scanners
#############################################################################
Для поддержки usb 2.0 в ядро добавляем следущее, если отсутствует:
device ehci # EHCI PCI->USB interface (USB 2.0)
Дальше по плану собираем компилим перегружаем =)
Проверяем наличее устройства:
sh# ls /dev | grep da
da0
da0s1
da0s1 - то что нам нужно!
Создаю каталог куда буду монтировать:
sh# mkdir -pv /mnt/usb
И монтирую коммандой:
sh# /sbin/mount_msdosfs -m 777 -L ru_RU.KOI8-R -D CP866 /dev/da0s1 /mnt/usb
Где:
-l поддержка длинных имён
-L локаль
-W таблица совместимости
-m права на доступ
ну и собственно откуда и куда монтируем )
Обязательно! Не забывайте отмонтировать прежде, чем вытащить брелок,
иначе это может привести к краху систему (PANIC)
Это же не сложно:
sh# umount /mnt/usb
23.04.2008
Идём дальше...
Можно сделать автомонтирование нашего брелка...
Автозапуск демона при старте системы:
sh# echo 'devd_enable="YES"' >> /etc/rc.conf
Каталог монтирования!
sh# mkdir -pv /mnt/usb
Конфигурируем демона:
sh# ee /etc/devd.conf
###################################################################################################################
attach 0 {
device-name "umass0";
action "sleep 2 && test -c /dev/da0s1 && /sbin/mount_msdosfs -m 777 -L ru_RU.KOI8-R -D CP866 /dev/da0s1 /mnt/usb";
};
detach 0 {
device-name "umass0";
action "umount -f /mnt/usb";
};
###################################################################################################################
sh# reboot
PS: Наш брелок автоматом монтируется. Но... есть трабл... detach не
срабатывает корректно и система впадает в панику...
... а значит... отмонтировать на придётся так же... вручную...
Ещё Способ ...
Запускаем демона usbd
sh# usbd -v -d
Он нам выдаст много разного... отыскиваем для нашего устройства данные:
vndr=0x1307, prdct=0x0163, rlse=0x0100 - нам нужно именно это!
или посмотреть что выдаст нам sysctl:
sh# sysctl -a | grep dev.umass
------------------------------------------------------------
dev.umass.0.%desc: USB 2.0 Flash Disk, rev 2.00/1.00, addr 2
dev.umass.0.%driver: umass
dev.umass.0.%location: port=0 interface=0
dev.umass.0.%pnpinfo: vendor=0x1307 product=0x0163 devclass=0x00 devsubclass=0x00 release=0x0100 sernum="04c15a37cd850f" intclass=0x08 intsubclass=0x06
dev.umass.0.%parent: uhub3
------------------------------------------------------------
Соответственно на нужно только эта часть:
vendor=0x1307 product=0x0163 release=0x0100
sh# ee /etc/usbd.conf
##########################################################################################################################
# Мой плеер...
device "Samsung YP-U2"
vendor 0x04e8
product 0x5050
release 0x1001
attach "sleep 2 && test -c /dev/da0s1 && /sbin/mount_msdosfs -m 777 -L ru_RU.KOI8-R -D CP866 /dev/da0s1 /mnt/usb";
detach "umount -f /mnt/usb"
# Моя флэшка на 4Gb
device "USB 2.0 Flash Disk"
vendor 0x1307
product 0x0163
release 0x0100
attach "sleep 2 && test -c /dev/da0s1 && /sbin/mount_msdosfs -m 777 -L ru_RU.KOI8-R -D CP866 /dev/da0s1 /mnt/usb";
detach "umount -f /mnt/usb"
##########################################################################################################################
ну и...
sh# echo 'usbd_enable="YES"' >> /etc/rc.conf
sh# reboot
Размонтирование по прежнему коряво! (((