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

안녕하십니까.
몇일째 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
번호 제목 글쓴이 날짜 조회 수
2248 Android 2.6.27 -> 2.6.28.로 업 [4] 최종환 2009-03-26 1188
2247 하드웨어 코덱과 안드로이드에 대한 질문입니다.. [2] 김형태 2009-03-26 2287
» Android 동작시 mtd부분에서 uevent관련 하여 죽어 버립니다. [3] 최종환 2009-03-26 2616
2245 aesops3c6410용 안드로이드(android) 관련 요청 [2] 성인제 2009-03-25 1073
2244 Android nand에 포팅시 kernel panic에 대한 질문입니다. [3] 최종환 2009-03-21 2949
2243 안드로이드 커널 소스 다운 받는 방법.. [3] 이성호 2009-03-12 7313
2242 KELP에서 공개세미나를 한다고 합니다. [1] 장병남 2008-10-29 1210
2241 DHCP 및 고정 IP 설정 방법에 대해서... [2] 허경 2009-12-18 1456
2240 시간(RTC) 저장 방법에 대해서... [2] 허경 2009-12-18 820
2239 새로 만든 보드 중 정상 동작 보드 / 비정상 보드 이유...?? [3] 양정규 2009-12-18 614
2238 mmc 캐싱 관련해서 문의 드립니다. [1] 심성보 2009-12-18 481
2237 mfc관련 질문입니다...(Multimedia&2D_rel-2-4-0_080905) [4] 손성훈 2009-12-18 785
2236 IME입력시 화면 깨어지는 현상에 관한 문의입니다 [2] 류창근 2009-12-17 729
2235 TinyX Font관련 문의 드립니다. [4] 심석곤 2009-12-14 629
2234 page fault에 대해 질문이 있습니다. [2] 티레네 2009-12-12 576
2233 linux abort 벡터 진입시 처리에 대해 질문이있습니다. [1] 티레네 2009-12-09 993
2232 타켓 USB gadget이 호스트쪽 USB를 가리나요? [2] 김재명 2009-12-09 497
2231 wm8750 사운드 코댁 볼륨 조절 시 노이즈(?) 가끼는데요. [3] rapel 2009-12-09 733
2230 fimc (camif) 관련해서 질문이요 ;; [1] 윤병진 2009-12-03 526
2229 irq(인터럽트) 후 hw i2c 사용시 에러 [5] 최준원 2009-12-01 1049

사용자 로그인