В начало → Прочее → Подключение 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)
Установите пакеты: 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 (на панель). Наслаждайтесь :)
Если лень замарачиваться каждый раз при втыкании флэшки или сидюка, а хочется, чтоб как в одной другой ОС, добавьте параметр 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 в статью:
В начало → Прочее → Подключение USB-flash |