将 Android 5.1.1 移植到 RaspbrryPi2
Porting Android 5.1.1 to RaspbrryPi2
我一直在努力将 Android 5.1.1 移植到 RaspberryPi2。
我用 device configuration 编译了 Android!它成功了。
内核方面,我使用的是4.0版本,编译时的配置是bcm2709_defconfig、android-base.cfg和android- recommended.cfg.
但是当我尝试启动它时,LogCat 显示:
--------- beginning of main
I/installd( 0): installd firing up
I/Netd ( 0): Netd 1.0 starting
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/default/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/eth0/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/lo/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/sit0/accept_ra_rt_table: No such file or directory
I/ ( 0): debuggerd: Feb 1 2016 18:35:07
--------- beginning of system
I/Vold ( 84): Vold 2.1 (the revenge) firing up
I/lowmemorykiller( 82): Using in-kernel low memory killer interface
I/keystore( 94): SELinux: Keystore SELinux is disabled.
I/SurfaceFlinger( 85): SurfaceFlinger is starting
I/SurfaceFlinger( 85): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
F/libEGL ( 85): couldn't find an OpenGL ES implementation
--------- beginning of crash
F/libc ( 85): Fatal signal 6 (SIGABRT), code -6 in tid 85 (surfaceflinger)
I/DEBUG ( 89): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 89): Build fingerprint: 'unknown'
I/DEBUG ( 89): Revision: '10489921'
I/DEBUG ( 89): ABI: 'arm'
I/DEBUG ( 89): pid: 85, tid: 85, name: surfaceflinger >>> /system/bin/surfaceflinger <<<
I/DEBUG ( 89): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
I/DEBUG ( 89): Abort message: 'couldn't find an OpenGL ES implementation'
I/DEBUG ( 89): r0 00000000 r1 00000055 r2 00000006 r3 00000000
I/DEBUG ( 89): r4 b6f3ce38 r5 00000006 r6 00000002 r7 0000010c
I/DEBUG ( 89): r8 b6082000 r9 00000000 sl 00000000 fp be942b0c
I/DEBUG ( 89): ip 00000055 sp be942580 lr b6e99745 pc b6ebcbd8 cpsr 60000010
I/DEBUG ( 89):
I/DEBUG ( 89): backtrace:
I/DEBUG ( 89): #00 pc 00039bd8 /system/lib/libc.so (tgkill+12)
I/DEBUG ( 89): #01 pc 00016741 /system/lib/libc.so (pthread_kill+52)
I/DEBUG ( 89): #02 pc 0001735f /system/lib/libc.so (raise+10)
I/DEBUG ( 89): #03 pc 00013b39 /system/lib/libc.so (__libc_android_abort+36)
I/DEBUG ( 89): #04 pc 00012f18 /system/lib/libc.so (abort+4)
I/DEBUG ( 89): #05 pc 00007c51 /system/lib/libcutils.so (__android_log_assert+88)
I/DEBUG ( 89): #06 pc 000431bd /system/lib/libEGL.so
I/DEBUG ( 89): #07 pc 00010795 /system/lib/libEGL.so
I/DEBUG ( 89): #08 pc 00010f45 /system/lib/libEGL.so (eglGetDisplay+24)
I/DEBUG ( 89): #09 pc 00017815 /system/lib/libsurfaceflinger.so (android::SurfaceFlinger::init()+60)
I/DEBUG ( 89): #10 pc 00000af1 /system/bin/surfaceflinger
I/DEBUG ( 89): #11 pc 00012dc9 /system/lib/libc.so (__libc_init+44)
I/DEBUG ( 89): #12 pc 00000c08 /system/bin/surfaceflinger
I/DEBUG ( 89):
I/DEBUG ( 89): Tombstone written to: /data/tombstones/tombstone_04
I/Netd ( 179): Netd 1.0 starting
E/Netd ( 179): Failed to open /proc/sys/net/ipv6/conf/default/accept_ra_rt_table: No such file or directory
E/Netd ( 179): Failed to open /proc/sys/net/ipv6/conf/eth0/accept_ra_rt_table: No such file or directory
E/Netd ( 179): Failed to open /proc/sys/net/ipv6/conf/lo/accept_ra_rt_table: No such file or directory
E/Netd ( 179): Failed to open /proc/sys/net/ipv6/conf/sit0/accept_ra_rt_table: No such file or directory
I/SurfaceFlinger( 180): SurfaceFlinger is starting
I/SurfaceFlinger( 180): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
不断重复。我检查了 /lib/ 中的 libEGL.so、libGLESv1_CM.so、libGLESv2.so 和 /lib/egl/ 中的 libGLES_android.so。
为什么会出现这些错误以及如何解决?
错误最有可能发生是因为 surfaceflinger
进程跳入 一些 分配的内存,期望找到它计划使用的 OpenGL ES 实现/方法序号;这些方法不存在,也没有找到。引发了 abort signal
,这在调试日志 (SIGABRT) 中表示并且进程正常崩溃。
I/DEBUG ( 89): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
I/DEBUG ( 89): Abort message: 'couldn't find an OpenGL ES implementation'
然而,OS 没有 surfaceflinger 就无法启动,因此它一次又一次地尝试并陷入死循环。找出错误地址,并尝试使用 addr2line
找到导致错误的文件,并尝试修复它...
那个+我给你的评论是我能做的最好的,不幸的是。
我一直在努力将 Android 5.1.1 移植到 RaspberryPi2。 我用 device configuration 编译了 Android!它成功了。
内核方面,我使用的是4.0版本,编译时的配置是bcm2709_defconfig、android-base.cfg和android- recommended.cfg.
但是当我尝试启动它时,LogCat 显示:
--------- beginning of main
I/installd( 0): installd firing up
I/Netd ( 0): Netd 1.0 starting
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/default/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/eth0/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/lo/accept_ra_rt_table: No such file or directory
E/Netd ( 0): Failed to open /proc/sys/net/ipv6/conf/sit0/accept_ra_rt_table: No such file or directory
I/ ( 0): debuggerd: Feb 1 2016 18:35:07
--------- beginning of system
I/Vold ( 84): Vold 2.1 (the revenge) firing up
I/lowmemorykiller( 82): Using in-kernel low memory killer interface
I/keystore( 94): SELinux: Keystore SELinux is disabled.
I/SurfaceFlinger( 85): SurfaceFlinger is starting
I/SurfaceFlinger( 85): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
F/libEGL ( 85): couldn't find an OpenGL ES implementation
--------- beginning of crash
F/libc ( 85): Fatal signal 6 (SIGABRT), code -6 in tid 85 (surfaceflinger)
I/DEBUG ( 89): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 89): Build fingerprint: 'unknown'
I/DEBUG ( 89): Revision: '10489921'
I/DEBUG ( 89): ABI: 'arm'
I/DEBUG ( 89): pid: 85, tid: 85, name: surfaceflinger >>> /system/bin/surfaceflinger <<<
I/DEBUG ( 89): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
I/DEBUG ( 89): Abort message: 'couldn't find an OpenGL ES implementation'
I/DEBUG ( 89): r0 00000000 r1 00000055 r2 00000006 r3 00000000
I/DEBUG ( 89): r4 b6f3ce38 r5 00000006 r6 00000002 r7 0000010c
I/DEBUG ( 89): r8 b6082000 r9 00000000 sl 00000000 fp be942b0c
I/DEBUG ( 89): ip 00000055 sp be942580 lr b6e99745 pc b6ebcbd8 cpsr 60000010
I/DEBUG ( 89):
I/DEBUG ( 89): backtrace:
I/DEBUG ( 89): #00 pc 00039bd8 /system/lib/libc.so (tgkill+12)
I/DEBUG ( 89): #01 pc 00016741 /system/lib/libc.so (pthread_kill+52)
I/DEBUG ( 89): #02 pc 0001735f /system/lib/libc.so (raise+10)
I/DEBUG ( 89): #03 pc 00013b39 /system/lib/libc.so (__libc_android_abort+36)
I/DEBUG ( 89): #04 pc 00012f18 /system/lib/libc.so (abort+4)
I/DEBUG ( 89): #05 pc 00007c51 /system/lib/libcutils.so (__android_log_assert+88)
I/DEBUG ( 89): #06 pc 000431bd /system/lib/libEGL.so
I/DEBUG ( 89): #07 pc 00010795 /system/lib/libEGL.so
I/DEBUG ( 89): #08 pc 00010f45 /system/lib/libEGL.so (eglGetDisplay+24)
I/DEBUG ( 89): #09 pc 00017815 /system/lib/libsurfaceflinger.so (android::SurfaceFlinger::init()+60)
I/DEBUG ( 89): #10 pc 00000af1 /system/bin/surfaceflinger
I/DEBUG ( 89): #11 pc 00012dc9 /system/lib/libc.so (__libc_init+44)
I/DEBUG ( 89): #12 pc 00000c08 /system/bin/surfaceflinger
I/DEBUG ( 89):
I/DEBUG ( 89): Tombstone written to: /data/tombstones/tombstone_04
I/Netd ( 179): Netd 1.0 starting
E/Netd ( 179): Failed to open /proc/sys/net/ipv6/conf/default/accept_ra_rt_table: No such file or directory
E/Netd ( 179): Failed to open /proc/sys/net/ipv6/conf/eth0/accept_ra_rt_table: No such file or directory
E/Netd ( 179): Failed to open /proc/sys/net/ipv6/conf/lo/accept_ra_rt_table: No such file or directory
E/Netd ( 179): Failed to open /proc/sys/net/ipv6/conf/sit0/accept_ra_rt_table: No such file or directory
I/SurfaceFlinger( 180): SurfaceFlinger is starting
I/SurfaceFlinger( 180): SurfaceFlinger's main thread ready to run. Initializing graphics H/W...
不断重复。我检查了 /lib/ 中的 libEGL.so、libGLESv1_CM.so、libGLESv2.so 和 /lib/egl/ 中的 libGLES_android.so。
为什么会出现这些错误以及如何解决?
错误最有可能发生是因为 surfaceflinger
进程跳入 一些 分配的内存,期望找到它计划使用的 OpenGL ES 实现/方法序号;这些方法不存在,也没有找到。引发了 abort signal
,这在调试日志 (SIGABRT) 中表示并且进程正常崩溃。
I/DEBUG ( 89): signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
I/DEBUG ( 89): Abort message: 'couldn't find an OpenGL ES implementation'
然而,OS 没有 surfaceflinger 就无法启动,因此它一次又一次地尝试并陷入死循环。找出错误地址,并尝试使用 addr2line
找到导致错误的文件,并尝试修复它...
那个+我给你的评论是我能做的最好的,不幸的是。