KAN`ский блог Мысли вслух…
  • Мар
    2

    USB устройства хранения

    Filed under: Без рубрики;

    Автор Marc Fonvieille.

    Множество современных устройств хранения используют Universal Serial Bus (USB): жесткие диски, брелоки USB, CD-R приводы, и т.д. FreeBSD предоставляет поддержку этих устройств.

    17.5.1. Настройка
    Драйвер umass(4) предоставляет поддержку устройств хранения USB. Если вы используете GENERIC ядро, изменять что-либо в настройках не потребуется. Если вы используете настроенное ядро, убедитесь, что в файле настройки присутствуют следующие строки:
    device scbus
    device da
    device pass
    device uhci
    device ohci
    device usb
    device umass
    Для доступа к устройствам хранения USB драйвер umass(4) использует подсистему SCSI, ваши устройства USB будут видны системе как SCSI устройства. В зависимости от чипсета USB на материнской плате, вам потребуется только один из параметров device uhci или device ohci. Однако, наличие обоих этих параметров не помешает. Не забудьте скомпилировать и установить новое ядро после добавления каких-либо строк.
    Замечание: Если ваше USB устройство это пишущий привод CD-R или DVD, необходимо добавить в ядро SCSI CD-ROM драйвер, cd(4), следующей строкой:
    device cd
    Поскольку устройство записи видно как SCSI диск, драйвер atapicam(4) не должен использоваться в файле настройки.
    USB 2.0 контроллеры поддерживаются в FreeBSD; для включения этой поддержки добавьте строку
    device ehci
    в файл настройки ядра. Обратите внимание, что драйверы uhci(4) и ohci(4) все еще нужны, если необходима поддержка USB 1.X.
    17.5.2. Тестирование конфигурации
    Конфигурация готова к тестированию, подключите устройство USB, и в буфере системных сообщений (dmesg(8)), диск должен отобразиться примерно так:
    umass0: USB Solid state disk, rev 1.10/1.00, addr 2
    GEOM: create disk da0 dp=0xc2d74850
    da0 at umass-sim0 bus 0 target 0 lun 0
    da0: <Generic Traveling Disk 1.11> Removable Direct Access SCSI-2 device
    da0: 1.000MB/s transfers
    da0: 126MB (258048 512 byte sectors: 64H 32S/T 126C)
    Конечно, производитель, имя устройства (da0) и другие детали могут отличаться в зависимости от конфигурации.
    Поскольку устройство USB видится как SCSI, команда camcontrol может быть использована для вывода списка устройств хранения USB, подключенных к системе:
    # camcontrol devlist
    <Generic Traveling Disk 1.11>      at scbus0 target 0 lun 0 (da0,pass0)
    Если на диске есть файловая система, у вас должна быть возможность смонтировать ее. Разд. 17.3 поможет вам создать и отформатировать разделы на диске USB если потребуется.
    Чтобы это устройство мог смонтировать обычный пользователь, необходимо выполнить определенные действия. Для начала, необходимо дать обычным пользователям доступ к устройствам, создаваемым при подключении USB устройства. Решение состоит во включении всех пользователей данных устройств в группу operator. Это делается утилитой pw(8). Затем, когда устройства созданы, у группы operator должен быть доступ на чтение и запись для этих устройств. Это выполняется путем добавления следующих строк в /etc/devfs.rules:
    [localrules=1]
    add path ‘da*’ mode 0660 group operator
    Замечание: Если к системе подключены SCSI диски, это должно быть сделано немного иначе. Так, если в системе уже есть диски с da0 по da2, вторая строка должна выглядеть так:
    add path ‘da[3-9]*’ mode 0660 group operator
    Это исключит уже существующие диски из группы operator.
    Вам также потребуется включить набор правил devfs.rules(5) в файл /etc/rc.conf:
    devfs_system_ruleset=»localrules»
    Затем, ядро необходимо настроить так, чтобы оно позволяло обычным пользователям монтировать файловые системы. Простейший способ сделать это — добавить в файл /etc/sysctl.conf следующую строку:
    vfs.usermount=1
    Этот параметр установится только после последующей перезагрузки. Для установки этой переменной можно также использовать sysctl(8).
    Последний шаг — создание каталога, куда будет монтироваться файловая система. Каталог должен принадлежать пользователю, монтирующему файловую систему. Один из способов сделать это под пользователем root — создать каталог /mnt/$USER (замените $USER именем пользователя):
    # mkdir /mnt/$USER
    # chown $USER:$USER /mnt/$USER
    Предположим, что USB брелок подключен, и появилось устройство /dev/da0s1. Поскольку эти устройства обычно поставляются форматированными с файловой системой FAT, их можно смонтировать так:
    % mount_msdosfs -m 644 -M 755 /dev/da0s1 /mnt/$USER
    Если вы отключите устройство (диск должен быть сначала размонтирован), вы должны увидеть в буфере системных сообщений что-то подобное:
    umass0: at uhub0 port 1 (addr 2) disconnected
    (da0:umass-sim0:0:0:0): lost device
    (da0:umass-sim0:0:0:0): removing device entry
    GEOM: destroy disk da0 dp=0xc2d74850
    umass0: detached
    Команда umount(8) принимает в качестве параметра точку монтирования какой-либо файловой системы, имя устройства, опцию -a или -A.
    #umount /mnt/$USER
    PS:

    mount -t ufs /dev/da0c /mnt #при монтировать
    newfs_msdos /dev/da0 #отформатировать в FAT32
    
    No Comments

Leave a reply

Для отправки комментария вам необходимо авторизоваться.