The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Использование USB Flash в Linux (usb flash linux hotplug mount)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: usb, flash, linux, hotplug, mount,  (найти похожие документы)
From: http://Knoppix.ru Date: Mon, 6 Mar 2008 14:31:37 +0000 (UTC) Subject: Использование USB Flash в Linux Оригинал: http://knoppix.ru/adv200504.shtml Всё большую популярность приобретают различные Flash-накопители с интерфейсом USB. Кроме обычных брелоков сюда относятся и mp3-плейеры. В Linux их использовать ненамного сложнее, чем обычные дискеты. Все USB-накопители в Linux работают через модуль usb-storage. Поэтому перед началом работы с флэшкой надо загрузить этот модуль (в Вашем дистрибутиве это может делаться командой service usb start, а универсальный способ - командой modprobe загрузить usb-storage и модуль USB-контроллера, который в зависимости от версии ядра может называться по-разному, для контроллеров Intel это uhci-hcd в ядрах 2.6 и usb-uhci в ядрах 2.4). Кроме того, в системе должна быть установлена программа hotplug. Если нужные модули загружены, при подключении устройства система при помощи hotplug найдет накопитель и ассоциирует его с файлом устройства /dev/sda (для USB-накопителей используется эмуляция SCSI). Впрочем, при наличии других SCSI-накопителей или по иным причинам может использоваться /dev/sdb и т.д. При подключении в системном журнале появляются довольно подробные записи: kernel: usb 1-2: new full speed USB device using address 2 kernel: scsi0 : SCSI emulation for USB Mass Storage devices kernel: Vendor: PQI Model: JoyTone U800 Rev: 1.00 kernel: Type: Direct-Access ANSI SCSI revision: 02 kernel: SCSI device sda: 502528 512-byte hdwr sectors (257 MB) kernel: sda: assuming Write Enabled kernel: /dev/scsi/host0/bus0/target0/lun0: p1 kernel: Attached scsi removable disk sda at scsi0, channel 0, id 0, lun 0 kernel: USB Mass Storage device found at 2 Здесь, кстати, видно, что используется устройство sda. Теперь остается подмонтировать накопитель как обычный диск. Для этого желательно знать, какие разделы (и сколько) имеются на флэшке. Обычно там находится 1 раздел, занимающий всё пространство; этому разделу соответствует устройство /dev/sda1. Поэтому можно монтировать флэшку командой mount /dev/sda1 /mnt/flash Разумеется, пустой каталог /mnt/flash должен существовать. Можно (даже желательно) добавить строчку в /etc/fstab: /dev/sda1 /mnt/flash vfat rw,users,noauto,iocharset=koi8-r,codepage=866,sync,umask=0 0 0 Здесь опция sync запрещает кэширование записи. Ее можно убрать, но тогда перед отключением флэшки надо обязательно размонтировать ее, иначе кэш может быть не сброшен, что приведет к порче ФС на флэшке. Если есть сомнения в организации разделов на флэшке, ее можно узнать командой fdisk -l /dev/sda: $ sudo fdisk -l /dev/sda Disk /dev/sda: 257 MB, 257294336 bytes 16 heads, 32 sectors/track, 981 cylinders Units = cylinders of 512 * 512 = 262144 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 982 251256+ 6 FAT16 Иногда бывает, что разделов на флэшке нет вообще (как на дискете), тогда монтировать надо прямо /dev/sda. Кстати, флэшку вполне можно форматировать командой mkfs и даже переразбивать при помощи cfdisk icon_wink.gif В т.ч. ее можно отформатировать в ext2 (только после этого ее нельзя будет прочитать в Windows).

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1.1, Konstantin (??), 15:26, 17/04/2008 [ответить]  
  • +/
    А какие есть решения для работы с несколькими флешками одновременно.
    Т.е. задача состоит в том, что бы адаптивно определять какая именно флешка подключена и монтировать ее с соответствующими конфигурациями. Вообще хорошо бы, что бы это было в виде определенного API к которому можно было бы прицепить shell-скрипты на определенные события.

    Скажем простая ситуация - у меня 2 флешки. На одной vfat на другой ext2. Я хочу их монтировать от имени пользователя. Если я вставляю первую, то для нее в fstab должны быть прописаны одни опции, если же вторую, то другие. Но в обоих случаях они будут в моей системе как /deb/sdb1.

    Отсюда же идет такая ситуация, когда я сначала вставил первую, а потом вторую - тогда я получаю на sdb1 vfat, а на sdb2 ext2. Если же очередность будет другая, то на sdb1 будет ext2, а на sdb2 vfat.
    Есть ли гибкий инструмент, позволяющий решать данную задачу?

     
     
  • 2.2, Konstantin (??), 16:00, 17/04/2008 [^] [^^] [^^^] [ответить]  
  • +/
    Нашел ответ на свой вопрос :)

    http://www.opennet.me/base/sys/fstab_label.txt.html

     

  • 1.3, c (?), 10:22, 03/01/2009 [ответить]  
  • +/
    ibhal-storage.c 1401 : info: called libhal_free_dbus_error but dbuserror was not set.

    process 4289: applications must not close shared connections - see dbus_connection_close() docs. this is a bug in the application.

    error: could not execute pmount

     
  • 1.4, Mark (??), 23:12, 29/11/2009 [ответить]  
  • +/
    Спасибо за добрые советы...
    С некоторых пор я могу смонтировать USB-устройство командой
    mount -t vfat /dev/sda1 /mnt/USB-disk
    (директорию USB-dusk я создал предварительно).
    Но приразгрузке система ругается:
    scsi: device set offline...

    Что делать?

     
  • 1.5, roger (??), 10:41, 09/02/2011 [ответить]  
  • +/
    а можно ли каким-нибудь образом просмотреть и отредаатировать инфу о ренее подключенных flash usb?
     

    игнорирование участников | лог модерирования

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру