On 05/13/2011 09:58 AM, Jon Pry wrote: > I had the same idea. Unfortunately strace is built with android libs, so > it doesn't work. I even changed it to statically linked, no go. Same > binaries work on all manner of kernels I have. .27, .35. no .39.
My advice was geared to hedwin's situation, where he said that programs ran, but error'ed out without any logcat or dmesg info. For your problem, do ALL statically linked binaries fail, or just some? (Is this the same as Mario or not). If the kernel can't even start /init, you're in pretty bad shape, and I'd suspect a kernel configuration issue (as Mario found). I can't think of any arch-specific code that should affect the kernel/user interface, but you never know. Maybe it's a "thumb" setting? It would be good to know the reason the processes are segfaulting. If you can start in a busybox shell, then use statically-linked gdb/gdbserver to capture the illegal instruction, it might help to find the problem. If none of the bionic-based programs run, you can try putting a glibc-based statically linked busybox on the system. Sorry if you've tried all these. Just tossing out ideas... -- Tim > On Fri, May 13, 2011 at 12:26 PM, Tim Bird <tim.b...@am.sony.com > <mailto:tim.b...@am.sony.com>> wrote: > > On 05/13/2011 06:16 AM, hedwin wrote: > > Well, zygoto does start but after some time it just exits, and after 4 > > times the service manager will reboot the system. > > > > There is no info in logcat or dmesg that provides any feedback > about why > > zygoto did exit. > > > > Don't think that init.rc is the problem, booting the same android > system > > with 2.6.32 is just fine. > > For startup problems, make sure to set "loglevel 7" > in /init.rc > > And a really good way to delve into the system is with strace. > > This should be particularly useful for this problem, since > it appears it's some interaction between the user-space > and the kernel, which is exactly what strace instruments. > (well... minus the page faults) > > Use it with both 2.6.32 and whatever kernel is failing, > and compare the results > > To use strace to trace zygote, just use it as a wrapper > in /init.rc. > > Change: > service zygote /system/bin/app_process -Xzygote /system/bin --zygote > --start-system-server > > to > > service zygote /system/xbin/strace -f -tt -o > /cache/debug/boot.strace /system/bin/app_process -Xzygote > /system/bin --zygote --start-system-server > > /cache/debug/boot.strace is a writable place on my hardware > with lots of space - you can use any output path you want. > > Then adb pull the boot.strace file to the host, and start comparing. > > I hope this helps. > �-- Tim > > ============================= > Tim Bird > Architecture Group Chair, CE Workgroup of the Linux Foundation > Senior Staff Engineer, Sony Network Entertainment > ============================= > > -- > unsubscribe: android-kernel+unsubscr...@googlegroups.com > <mailto:android-kernel%2bunsubscr...@googlegroups.com> > website: http://groups.google.com/group/android-kernel > > > -- > unsubscribe: android-kernel+unsubscr...@googlegroups.com > website: http://groups.google.com/group/android-kernel -- ============================= Tim Bird Architecture Group Chair, CE Workgroup of the Linux Foundation Senior Staff Engineer, Sony Network Entertainment ============================= -- unsubscribe: android-kernel+unsubscr...@googlegroups.com website: http://groups.google.com/group/android-kernel