재작성하기 귀찮아서,
제 홈피에 올린거 그대로 올립니다.
말투가 반말이어도, 양해 해주세요..
;
--내용--
내가 알고 있는 디카는 두 종류가 있다.
첫번째는 USB 대용량 저장장치로 잡히는 녀석들 (올림 C-7x0 시리즈, 올림 C-x0x0 시리즈..)
두번째는 전용프로그램을 사용해야만 잡히는 녀석들.
첫번째 녀석들을 리눅스에서 인식하는 방법은 전에 성공했었다.
관련 링크 - http://www.sarang4u.org/view.php?board=lecture&no=23 졸라 복잡하지만,
경험상, usb가 커널에 인식된 상태 에서 usb_storage 모듈만 올려주고 마운트하면 됐던걸로 기
억한다. 전부 모듈이라면 usb_core, usb_uhci (usb_ohci) 를 먼저 올려야 한다.
만약 커널에 포함시키려 함이라면, 커널 옵션에 "Support for USB" 와 "UHCI Alternative Driver" (혹은
OHCI) 를 포함하고, 밑에 있는 "USB Mess Storage Support"는 포함하던지 모듈로 하던지 한다. 포함
시킨다면 다음 부터는 그냥 마운트만 하면 첫번째 녀석들은 다른 프로그램 없이 인식이 가
능하다. 그럼 이문서의 목적인 두번째 녀석들. (대용량 저장장치로 인식 안돼는 녀석들)
을 리눅스에서 인식하는 방법을 설명하고자 한다. 먼저 준비물이 필요하다. gPhoto2 (http://g
photo.sf.net) 라는 녀석인데, 엄청나게 많은 디카를 지원한다. 사실 gPhoto2를 이용하면, 대용량
저장장치로 작동하는 녀석들도 인식할 수 있다. 하지만, 대용량 저장장치가 되는 놈들은
그냥 저렇게 모듈올리고 마운트해서 쓰는것이 편하다. 우선 커널컴팔을 해서 USB가 작동하
도록 설정한다. 설정방법의 기본은 첫번째 녀석들을 인식할때 하는것과 별반 다르지 않다.
"Support for USB" 와 "UHCI Alternative Driver" (혹은 OHCI) 를 일단은 포함시킨다. (모듈로 하고 싶으
면 해라. 하지만 나는 포함시켰다. ) 그리고 아래에 보면, "Preliminary USB device filesystem" 이라
는 항목이 있다. 이걸 포함시켜라 (열라 중요하다!! 꼭 포함시켜라!! ) 그리고 커널을 다시
컴팔하고, 다시 만들어진 커널로 부팅할 수 있는 설정을 완료 한다. (make dep clean bzImage module
s modules_install && depmod -a 2.4.19 && cp arch/i386/boot/bzImage /boot && reboot -> 한줄로 끝낸다..
) 그리
고 gphoto2를 받고 설치한다. 데뱐 사용자 분들은 dselect가서 받으시고, 레뎃 사용자분들은
알아서 구하시고, 소스 설치하실 분들은 위에 적은 링크 가서 받으시고, 나는 젠투를 사용
하기에, 젠투에서는 간단히 # emerge gphoto2 라고 프롬프트에 입력하면 소스 받아서 컴팔하
고 설치까지 완료 한다. gphoto2가 설치가 되었으면 몇가지 확인할께 있다. USB hotplug가 작동
하는지와 /proc/bus/usb 가 존재하는지 이다. USB라는 물건은 태생적으로 hotplug가 되게 만들어
져 있는 물건인지라, 리눅스에서는 기본적으로 hotplug가 지원된다. 확인하는 방법은, 카메
라에 USB케이블을 꼽았다가, 뺀다음 /var/log/messages파일을 확인해보면 된다. 내 경우에는 De
c 3 02:21:00 localhost kernel: hub.c: USB new device connect on bus2/1, assigned device number 2 Dec 3 02:21:00 localhos
t kernel: usb.c: USB device 2 (vend/prod 0x4a9/0x3057) is not claimed by any active driver. Dec 3 02:21:06 localhost ker
nel: usb.c: USB disconnect on device 2 라고 기록되어 있다. 아마도 비슷하게 기록될것이다. 아무
튼 이렇게 로그가 기록된다면 hotplug가 작동하는 것이다. 그리고 나서는 /proc/bus/usb가 존재
하는지를 확인해야 한다. 확인하는 방법은 정말 심히 간단하다. # ls /proc/bus 해서 usb라
는 디렉토리가 보이면 된다. 커널 컴팔시에 usb filesystem 을 포함시켜야만 생긴다. (이걸 몰
라서 몇시간을 삽질했다..
) 그리고 /proc/bus/usb 디렉토리 안에는 'devices' 와 'drivers' 라는
두개의 파일이 있어야 한다. 만약 없으면 만들어야 하는데, 이걸 만드는 방법은 gphoto2의 홈
페이지에 가면 메뉴얼이 있는데, 이 메뉴얼의 4.3장에 있다. 다행히 나는 이게 있어서, 그
삽질을 할 필요가 없었다. (아마 대부분의 경우 있을 것이다. ) 이제 준비는 끝났다. gphoto2
를 사용해서, 카메라 안의 사진을 긁어오자. gphoto2는 옵션이 매우 많다. 그래서 아주 다양
하게 사용할 수 있다. 하지만 간단하게 카메라가 인식된것을 확인하고, 사진을 긁어 오는
데는 몇개의 옵션만 사용하면 된다. (자세한 내용은 역시 gphoto2의 메뉴얼을 읽어라.) # gpho
to2 --list-ports # gphoto2 --auto-detect # gphoto2 --summary # gphoto2 --list-files
# gphoto2 --get-all-files
이렇게 순서대로 명령을 주면 된다.
각 명령어에 대한 자세한 내용은 gphoto2의 메뉴얼을 참고하기 바란다.
이렇게 하면, 현재 작업 디렉토리에 카메라의 사진들이 복사 된다.
이 문서는 어디까지나 팁이므로 자세한 설명은 하지 않았다.
꼭 gphoto2의 메뉴얼을 읽기 바란다.
메뉴얼 - http://gphoto.sourceforge.net/doc/manual/ 그럼 즐리~--얇은사 하이얀 고깔은 고이 접어서
나빌레라..