Android 기술 Q&A 
Q&A 게시판에 질문을 남기신 글에 대한 답변/덧글/쪽글에 대한 Push 메일 서비스를 받고자 하시는 분들은
☞ Push 메일 서비스 공지를 필독하시기 바랍니다.
[문의] zygote가 start와 exit를 반복합니다.
작성자
작성일 2008-11-12 (수) 20:50
ㆍ추천: 0  ㆍ조회: 13706      
IP: 61.xxx.221
ARM926EJS 개발 보드에 Android를 올리는 중에 LCD Framebuffer를 올리고 있습니다.
최근(11월)에 Release된 Version 1.0을 사용하고 있고, Kernel(zImage) + ramdisk(root) + JFFS2(system.img, userdata.img)를 사용하고 있습니다.
 
zygote가 반복적으로 start와 exit를 반복하는 것 외에는 shell(console)만은 잘 동작하고 있습니다.
부팅 log는 아래와 같습니다.
===================================================================================================
...
init: starting 'console'
init: starting 'servicemanager'
init: starting 'mountd'
init: Created socket '/dev/socket/mountd' with mode '660', user '0', group '1009'
init: starting 'debuggerd'
init: starting 'zygote'
init: Created socket '/dev/socket/zygote' with mode '666', user '0', group '0'
init: starting 'media'
init: cannot find '/system/bin/playmp3', disabling 'bootsound'
init: starting 'dbus'
init: Created socket '/dev/socket/dbus' with mode '660', user '1002', group '1002'
init: starting 'installd'
init: Created socket '/dev/socket/installd' with mode '600', user '1000', group '1000'
init: command 'class_start' r=0
init: event { 'add', '/class/vc/vcs1', 'vc', '', 7, 1 }
init: event { 'add', '/class/vc/vcsa1', 'vc', '', 7, 129 }
init: event { 'remove', '/class/vc/vcs1', 'vc', '', 7, 1 }
sh: can't access tty; job control turned off
# init: event { 'remove', '/class/vc/vcsa1', 'vc', '', 7, 129 }
init: event { 'add', '/class/vc/vcs1', 'vc', '', 7, 1 }
init: event { 'add', '/class/vc/vcsa1', 'vc', '', 7, 129 }
init: event { 'remove', '/class/vc/vcs1', 'vc', '', 7, 1 }
init: event { 'remove', '/class/vc/vcsa1', 'vc', '', 7, 129 }
init: event { 'add', '/class/vc/vcs1', 'vc', '', 7, 1 }
init: event { 'add', '/class/vc/vcsa1', 'vc', '', 7, 129 }
init: event { 'remove', '/class/vc/vcs1', 'vc', '', 7, 1 }
init: event { 'remove', '/class/vc/vcsa1', 'vc', '', 7, 129 }
init: event { 'add', '/kernel/uids/1000', 'uids', '', -1, -1 }
init: event { 'add', '/kernel/uids/1013', 'uids', '', -1, -1 }
init: event { 'add', '/kernel/uids/1002', 'uids', '', -1, -1 }
jffs2_flush_wbuf(): Write failed with -5
Write of 1900 bytes at 0x017120e4 failed. returned -5, retlen 0
Not marking the space at 0x017120e4 as dirty because the flash driver returned retlen zero
init: waitpid returned pid 25, status = 00000000
init: process 'zygote', pid 25 exited
init: process 'zygote' killing any children in process group
android_power: wakeup (0->0) at 242064408035480 (1970-01-03 17:25:37.367480880 UTC)
init: starting 'zygote'
init: Created socket '/dev/socket/zygote' with mode '666', user '0', group '0'
init: waitpid returned pid 34, status = 00000000
init: process 'zygote', pid 34 exited
init: process 'zygote' killing any children in process group
android_power: wakeup (0->0) at 327963759588200 (1970-01-04 17:17:16.719024720 UTC)
init: starting 'zygote'
init: Created socket '/dev/socket/zygote' with mode '666', user '0', group '0'
init: waitpid returned pid 36, status = 00000000
init: process 'zygote', pid 36 exited
init: process 'zygote' killing any children in process group
....
========================================================================================================
왜 zygote가 exit하는 것에 대해서 어디를 검토해야 할지 감(?)을 못잡고 있습니다.
 
