Iam试图在arndale主板上移植Android Lollipop,我正面临关于ART崩溃的问题(AndroidRunTime)。
> I/art ( 2264): RelocateImage: /system/bin/patchoat
> --input-image-location=/system/framework/boot.art --output-image-file=/data/dalvik-cach6 F/libc ( 2443): No [stack] line found in "/proc/self/task/2443/maps"! F/libc ( 2443): Fatal signal 6
> (SIGABRT), code -6 in tid 2443 (patchoat) W/art ( 2702): Could not
> create image space with image file >/system/framework/boot.art.
> Attempting to fall back to imageless running
1.从下面的链接下载vexpress android L 32位代码。 http://releases.linaro.org/15.05/android
2.从http://releases.linaro.org/14.08/android/arndale
下载带有3.9内核的arndale android KK 32位源代码3.使用从步骤2下载的arndale KK 3.9内核源替换步骤1中代码下载的Vexpress内核源代码。
4.用Arndale HAL(device / linaro / arndale)替换Vexpress HAL(device / linaro / vexpress)。
5.解决与仿生和构建环境相关的轻微恭维问题。
在闪烁图像并打开电路板后,我陷入了android徽标和内核崩溃
> >37.790000] Internal error: Oops: 5 [#1] PREEMPT SMP ARM Modules linked in: CPU: 0 Tainted: G W (3.9.1 #8) [ 37.790000]
> CPU: 0 Tainted: G W (3.9.1 #8) PC is at
> __copy_to_user_std+0x4c/0x3a8 [ 37.790000] PC is at __copy_to_user_std+0x4c/0x3a8 LR is at 0x6c000000
> >[ 37.790000] LR is at 0x6c000000
和logcat给出
> >I/art ( 2264): RelocateImage: /system/bin/patchoat --input-image-location=/system/framework/boot.art --output-image-file=/data/dalvik-cach6 F/libc ( 2443): No [stack] line found in "/proc/self/task/2443/maps"! F/libc ( 2443): Fatal signal 6
> (SIGABRT), code -6 in tid 2443 (patchoat) W/art ( 2702): Could not
> create image space with image file >/system/framework/boot.art.
> Attempting to fall back to imageless running.
1.ART从art / runtime / thread.cc调用Thread :: InitStackHwm。
2.上面的调用在bionic / libc / bionic / pthread_attr.cpp中触发__pthread_attr_getstack_main_thread(stack_base,stack_size),返回此处的输入代码中找不到[stack]行/ proc / self / task / 2443 / maps!和ART崩溃给SIG_ABORT,似乎没有为2443线程创建堆栈,但如何解决这个问题?
如果有人能帮助我解决这个问题,那就太好了。
谢谢, Devarsh