В началоПрочее → Подключение USB-flash
Gentoo-doc HOME Пред.:  Оптимизация glibcВ началоУровень выше: ПрочееСлед.: Чтение-запись NTFS с использованием драйвера ntfs-3g

7. Подключение USB-flash

7.1. Подключение USB-flash к компьютеру

Введение

В Linux я пользователь новый и с этим вопросом никогда не сталкивался, и более того — ядро по жизни собирал без поддержки USB устройств, т.к. ничего такого у меня просто нет :), но вот, как говорится — пришлось и срочно. И как оказалось — это довольно несложно.

Итак, по прочтении парочки-тройки вопросов связанных с USB, и небольшого количества теории — я без проблем подмонтировал USB флешку. Примечание: Что такое флешка и USB описывать не буду, т.к. если читатель этого не знает — то имхо ему следует сначала прочесть несколько других статей.

Итак, начнем

Конфигурация ядра

USB флешки видны в Linux как scsi устройства,ибо поддержка usb устройств в ядре Linux реализуется именно посредством эмуляции скази, т.е. типа /dev/sda1(2,3) и т.д, смотря сколько партиций.

Следовательно, чтобы была возможность подключения флешки, сначала необходимо добавить поддержку scsi в ядро

Linux Kernel Configuration: Включаем поддержку SCSI

Device Drivers --->

 SCSI device support

  <*>legacy /proc/scsi/ support

  --- SCSI support type (disk, tape, CD-ROM)

  <*> SCSI disk support

  <*> SCSI generic support

  --- Some SCSI devices (e.g. CD jukebox) support multiple LUNs

  <*> Probe all LUNs on each SCSI device

Далее добавляем непосредственно поддержку USB (я не говорю о клавиатурах или других устройствах USB, а говорю только о флешке)

Linux Kernel Configuration: Поддержка USB

Device Drivers --->

 USB support

  <*> Support for Host-side USB

  <*> USB device filesystem

  <*> EHCI HCD (USB 2.0) support

  < > OHCI HCD support

  <*> UHCI HCD (most Intel and VIA) support

  <*> USB Mass Storage support

Примечание: В разделе USB Mass Storage support есть куча других устройств — я там не отмечал ничего, у меня заработало и так. Подозреваю, что для специфических устройств (всмысле каких то навороченных флешок) нужно будет что нибудь еще там отметить.

Кроме того, для этих всяких сложных флешок скорее всего придется добавить MTD в ядро

Linux Kernel Configuration: MTD

Device Drivers --->

 Memory Technology Devices (MTD) --->

ну и там смотрим, что нужно. Примечание: Для большинства современных флэшек, USB носителей и цифровых фотоаппаратов поддержка MTD не требуется.

Монтирование

После загрузки с новым ядром, нажимаем Alt+F12 и вставляем флешку — если с ядром все ок- то сразу появятся сообщения, что мол есть устройство USB , потом пишется, что есть /dev/uba ну и т.п.

Если этого не происходит, делаем

dmesg | grep usb

Если и здесь ничего нет, то советую перегрузиться и посмотреть включены ли USB контроллеры в BIOS :) как это не смешно звучит, но я сам себе это отрубил, когда ядро собирал, а потом включить забыл, и минут 15 гадал — чего же оно не работает :)

Если dmesg | grep usb выдает результат, а когда вставляем флешку — никакой реакции, то нужно проверить еще раз — все ли отмечено в ядре.

Вобщем — надеемся , что все заработало и теперь нужно смонтировать флешку.

Добавляем в /etc/fstab строку

Файл: /etc/fstab

/dev/uba1 /mnt/usbdir auto user,noauto,rw 0 0

и можно монтировать! но есть одно но, в опциях я не указал кодировки, т.к. кодировка по умолчанию указанна в разделе Native Languages конфигурации ядра.

Не будет лишним напомнить отмонтировать флешку перед тем как вытаскивать ее!

Если такой вариант вас не устраивает, то вы можете установить пакет submount и монтировать флэшку вот так:

Файл: /etc/fstab

 /dev/uba1 /mnt/usb  subfs  fs=vfat,auto,umask=0,quiet,sync 0 0

Параметр sync необходим чтобы отключить отложенную запись и избежать потерю данных при копировании файлов на флэшку.

Вроде бы все. Удачи всем!

И естественно- за любые комментарии, дополнения, уточнения и исправления ошибок – буду только благодарен :)

надеюсь, кому-то помог tradakad

исправил касательно монтирования при помощи submount (dernik)

7.2. Монтирование под kde

Установите пакеты: hal, dbus, and hotplug

Добавьте флаг hal в /etc/make.conf

emerge -avt kdebase-kioslaves

Убедитесь, что hal используется всеми пакетами:

emerge -DNu world

rc-update add dbus default

/etc/init.d/dbus start

rc-update add hald default

/etc/init.d/hald start

так же можно монтировать устройства без изменения /etc/fstab с помощью

emerge -av pmount

Добавьте себя в групп plugdev

gpasswd -a USER plugdev

Включите "Storage media" ("Устройства хранения данных" в русском варианте) в systray (на панель). Наслаждайтесь :)

7.3. Автоматическое монтирование

Если лень замарачиваться каждый раз при втыкании флэшки или сидюка, а хочется, чтоб как в одной другой ОС, добавьте параметр managed в /etc/fstab к требуемому устройству, например

Файл: /etc/fstab

 /dev/cdrw    /mnt/cdrom    iso9660    user,noauto,ro,managed          0 0

 /dev/sda     /mnt/flash    vfat       exec,user,noauto,sync,managed    0 0

Типа, все, теперь при появлении флэшки в системе будет появляться иконка на рабочем столе.

ps. распишите эту статью подробнее. Добавьте gpasswd в статью:

 http://gentoo-wiki.com/HOWTO_D-BUS,_HAL,_KDE_media:/

Пред.:  Оптимизация glibcВ началоУровень выше: ПрочееСлед.: Чтение-запись NTFS с использованием драйвера ntfs-3g
В началоПрочее → Подключение USB-flash