참고로, init에서 event를 실행할때 다른 분들은 "/devices/..."로 되어있는 것 같은데, 저는 왜 "/class/.."로 되는지도 이상합니다.
 
안드로이드 부팅에서 console 문자 말고, graphic 로그(?)는 언제 볼수 있는가요?
 
앞서 가시는 분들의 추억속의 경험담을 부탁드립니다.
수고하세요!
이름아이콘 HiJune
2008-11-13 14:33
>> jffs2_flush_wbuf(): Write failed with -5
>> Write of 1900 bytes at 0x017120e4 failed. returned -5, retlen 0
>> Not marking the space at 0x017120e4 as dirty because the flash driver returned retlen zero

init 프로세스가 jffs2 nand flash에 데이터를 쓰려고 하는데, 실패한것으로 보입니다.

이글 참고하세요~

http://groups.google.com/group/android-porting/browse_thread/thread/a67cbe36603d429a/646a017892783e2b?lnk=gst&q=jffs2#646a017892783e2b

init 프로세스를 hexaedit으로 수정하는방법이 1.0에서도 유효한지는 모르겠네요 ^^;
   
이름아이콘 khjung
2008-11-13 16:12
HiJune님 답변 감사합니다.

알려주신 JFFS2에 대해서 write permisstion에 문제가 있어서 수정했습니다.
하지만, zygote가 start와 exit를 반복하는 문제는 여전한 것 같습니다.
그래서 strace로 init processor의 진행 과정을 분석한 결과 Emulator와 다른 점이 보이더군요.

Emulator에서는 "/dev/graphics"와 "/dev/graphics/fb0"를 생성하는데, Target에서는 device node를 생성하지 않는것 같습니다.

Kernel에서 framebuffer는 porting되어 있습니다.

무엇이 문제인지 도무지 알수가 없네요!

좀더 검토한 후에 JFFS2를 YAFFS2로 옮겨야 할 것 같습니다.

혹시 YAFFS2를 NAND Flash에 적용해서 Android를 booting하셨는지요?

처음에 YAFFS2를 적용했는데, File system header에서 error가 발생하기에 그냥 JFFS2로 넘어와 버렸습니다.

관심 갖어주셔서 감사합니다.
수고하세요
   
이름아이콘 File
2008-11-13 19:41
혹시 Dalvik이 zygote를 위한 heap memory 할당을 하는 부분에서 실패하는지는 않나요?
   
이름아이콘 HiJune
2008-11-13 19:48
1. init.rc에서 rootfs 를 ro (read only)로 remount 하는 부분을 주석처리.

2. 메모리 할당이 안될 경우, /dev/ashmem 디바이스의 퍼미션이 zygote process가 접근(rw)할 수 있는지 여부. 안되어 있으면 아마 요런 error가 날겁니다.

E/dalvikvm-gc( 1690): Could not create 176128-byte ashmem mark stack

위의 두가지 정도 더 확인해보시고, log 파일 한번 보세요~ ^^;
   
이름아이콘 File
2008-11-13 20:59
저는
E/dalvikvm-heap( 1517): Can't create VM heap of size 262144
E/dalvikvm( 1517): error in post-zygote initialization
E/dalvikvm( 1517): VM aborting
요렇게 나면서 zygote가 죽었다 살았다를 반복하던데요...
어쩔땐 안나면서...T.T
   
 
덧글 쓰기 0
3500
※ 회원등급 레벨 0 이상 읽기가 가능한 게시판입니다.
    N     분류     제목    글쓴이 작성일 조회
