First of all many thanks for your effort! : )
Been pondering about this over the weekend. Actually, I was tinkering
with the init scripts in the last few weeks, tried to see if there was
any improvement and change. Got >20 sets of strace records with
various options enabled and disabled.
I'm not sure if it's true or not, but remember reading somewhere that
the essential services for Android are servicemanager (binder), zygote
and dbus. So once I tried running with only them enabled, but still
got the loop. It wasn't a tightly controlled environment so it
certainly could be something else.
What can we do now...? I'm thinking if it's a good idea to get a set
of strace records from a successfully booted Android system
(mizmit1222 you have one...?) and compare it with what we've got.
Thanks again and have a nice day!
On Nov 8, 5:47 pm, Alex Osborne <[EMAIL PROTECTED]> wrote:
> Lo Yuk Fai wrote:
> > BTW, I finally got to build the Android image myself... I put
> > everything (ramdisk.img, system.img and userdata.img) under an ext3
> > partition and call /init to start Android... But still got the same
> > old loop
>
> I finally got around to trying it. The number parsing exception in your
> strace logs is because your init.rc has a whole bunch of "setprop"
> values commented out:
>
> # setprop ro.FOREGROUND_APP_ADJ 0
> # setprop ro.VISIBLE_APP_ADJ 1
>
> Uncommenting them, I get stuck at the flashing logo though as well. I
> also tried on the 680 which has 64mb of RAM, confirming it's not a low
> mem problem. It basically seems to be sitting there doing nothing (no
> disk activity).
>
> Strace shows the following processes still actively making system calls:
>
> ==> init.580 <==
>
> servicemanager. fd 3 is /dev/binder
>
> 09:44:39.632472 ioctl(3, 0xc0186201, 0xbeccfba8) = 0
> 09:44:40.636847 ioctl(3, 0xc0186201, 0xbeccf940) = 0
> 09:44:40.646469 ioctl(3, 0xc0186201, 0xbeccfba8) = 0
> 09:44:40.648673 ioctl(3, 0xc0186201, 0xbeccfba8) = 0
> 09:44:41.657157 ioctl(3, 0xc0186201, 0xbeccf940) = 0
> 09:44:41.666599 ioctl(3, 0xc0186201, 0xbeccfba8) = 0
> 09:44:41.668813 ioctl(3, 0xc0186201, 0xbeccfba8) = 0
> 09:44:42.677166 ioctl(3, 0xc0186201, 0xbeccf940) = 0
> 09:44:42.686604 ioctl(3, 0xc0186201, 0xbeccfba8) = 0
> 09:44:42.688813 ioctl(3, 0xc0186201
>
> ==> init.587 <==
>
> Subthread of system server, jdwp=java debug wire protocol?
>
> 09:44:34.843637 connect(13, {sa_family=AF_FILE, [EMAIL PROTECTED], 15)
> = -1 ECONNREFUSED (Connection refused)
> 09:44:34.847744 nanosleep({2, 0}, {2, 0}) = 0
> 09:44:36.851929 connect(13, {sa_family=AF_FILE, [EMAIL PROTECTED], 15)
> = -1 ECONNREFUSED (Connection refused)
> 09:44:36.854830 nanosleep({2, 0}, {2, 0}) = 0
> 09:44:38.861607 connect(13, {sa_family=AF_FILE, [EMAIL PROTECTED], 15)
> = -1 ECONNREFUSED (Connection refused)
> 09:44:38.864472 nanosleep({2, 0}, {2, 0}) = 0
> 09:44:40.871616 connect(13, {sa_family=AF_FILE, [EMAIL PROTECTED], 15)
> = -1 ECONNREFUSED (Connection refused)
> 09:44:40.874299 nanosleep({2, 0}, {2, 0}) = 0
> 09:44:42.881616 connect(13, {sa_family=AF_FILE, [EMAIL PROTECTED], 15)
> = -1 ECONNREFUSED (Connection refused)
> 09:44:42.884318 nanosleep({2, 0},
>
> ==> init.595 <==
>
> This one looks promising, it starts a whole bunch of other services and
> then gets stuck on audio. This could be our problem.
>
> 09:44:40.639528 writev(3, [{"\4", 1}, {"ServiceManager\0", 15},
> {"Waiting for sevice media.audio_flinger...\n\0", 43}], 3) = 59
> 09:44:40.644124 nanosleep({1, 0}, {1, 0}) = 0
> 09:44:41.651905 ioctl(10, 0xc0186201, 0x45accb80) = 0
> 09:44:41.654913 ioctl(10, 0xc0186201, 0x45accb80) = 0
> 09:44:41.659835 writev(3, [{"\4", 1}, {"ServiceManager\0", 15},
> {"Waiting for sevice media.audio_flinger...\n\0", 43}], 3) = 59
> 09:44:41.664241 nanosleep({1, 0}, {1, 0}) = 0
> 09:44:42.671864 ioctl(10, 0xc0186201, 0x45accb80) = 0
> 09:44:42.674752 ioctl(10, 0xc0186201, 0x45accb80) = 0
> 09:44:42.679839 writev(3, [{"\4", 1}, {"ServiceManager\0", 15},
> {"Waiting for sevice media.audio_flinger...\n\0", 43}], 3) = 59
> 09:44:42.684248 nanosleep({1, 0},
>
> ==> init.596 <==
>
> I suspect that is the splash screen.
>
> 09:44:43.058930 nanosleep({0, 66668000}, {0, 66668000}) = 0
> 09:44:43.131671 futex(0x82b48, FUTEX_WAKE, 2147483647) = 1
> 09:44:43.133971 clock_gettime(CLOCK_MONOTONIC, {487, 714704923}) = 0
> 09:44:43.138460 nanosleep({0, 66668000}, {0, 66668000}) = 0
> 09:44:43.211676 futex(0x82b48, FUTEX_WAKE, 2147483647) = 1
> 09:44:43.213981 clock_gettime(CLOCK_MONOTONIC, {487, 794707383}) = 0
> 09:44:43.218470 nanosleep({0, 66668000}, {0, 66668000}) = 0
> 09:44:43.291666 futex(0x82b48, FUTEX_WAKE, 2147483647) = 1
> 09:44:43.293980 clock_gettime(CLOCK_MONOTONIC, {487, 874707383}) = 0
> 09:44:43.298468 nanosleep({0, 66668000}, {0, 66668000}) = 0
>
> ==> init.597 <==
>
> I believe this the ActivityManager.
>
> 09:44:33.776728 clock_gettime(CLOCK_MONOTONIC, {478, 357452307}) = 0
> 09:44:33.779153 clock_gettime(CLOCK_MONOTONIC, {478, 359879692}) = 0
> 09:44:33.781616 clock_gettime(CLOCK_MONOTONIC, {478, 362341845}) = 0
> 09:44:33.783914 futex(0x640fc, FUTEX_WAIT, -5, {4, 995537847}) = -1
> ETIMEDOUT (Connection timed out)
> 09:44:38.792625 clock_gettime(CLOCK_MONOTONIC, {483, 373346460}) = 0
> 09:44:38.795112 clock_gettime(CLOCK_MONOTONIC, {483, 375837537}) = 0
> 09:44:38.797556 clock_gettime(CLOCK_MONOTONIC, {483, 378284922}) = 0
> 09:44:38.799987 clock_gettime(CLOCK_MONOTONIC, {483, 380859692}) = 0
> 09:44:38.802462 clock_gettime(CLOCK_MONOTONIC, {483, 383190769}) = 0
> 09:44:38.804738 futex(0x640fc, FUTEX_WAIT, -5, {4, 994668923}
--~--~---------~--~----~------------~-------~--~----~
unsubscribe: [EMAIL PROTECTED]
website: http://groups.google.com/group/android-porting
-~----------~----~----~----~------~----~------~--~---