 |
S3C6410에 android를 올려봤습니다. 커널쪽만 어찌어찌 수정하니 대충 잘 굴러가네요.
올리고 난 후 adb로 끄적여 볼려고 실행해봤는데 장치를 찾지못해서 조금 해멨습니다만 다음과 같은 과정을 통하면 잘 동작 하는 것을 확인할 수 있습니다.
1. 단말에 g_android_adb 모듈이 적재되었는지 확인합니다. 간단하게 /dev/android_adb 장치 파일이 생성이 되었는지만 확인하면 됩니다. adbd 가 실행된 이후 adb 모듈을 올리면 동작하지 않습니다. adbd 가 실행된 후 모듈을 올렸다면 다음 명령으로 adbd를 재시작 하면 됩니다. # setprop persist.service.adb.enable 1
2. PC에서 lsusb 커맨드로 android gadget이 검색되는지 확인합니다.
# lsusb -v
Bus 005 Device 114: ID 18d1:0001 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x18d1 idProduct 0x0001 bcdDevice ff.ff iManufacturer 1 Android iProduct 2 adb driver iSerial 3 0123456789ABCDEF bNumConfigurations 1 blah blah...
3. 위와 같이 장치파일을 찾아볼 수 있다면 다음 파일이 생성된 것을 확인할 수 있습니다. # ls -l /dev/bus/usb/005/ 합계 0 crw-rw-r-- 1 root usb 189, 512 2008-11-25 17:05 001 crw-rw-r-- 1 root usb 189, 514 2008-11-25 17:05 003 crw-rw-r-- 1 root usb 189, 625 2008-11-25 17:06 114
저같은 경우에는 젠투리눅스라서 usb 그룹으로 따로 지정되어 있습니다. 우분투에서는 root:root 퍼미션으로 되어 있습니다. 만약 usb그룹이 지원되는 배포판이라면 현재 사용자를 usb그룹으로 포함시키면 됩니다. 그냥 666 퍼미션으로 주고 싶다면 다음과 같이 udev 룰을 추가합니다.
# cat /etc/udev/rules.d/99-adb.rules SUBSYSTEM=="usb_device", ATTRS{idVendor}=="18d1", MODE="0666"
그런 후 usb케이블을 뽑았다 다시 꽂고난 후 퍼미션을 확인합니다.
# ls -l /dev/bus/usb/005 합계 0 crw-rw-r-- 1 root usb 189, 512 2008-11-25 17:05 001 crw-rw-r-- 1 root usb 189, 514 2008-11-25 17:05 003 crw-rw-rw- 1 root usb 189, 626 2008-11-25 17:19 115
4. 이제 adb로 장치 목록을 확인합니다. $ ./adb devices * daemon not running. starting it now * * daemon started successfully * List of devices attached 0123456789ABCDEF device
$ ./adb shell # cat /proc/version Linux version 2.6.24.2 rel-3-0-1 (ganadist@ganadist) (gcc version 4.2.0 20070413 (prerelease) (CodeSourcery Sourcery G++ Lite 2007q1-21)) #29 Tue Nov 25 10:35:0 0 KST 2008 # busybox uname -a Linux localhost 2.6.24.2 rel-3-0-1 #29 Tue Nov 25 10:35:00 KST 2008 armv6l unknown
실제로 하드웨어에 올리신 분들에게 도움이 되었으면 합니다.
|
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
16
|