4803 MusicDroid에 대해서 문의드립니다. 2008-11-10 8394
4802 [질문] java.lang.RuntimeException.... 2008-11-10 13821
4801 Re..Kernel Panic 문제 2 2008-11-11 9381
4800 kernel panic 관련 질문 2008-11-11 13955
4799 Re..Kernel Panic 문제 3 2008-11-11 10402
4798 웹브라우져 관련 초보자 질문입니다. 2008-11-11 8036
4797 앞으로 몰 만들어야 할지요? 2008-11-11 8094
4796 Android 1.0 r1 Network 설정 문의 2008-11-12 8711
4795 Android PDK소스는 어떻게 얻나요? 2008-11-12 9560
4794 오픈소스 FBReader 를 받았는데 실행이 되질 않습니다... 2008-11-12 13594
4793 video player에 대해. 2008-11-12 8147
4792 [문의] zygote가 start와 exit를 반복합니다. 2008-11-12 13706
4791 Internet Radio 2008-11-12 9695
4790 도와주세요~ 2008-11-13 8565
4789 Framebuffer 문제 2008-11-13 11717
4788 Android 해상도 문제... 2008-11-13 12739
4787 Android Full source 다운로드 관련 2008-11-13 12657
4786 Android의 Location관련 서비스는 SUPL을 지원하나요?.. 2008-11-13 8651
4785 Android Full source 빌드 오류 관련 2008-11-14 9432
4784 [문의] Target에 yaffs2를 적용하는 방법 2008-11-14 14318
4783 Android Emulator에서 무선랜 관련 질문입니다. 2008-11-14 8419
4782 emulator 에서 기존 app을 uninstall 하는 방법 2008-11-15 10298
4781 QEMU Compile 관련 질문입니다 ㅜㅜ 2008-11-16 9053
4780 Android 소스 빌드 에러 - unrecognized command line option .. 2008-11-16 12499
4779 edittext의 줄 나눔 관련 질문 드립니다. 2008-11-16 10465
4778 안드로이드 풀 소스 make시 오류 문의~ 2008-11-17 10073
4777 Android에 Developer Registration 다들 어떻게 하셨나요?.. 2008-11-17 8079
4776 초보자질문... 2008-11-17 8386
4775 에러 발생...이유가.. 2008-11-17 8507
4774 android 버전문제 2008-11-17 8368
4773 [질문] open max il 2008-11-18 8502
4772 정말 기초질문좀 할게요 ㅠㅠ 2008-11-18 8082
4771 안드로이드 메뉴버튼 눌렀을때 2008-11-18 9085
4770 초순이 질문 드려요^^ 2008-11-19 8179
4769 map 관련해서 말풍선(info. balloon) 질문 2008-11-19 11402
4768 안드로이드 풀소스 컴파일 오류.. 2008-11-19 16778
4767 안드로이드 폰에 대한 질문입니다 2008-11-19 8548
4766 zygote? 2008-11-19 13976
4765 안드로이드 폰에 콘솔 프로그램 올리는 것에 대한 질문입니다.. 2008-11-19 9049
4764 어플리케이션에서 버튼 클릭할때, 인터넷으로 연결하는 방법 .. 2008-11-20 8402
4763 오버레이 이미지의 이벤트 2008-11-20 9455
4762 초보자의 질문 2008-11-20 8418
4761 구글맵, 자신의 위치를 찾는 방법 아시는분 계신가요?.. 2008-11-20 9239
4760 oracle 사용 가능한가요? 2008-11-20 10614
4759 [질문] android_power_suspend 관련 질문드립니다.? 2008-11-20 10201
4758 T-Mobile G1에 콘솔 프로그램 올리는 방법 문의입니다... 2008-11-20 8505
4757 초보자의 질문 2탄..;; 2008-11-21 8411
4756 포팅이 제대로 되었으면 콘솔창으로 입력이 가능한건가요?.. 2008-11-21 10824
4755 카메라 흑백(?) Display 문제 2008-11-21 9243
4754 Telephony API 질문 2008-11-22 8122
12345678910,,,101