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

안녕하십니까.
몇일째 smdk6410 보드에서 2.6.27로 삽질중입니다.

android kerenl 2.6.27 버젼에 smdk6410을 merge 하여 nfs로는 잘 동작을 합니다.
yaffs2와 onenand를 사용하는데 mount하고 read/write도 잘 동작하는것으로 보아 onenand쪽도 문제가 없습니다

그런데 유독 onenand에 android 를 넣고 onenand로 부팅하면 android 의 init에서 죽어 버립니다.
안드로이드 init에서 device_init()부분에서  coldboot(/sys/class). coldboot(sys/device), coldboot(sys/block)
coldboot(sys/device) 동작을 하다 죽어버립니다.

이부분이 뭐가 보니 kernel 2.6.x에 들어갓다는 kernel event layer 였습니다.
lib/kobject_uevent.c의

nt kobject_uevent_env(struct kobject *kobj, enum kobject_action action,) 함수에서


154     /* default keys */
155     retval = add_uevent_var(env, "ACTION=%s", action_string);
156     if (retval)
157         goto exit;
158     retval = add_uevent_var(env, "DEVPATH=%s", devpath);
159     if (retval)
160         goto exit;
161     retval = add_uevent_var(env, "SUBSYSTEM=%s", subsystem);
162     if (retval)
163         goto exit;
164

이부분에서 action_string, devpath, subsystem을 얻어 오는데
유독 mtd쪽에서 죽어 버립니다.
ACTION=add   DEVPATH=/devices/virtual/sound/timer  SUBSYSTEM=sound  일반적으로 이렇게 나와야 하는데
유독 mtd만 subsystem이 NULL을 리턴합니다.
vi drivers/base/core.c

  147 static const char *dev_uevent_name(struct kset *kset, struct kobject *kobj)
 148 {
 149     struct device *dev = to_dev(kobj);
 150
 152     if (dev->bus)
 153         return dev->bus->name;
 154     if (dev->class)
 155         return dev->class->name;   // 대부분 class의 name을 리턴한다.
 156     return NULL;   // -> return
 157 }

디바이스 드라이버 모델이란 개념과 uevent에 대해 깊은 이해가 없어 헤메이고 있습니다
대체 어느 부분을 좀더 봐야 할까요?...
--;;;

고현철

2009.03.26 18:00:40
*.94.41.89

음........./sys mount관련 문제일 듯 싶네요....쩝

최종환

2009.03.26 19:07:09
*.207.130.159

/sys 쪽에 마운트 되어서 정보도 잘 보입니다. /sys쪽이 잘못 된것이면 대부분의 장치에 대해 문제가 발생할거 같은데
유독 eth0, mtd0~mtd5에 대해서만 문제가 발생합니다.
어느 부분을 좀더 봐야 할까요?

고현철

2009.03.26 20:04:42
*.94.41.89

그러면 sd는 살리셨나요?

sd에서 함 해보시기 바랍니다. 아니면 다른 storage에서요.............

android의 경우 직접 uevent를 처리하는 구조로 되어 있어서, 거기서 지원이 안되면 문제가 생길 가능성이 있다고 보여집니다만
mtd는 지원을 하거든요.........쩝

나중에 소스라도 올려주시면 제가 nand에서(onenand가 아니라) 테스트 해 보도록 하겠습니다.
지금 구미에서 강의중이라, 올라가면 후딱 2.6.28 포팅해서 보도록 해야겠네요....
List of Articles
번호 제목 글쓴이 날짜sort 조회 수
6128 2440, pxa255, pxa270 을 성능 비교하면 어느정도 인가요?[완료] [2] 성진호 2006-12-01 1216
6127 메모리 변경에 대해 질문 드립니다.[완료] [4] 김유석 2006-12-01 797
6126 2440에 IDE를 구현 하려고 합니다. [1] 송영수 2006-12-01 789
6125 ramdisk 이미지는 어디서 받을 수 있나요?[완료] [2] 김유석 2006-12-02 787
6124 u-boot command 상태로 안들어 가져요 [완료] [7] 강민석 2006-12-03 948
6123 regs-mem.h 에 대해 질문 드립니다.[완료] [4] 김유석 2006-12-05 763
6122 SDL 로 어플을 설계하는 과정중 질문사항 ... [2] 장석원 2006-12-06 920
6121 vmware에서 한영전환 [3] 김증일 2006-12-06 1072
6120 테스트 보드 관련 질문입니다. -> 혹시 aesop 2차보드 파실분이?... [3] MrAhn 2006-12-07 845
6119 이솝보드에서 SDL로 ttf 사용 가능 한가요? [1] 김증일 2006-12-07 886
6118 smdk2440 사운드 관련 질문입니다[완료] [2] 박상수 2006-12-07 806
6117 SMSC91C113 인터럽트 질문 드립니다.[완료] [6] 김유석 2006-12-08 1179
6116 [질문] SDL 사용시 프레임버퍼 드라이버 ??? [1] 장석원 2006-12-08 787
6115 usb gadget 관련.. [완료] [1] 박기호 2006-12-08 902
6114 I2C 통신을 하는 FOST02A칩을 보드에 달으려고 하는데요[완료] [6] 유태경 2006-12-08 1264
6113 I2C 통신을 하는 FOST02A칩을 보드에 달으려고 하는데요 (참조글) 방창혁 2006-12-08 712
6112 [질문] PDS 게시판에 올린 VGA to Composite 관련 질문이요~[완... [2] 양용현 2006-12-11 713
6111 xinit 관련해서 질문입니다~ [3] 오용석 2006-12-12 622
6110 gdbserver & gdb 에 대해서 질문 <== 완료[자답] [5] 황기천 2006-12-12 1064
6109 [SMC91C113] ping 테스트를 하면 커널 패닉이 발생합니다.[완료] [4] 김유석 2006-12-12 1146

사용자 로그인