기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요


이제 시작하는 초보입니다

misc 밑에 driver 코드를 추가하고 그런 작업들을 하는중에 두가지 경우가 있어서 질문 드립니다


1) 첫번째 경우

aaa_drv.c 를 linux-2.6\drivers\misc 에 넣고
이 c 파일엔 아래 함수들로 구성이 되 있구요
register_chrdev
class_create
device_create

Makefile 에서 모듈로 만들고
obj-m            += aaa_drv.o

init.rc 에서 insmod 하는게 전부입니다
insmod /lib/modules/aaa_drv.ko


2)두번째 경우

bbb_drv.c 를 linux-2.6\drivers\misc 에 넣고

이 c 파일엔 아래 함수들로 구성이 되 있구요

misc_register

platform_driver_register

platform_device_register


Makefile 에서 커널에 포함 시키고

obj-y  += bbb_drv.o


ueventd.rc 에서 이런식으로 권한설정을 해야 한다고 되 있습니다
/dev/bbb_drv 0666  xxx yyy


질문)

ueventd.rc 에 권한설정을 첫번째 경우에 안하는것은 모듈로 만들면 필요없기 때문인가요?

아니면 쓰이는 함수들이 틀려서 그런건가요?

첫번째 경우는 권한설정하는곳이 없습니다


권한설정시 0666 까진 알겠는데 뒤에 UID GID 는 어떻게 설정해야 할지 모르겠습니다

검색을 해보니 android_filesystem_config.h 에 모든 UID/GID 가 있다는데 이 파일을 봐도 어케 해야하는지 쩝

새로운 기능을 하는 칩셋을 등록하는경우 misc 밑에 있으니까 그냥 system misc 이렇게 해주면 되는건가요?


신현호

2012.02.24 23:47:27
*.66.95.30

UID는 User ID, GID는 Group ID입니다. 근본적으로는 Linux의 user 개념을 공부하셔야 하는건데,

 

원칙상으로는 잘 지켜져야 하지만, 실제 안드로이드에서 구현을 할때는 잘 안지켜지는게 사실입니다.

 

위에서도 "/dev/bbb_drv 0666 xxx yyy"라고 설정하면 UID/GID인 xxx,yyy를 아무렇게나 설정해도

 

어차피 permission이 666이므로 아무나 R/W가 가능합니다.

khyukj

2012.02.25 01:33:43
*.187.148.27

저는 xxx yyy 만 R/W 가능할줄 알아서 걱정했는데 666 으로 해놓으면 상관이 없는것이군요..감사합니다

첫번째 질문 답도 좀 부탁드립니다

김택기

2012.02.25 04:59:35
*.94.41.89

모듈이기 때문에 필요가 없어서 해 주지 않은 것이 아니라 사실 해 주어야 정상입니다.

별도로 chmod/chown 같은 명령으로 해주어야 합니다.

다만 기본 permission이 0666에 root/root 로 만들어지니 신경을 안 쓰는 듯 합니다.

물론 저렇게 되면 나중에 문제가 발생할 소지가 있는 부분입니다.

신현호

2012.02.27 22:02:25
*.66.95.30

device_create로 device node를 driver 단에서 만들면 부팅하면서 uevent daemon이 해당 node를 생성해 주는데,

 

생성되는  node의 permission 및 GID/UID는 uevent.rc 파일을 참조해서 만들어진답니다.

 

uevent daemon source를 확인해보시면 device node를 생성할때 uevent.rc 파일을 생성하여 만들고

 

만약 생성하려는 node가 uevent.rc 파일에 없을 경우 디폴트 값을 이용하여 node를 생성하게 된답니다.

khyukj

2012.03.07 22:54:30
*.187.148.25

감사합니다

List of Articles
번호 제목 글쓴이 날짜 조회 수
5228 웹서버를 통해 장비를 제어하고 싶은데요.. 공부할만한 보드 하나만 ... [2] 고즈 2012-03-02 1374
5227 bootanimation은 어떤 경로로 해서 kill되는지... [2] Simba444 2012-03-02 1350
5226 android에 app을 많이 깔수록 느리게 뜨는 이유 [4] 박수민 2012-03-01 1453
5225 Origen 터치 좌표 문의 file [2] 다콩 2012-02-29 1223
5224 u-boot의 bootargs와 리눅스 커널의 Boot option을 맞춰야 하는거 ... file [5] 혜민아빠 2012-02-29 1670
5223 Origen 보드 인식 문제 [2] 다콩 2012-02-29 1412
5222 Origen보드 SD 카드 내용 어디서 받을 수 있나요? [5] 다콩 2012-02-28 1400
5221 busybox compile 옵션 질문이요...ㅠㅠ [2] 스페셜 2012-02-28 1284
5220 Android kernel 2.6.35 버젼 다운 받는 방법? [3] 쾌도난마 2012-02-28 1489
5219 Eth 없이 Linux 개발 or 공부 하기 [7] 박명대 2012-02-28 1462
» 노드 생성 관련 초보 질문입니다 [5] khyukj 2012-02-24 1583
5217 KERNEL 2.6.32에서 ISR에서 spi_async()하면 kernel panic 발생합... [2] yama 2012-02-24 2349
5216 ALSA 관련 스터디 조언을 구합니다. [2] 로이1024 2012-02-23 1601
5215 v210 에서 네트웍 관련해서 문의 드립니다. [2] 동수아빠 2012-02-23 1403
5214 ctrl+z 키 질문입니다 [1] 날다병아리 2012-02-23 1424
5213 file명령어를 통해 파일을 읽어서 같은 형태로 나오면 같은 종류의... file [1] 혜민아빠 2012-02-23 1696
5212 Ubuntu 10.10 desktop에서 로그인이 안되네요.. 에디트 2012-02-23 1008
5211 [permanent 메세지] wlan 동글 문제 [2] 최원제 2012-02-23 1388
5210 디바이스 드라이버를 커널에 포함시키려면 어떻게 해야 하나요? file [3] 혜민아빠 2012-02-22 1671
5209 V210에서 usb메모리 마운트 방법에 대한 질문 입니다. [2] Ike 2012-02-22 1755

사용자 로그인