Create TOC

2005년 3월 8일

USB형태의 메모리 카드 리더기를 Linux에서 사용하기

디지털 카메라 등에서는 저장장치로 CF, MMC, MemoryStick 등을(이하 메모리카드) 사용한다. 이런 메모리카드를 PC에서 바로 사용하기 위해서 USB형태의 메모리카드 리더기를(이하 USB 리더기) 많이 사용한다.

이 문서는 USB 리더기를 Linux에서 사용하는 방법에 대해 설명한다.

커널 컴파일(2.4.x 기준)

USB 리더기를 사용하기 위해 커널의 scsi support 옵션과 usb support 옵션을 아래와 같이 변경 한다.

general setup

  1. Support for hot-pluggable devices (CONFIG_HOTPLUG=y)

scsi support

  1. SCSI Support (CONFIG_SCSI=m, scsi.o)
  2. SCSI disk support (CONFIG_BLK_DEV_SD=m, sd.o)
  3. SCSI generic support (CONFIG_CHR_DEV_SG=m, sg.o)

usb support

  1. Support for USB (CONFIG_USB=m, usb.o)
  2. Preliminary USB device file system (CONFIG_USB_DEVICEFS=y, devices.o?)
  3. 다음 중 1개 또는 그 이상(필요에따라): UHCI (CONFIG_USB_UHCI=m, usb-uhci.o), OHCI (CONFIG_USB_OHCI=m, usb-ohci.o)
  4. USB Mass Storage support (CONFIG_USB_STORAGE=m, usb-storage.o)

장치가 연결되었는지 확인하기.

USB 리더기를 컴퓨터에 연결한다.

커널 옵션을 제대로 설정하면 Linux에서 scsi 장비로 인식된다.

인식 여부를 알아보기 위해 sg3-utils 패키지를 설치 한다Debian 에서는 패키지가 제공된다

sg3-utils 를 설치한 후 아래 명령을 통해서 인식 여부를 알아볼 수 있다.

# sg_scan -i
/dev/sg0: scsi0 channel=0 id=0 lun=0 [em]  type=5
    LG        CD-ROM CRD-8400C  1.02 [wide=0 sync=0 cmdq=0 sftre=0 pq=0x0]
/dev/sg1: scsi1 channel=0 id=0 lun=0 [em]  type=0
    Generic   STORAGE DEVICE    0113 [wide=0 sync=0 cmdq=0 sftre=0 pq=0x0]
/dev/sg2: scsi1 channel=0 id=0 lun=1 [em]  type=0
    Generic   STORAGE DEVICE    0113 [wide=0 sync=0 cmdq=0 sftre=0 pq=0x0]
/dev/sg3: scsi1 channel=0 id=0 lun=2 [em]  type=0
    Generic   STORAGE DEVICE    0113 [wide=0 sync=0 cmdq=0 sftre=0 pq=0x0]
/dev/sg4: scsi1 channel=0 id=0 lun=3 [em]  type=0
    Generic   STORAGE DEVICE    0113 [wide=0 sync=0 cmdq=0 sftre=0 pq=0x0]

4가지 메모리를 한번에 사용할 수 있는 USB 리더기를 사용하기 때문에 scsi 장치가 4개 (1번부터 4번) 인식되었다.

이제 인식된 장치가 어떤 block device 에 연결되는지 알아보자.

# sg_map
/dev/sg0  /dev/sr0
/dev/sg1  /dev/sda
/dev/sg2  /dev/sdb
/dev/sg3  /dev/sdc
/dev/sg4  /dev/sdd

1번 장치부터 sda 에 연결된 것을 확인할 수 있다.

/etc/fstab 설정

위의 내용을 보고 /etc/fstab 파일을 편집한다.

/dev/sda1   /mnt/cf     vfat    noauto,user     0   0
/dev/sdb1   /mnt/sm     vfat    noauto,user     0   0
/dev/sdc1   /mnt/mmc    vfat    noauto,user     0   0
/dev/sdd1   /mnt/ms     vfat    noauto,user     0   0

설정 완료

이제 모든 설정은 완료되었다. USB 리더기를 꼽고 mount 명령을 사용해서 일반 디스크처럼 사용할 수 있다. gnome 사용자라면 '디스크 마운트 애플릿' 을 사용하면 좀 더 쉽게 mount / unmount를 할 수 있다.