Hikey android won't boot


#1

I downloaded Android Pie and built it without any changes. At the time, android worked fine.
But, after compiling hikey kernel and built android again, and then boot problem happened.
No splash image and init process continuously failed because of surfaceflinger crash

I downloaded android pie using the command below.
repo init -u https://android.googlesource.com/platform/manifest -b android-9.0.0_r3

[ kerne log ]

[ 13.548081] init: starting service ‘zygote’…
[ 13.556334] init: starting service ‘zygote_secondary’…
[ 13.563138] init: Created socket ‘/dev/socket/zygote’, mode 660, user 0, group 1000
[ 13.574769] init: starting service ‘netd’…
[ 13.576158] init: Created socket ‘/dev/socket/zygote_secondary’, mode 660, user 0, group 1000
[ 13.605054] init: starting service ‘surfaceflinger’…
[ 13.608592] init: Created socket ‘/dev/socket/netd’, mode 660, user 0, group 1000
[ 13.609585] init: Created socket ‘/dev/socket/dnsproxyd’, mode 660, user 0, group 3003
[ 13.610451] init: Created socket ‘/dev/socket/mdns’, mode 660, user 0, group 1000
[ 13.611421] init: Created socket ‘/dev/socket/fwmarkd’, mode 660, user 0, group 3003
[ 13.678507] type=1400 audit(3761.243:23): avc: denied { module_request } for pid=2073 comm=“netd” kmod=“net-pf-16-proto-5” scontext=u:r:netd:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
[ 13.696357] type=1400 audit(3766.095:24): avc: denied { module_request } for pid=2218 comm=“netd” kmod=“netdev-dummy0” scontext=u:r:netd:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
[ 13.713664] type=1400 audit(3766.095:24): avc: denied { module_request } for pid=2218 comm=“netd” kmod=“netdev-dummy0” scontext=u:r:netd:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
[ 13.723380] hisi_thermal fff30000.tsensor: THERMAL ALARM: 65780 > 65000
[ 13.737613] type=1400 audit(3766.095:25): avc: denied { module_request } for pid=2218 comm=“netd” kmod=“net-pf-16-proto-5” scontext=u:r:netd:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
[ 13.828747] logd: logdr: UID=1000 GID=1003 PID=2255 n tail=50 logMask=8 pid=2220 start=0ns timeout=0ns
[ 13.839924] logd: logdr: UID=1000 GID=1003 PID=2255 n tail=50 logMask=1 pid=2220 start=0ns timeout=0ns
[ 13.859892] hisi_thermal fff30000.tsensor: THERMAL ALARM stopped: 61065 < 65000
[ 13.864255] logd: logdr: UID=1000 GID=1003 PID=2255 n tail=0 logMask=8 pid=2220 start=0ns timeout=0ns
[ 13.877836] logd: logdr: UID=1000 GID=1003 PID=2255 n tail=0 logMask=1 pid=2220 start=0ns timeout=0ns
[ 13.998370] healthd: battery none chg=
[ 15.767315] [E/hisi_pd] pd_dpm_handle_pe_event:!!!,event=6,+++
[ 15.773358] [I/hisi_pd] pd_dpm_handle_pe_event unkonw event
[ 15.779666] [E/hisi_pd] pd_dpm_handle_pe_event:!!!,event=5,+++
[ 15.785670] Pending event is same --> ignore this event 2
[ 15.791354] [E/hisi_pd] pd_dpm_handle_pe_event:!!!,event=3,+++
[ 18.560231] init: starting service ‘zygote’…
[ 18.574448] init: Created socket ‘/dev/socket/zygote’, mode 660, user 0, group 1000
[ 18.583208] init: starting service ‘zygote_secondary’…
[ 18.590192] init: Created socket ‘/dev/socket/zygote_secondary’, mode 660, user 0, group 1000
[ 18.605828] init: starting service ‘netd’…
[ 18.626229] init: Created socket ‘/dev/socket/netd’, mode 660, user 0, group 1000
[ 18.634274] init: Created socket ‘/dev/socket/dnsproxyd’, mode 660, user 0, group 3003
[ 18.642666] init: Created socket ‘/dev/socket/mdns’, mode 660, user 0, group 1000
[ 18.643723] init: starting service ‘surfaceflinger’…
[ 18.647135] init: starting service ‘wificond’…
[ 18.712722] type=1400 audit(3766.095:25): avc: denied { module_request } for pid=2218 comm=“netd” kmod=“net-pf-16-proto-5” scontext=u:r:netd:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
[ 18.730448] type=1400 audit(3771.131:26): avc: denied { module_request } for pid=2291 comm=“netd” kmod=“netdev-dummy0” scontext=u:r:netd:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
[ 18.747835] type=1400 audit(3771.131:26): avc: denied { module_request } for pid=2291 comm=“netd” kmod=“netdev-dummy0” scontext=u:r:netd:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
[ 18.758059] hisi_thermal fff30000.tsensor: THERMAL ALARM: 66190 > 65000
[ 18.771771] type=1400 audit(3771.131:27): avc: denied { module_request } for pid=2291 comm=“netd” kmod=“net-pf-16-proto-5” scontext=u:r:netd:s0 tcontext=u:r:kernel:s0 tclass=system permissive=0
[ 18.833205] logd: logdr: UID=1000 GID=1003 PID=2322 n tail=50 logMask=8 pid=2292 start=0ns timeout=0ns
[ 18.843857] logd: logdr: UID=1000 GID=1003 PID=2322 n tail=50 logMask=1 pid=2292 start=0ns timeout=0ns
[ 18.866965] logd: logdr: UID=1000 GID=1003 PID=2322 n tail=0 logMask=8 pid=2292 start=0ns timeout=0ns
[ 18.876855] logd: logdr: UID=1000 GID=1003 PID=2322 n tail=0 logMask=1 pid=2292 start=0ns timeout=0ns
[ 18.886030] hisi_thermal fff30000.tsensor: THERMAL ALARM stopped: 60655 < 65000
[ 20.499323] [I/hisi_pd] PE:TYPE-C Only Charger!
[ 20.504276] [E/hisi_pd] pd_dpm_handle_pe_event:!!!,event=3,+++
[ 20.510338] [I/hisi_pd] pd_dpm_report_pd_sink_vbus : Sink 5000 mV, 500 mA
[ 20.517306] [E/hisi_pd] pd_dpm_vbus_notifier_call: pd_dpm_vbus_notifier_call!!!,++++
[ 20.525278] [E/hisi_pd] pd_dpm_handle_pe_event:!!!,event=8,+++

130|console:/ $

[ logcat ]

01-01 01:02:41.524 2191 2191 E patchoat: Attempted image: /system/framework/boot-framework.art
01-01 01:02:41.526 2199 2199 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
01-01 01:02:41.527 2111 2111 I /system/bin/tombstoned: received crash request for pid 2085
01-01 01:02:41.527 2199 2199 I crash_dump64: performing dump of process 2085 (target tid = 2085)
01-01 01:02:41.528 2187 2187 E patchoat: Dex file fallback disabled, cannot continue without image.
01-01 01:02:41.528 2187 2187 E patchoat: Unable to initialize runtime
01-01 01:02:41.528 2199 2199 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-01 01:02:41.528 2199 2199 F DEBUG : Build fingerprint: ‘Android/hikey960/hikey960:9/PPR1.180610.011/jole09051609:userdebug/test-keys’
01-01 01:02:41.528 2199 2199 F DEBUG : Revision: ‘0’
01-01 01:02:41.528 2199 2199 F DEBUG : ABI: ‘arm64’
01-01 01:02:41.528 2199 2199 F DEBUG : pid: 2085, tid: 2085, name: surfaceflinger >>> /system/bin/surfaceflinger <<<
01-01 01:02:41.528 2199 2199 F DEBUG : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0
01-01 01:02:41.528 2199 2199 F DEBUG : Cause: null pointer dereference
01-01 01:02:41.528 2199 2199 F DEBUG : x0 0000000000000000 x1 0000000000000000 x2 0000000000000000 x3 0000007000048c10
01-01 01:02:41.528 2199 2199 F DEBUG : x4 0000000000000000 x5 0000000000000000 x6 0000000000000001 x7 0000000000000030
01-01 01:02:41.528 2199 2199 F DEBUG : x8 0101010101010101 x9 dd15d73fed0a8d95 x10 000000005f647079 x11 0000000000000000
01-01 01:02:41.528 2199 2199 F DEBUG : x12 000000700000d838 x13 0000000000000018 x14 0000000000000005 x15 ffffffffffffffff
01-01 01:02:41.528 2199 2199 F DEBUG : x16 00000070828f2e58 x17 00000070826612d0 x18 0000007fe6b6e0ea x19 0000007000048c10
01-01 01:02:41.528 2199 2199 F DEBUG : x20 0000000000000000 x21 0000000000000000 x22 0000007082dc25e0 x23 0000000000000000
01-01 01:02:41.528 2199 2199 F DEBUG : x24 0000000000000001 x25 0000007fe6b6f330 x26 00000000000f4240 x27 0000000000000000
01-01 01:02:41.528 2199 2199 F DEBUG : x28 0000007fe6b6f2c0 x29 0000007fe6b6f120
01-01 01:02:41.528 2199 2199 F DEBUG : sp 0000007fe6b6f100 lr 00000070828d0048 pc 00000070826612e0
01-01 01:02:41.530 2074 2074 W zygote64: Failed execv(/system/bin/patchoat --input-image-location=/system/framework/boot.art --output-image-directory=/data/dalvik-cache/arm64 --instruction-set=arm64 --verify) because non-0 exit status Preemptively pruning the dalvik cache.
01-01 01:02:41.530 2074 2074 I zygote64: Pruning dalvik-cache since we are relocating an image and will need to recompile
01-01 01:02:41.530 2074 2074 I zygote64: RelocateImage: /system/bin/patchoat --input-image-location=/system/framework/boot.art --output-image-directory=/data/dalvik-cache/arm64 --instruction-set=arm64 --base-offset-delta=12378112
01-01 01:02:41.534 2171 2192 W StreamHAL: Error from HAL stream in function get_presentation_position: Operation not permitted
01-01 01:02:41.535 2199 2199 F DEBUG :
01-01 01:02:41.535 2199 2199 F DEBUG : backtrace:
01-01 01:02:41.535 2199 2199 F DEBUG : #00 pc 000000000001e2e0 /system/lib64/libc.so (strlen+16)
01-01 01:02:41.535 2199 2199 F DEBUG : #01 pc 000000000000d044 /system/lib64/libutils.so (android::String8::setTo(char const*)+28)
01-01 01:02:41.535 2199 2199 F DEBUG : #02 pc 000000000009c764 /system/lib64/libsurfaceflinger.so (android::GLExtensions::initWithEGLStrings(char const*, char const*)+44)
01-01 01:02:41.535 2199 2199 F DEBUG : #03 pc 000000000009f48c /system/lib64/libsurfaceflinger.so (android::RE::impl::RenderEngine::create(int, unsigned int)+132)
01-01 01:02:41.535 2199 2199 F DEBUG : #04 pc 00000000000a4658 /system/lib64/libsurfaceflinger.so (android::SurfaceFlinger::init()+816)
01-01 01:02:41.535 2199 2199 F DEBUG : #05 pc 0000000000002f48 /system/bin/surfaceflinger (main+320)
01-01 01:02:41.535 2199 2199 F DEBUG : #06 pc 00000000000ae6e8 /system/lib64/libc.so (__libc_init+88)
01-01 01:02:41.535 2191 2191 E patchoat: Dex file fallback disabled, cannot continue without image.
01-01 01:02:41.536 2191 2191 E patchoat: Unable to initialize runtime
01-01 01:02:41.541 2075 2075 W zygote : Failed execv(/system/bin/patchoat --input-image-location=/system/framework/boot.art --output-image-directory=/data/dalvik-cache/arm --instruction-set=arm --verify) because non-0 exit status Preemptively pruning the dalvik cache.
01-01 01:02:41.542 2075 2075 I zygote : Pruning dalvik-cache since we are relocating an image and will need to recompile
01-01 01:02:41.542 2075 2075 I zygote : RelocateImage: /system/bin/patchoat --input-image-location=/system/framework/boot.art --output-image-directory=/data/dalvik-cache/arm --instruction-set=arm --base-offset-delta=-5435392
01-01 01:02:41.544 2171 2192 W StreamHAL: Error from HAL stream in function get_presentation_position: Operation not permitted
01-01 01:02:41.586 2171 2192 I chatty : uid=1041(audioserver) /system/bin/audioserver identical 3 lines
01-01 01:02:41.596 2171 2192 W StreamHAL: Error from HAL stream in function get_presentation_position: Operation not permitted
01-01 01:02:41.598 2199 2199 E crash_dump64: unable to connect to activity manager: No such file or directory
01-01 01:02:41.599 2111 2111 E /system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_00
01-01 01:02:41.607 2171 2192 W StreamHAL: Error from HAL stream in function get_presentation_position: Operation not permitted
01-01 01:02:41.617 2171 2192 W StreamHAL: Error from HAL stream in function get_presentation_position: Operation not permitted
01-01 01:02:41.634 2012 2012 I ServiceManager: service ‘media.log’ died
01-01 01:02:41.634 2012 2012 I ServiceManager: service ‘media.audio_flinger’ died
01-01 01:02:41.645 2012 2012 I ServiceManager: service ‘media.player’ died
01-01 01:02:41.645 2012 2012 I ServiceManager: service ‘media.resource_manager’ died
01-01 01:02:41.654 2012 2012 I ServiceManager: service ‘netd’ died
01-01 01:02:41.665 2012 2012 I ServiceManager: service ‘wificond’ died
01-01 01:02:42.284 2105 2150 I ServiceManager: Waiting for service package_native…
01-01 01:02:44.291 2105 2150 I chatty : uid=0(root) /system/bin/storaged identical 2 lines
01-01 01:02:45.295 2105 2150 I ServiceManager: Waiting for service package_native…
01-01 01:02:46.062 2218 2218 I Netd : Netd 1.0 starting


#2

Did you update the bootloaders from https://android.googlesource.com/device/linaro/hikey/+/master/installer/hikey960/ ?

Or just fastboot the main images?


#3

hi, i have the same issue when build android-9.0.0_r3 , the root case is the GPU so is not match with GPU Driver. as next log
01-01 00:02:59.194 E/mali ( 3433): ERROR: The DDK is not compatible with any of the Mali GPUs on the system.
01-01 00:02:59.194 E/mali ( 3433): The DDK was built for 0x60000000 r0p0 status range [0…15], but none of the GPUs matched:
01-01 00:02:59.194 W/libEGL ( 3433): eglInitialize(0x762c883700) failed (EGL_NOT_INITIALIZED)
Kernel log为
[ 1.757009] mali e82c0000.mali: Continuing without Mali regulator control
[ 1.757447] mali e82c0000.mali: GPU identified as 0x0 arch 6.0.10 r0p0 status 2
[ 1.757938] mali e82c0000.mali: Using configured power model mali-simple-power-model, and fallback mali-simple-power-model
[ 1.758253] mali e82c0000.mali: Probed as mali0

it seems huawei have made some customiztion to GPU kernel driver, then make GPU so in Android can not work.

i meet the same issue when build android-8.1.0_r15,
use the old android-hikey-linaro-4.4-4.4.119-d6eecf64049ed7e5ee87be9e7cfa309ddee1cc5e can fix this issue.
but android-9.0.0_r3 must use android-hikey-linaro-4.9

next commit like talk about this issue
commit c2991cc6c8ac249f2ce16a87b3794d9ef00b47d0
Author: Shihui Zhao zhaoshihui3@huawei.com
Date: Tue Mar 7 20:15:27 2017 +0800

mali: Remove HiSi specific changes

HiSi had added changes to the mali driver
to match changes in the binary library they
had made, but those changes were requested to
be reverted so the prisinte mali libraries can
be used.

#4

accroding next commit, new mali so requreid on Android
android-hikey-linaro-4.4
commit d444e0315cd3ad2895850584fd49b3a68a0c01a3
Author: John Stultz john.stultz@linaro.org
Date: Thu Feb 22 20:40:59 2018 -0800

MALI: Sync with r9p0 kernel driver release

Sync with the r9p0 mali kernel driver from:
https://developer.arm.com/products/software/mali-drivers/bifrost-kernel

NOTE: This is not to be merged until the r9p0 mali binaries
and gralloc changes are lined up, as this update breaks
compatibility with the existing r4p0 binaries.

Change-Id: I677b5d2573d03bd855d98f0509d4487a6335961b
Signed-off-by: John Stultz <john.stultz@linaro.org>

android-hikey-linaro-4.9
commit fffc3e7d1cc71eff65ee7fbca9a65e7d8fbcb0fb
Author: John Stultz john.stultz@linaro.org
Date: Thu Feb 22 16:04:47 2018 -0800

MALI: Sync with r9p0 kernel driver release

Sync with the r9p0 mali kernel driver from:
https://developer.arm.com/products/software/mali-drivers/bifrost-kernel

NOTE: This needs to land together with teh r9p0 mali binaries and
gralloc updates, as the kernel changes breaks compatibility
with the existing r4p0 binaries.

Change-Id: Ia191b4c52859e9301bf3da936f9fb0b7310b202c
Signed-off-by: John Stultz <john.stultz@linaro.org>

#5

I am experiencing the exact same issue as you @JKL. Had been working with Android P for months, but now it doesn’t work any longer. My kernel is patched to support custom MIPI display and touchscreen, but apparently that is not causing the problems.

@doitright I have also flashed the bootloader. Doesn’t make a difference.


#6

i fix this issue by restore ‘drivers/gpu/arm_gpu/’ to old version:
as next:

git checkout fffc3e7d1cc71eff65ee7fbca9a65e7d8fbcb0fb^ drivers/gpu/arm_gpu/
carl@carl-OptiPlex-7050:/android/aosp-ustc/carl_hikey960/android-9.0.0_r3/hikey-linaro$ git diff
diff --git a/arch/arm64/configs/hikey960_defconfig b/arch/arm64/configs/hikey960_defconfig
index 76bddd79d0fc…020e0bbfc2e1 100644
— a/arch/arm64/configs/hikey960_defconfig
+++ b/arch/arm64/configs/hikey960_defconfig
@@ -510,8 +510,9 @@ CONFIG_DEVFREQ_GOV_USERSPACE=y
CONFIG_HISI_DDR_DEVFREQ=y
CONFIG_EXTCON=y
CONFIG_MALI_MIDGARD=y
-CONFIG_MALI_PLATFORM_NAME=“hisilicon”
CONFIG_MALI_EXPERT=y
+CONFIG_MALI_PLATFORM_FAKE=y
+CONFIG_MALI_PLATFORM_HISILICON=y
CONFIG_PHY_HI6220_USB=y
CONFIG_PHY_XGENE=y
CONFIG_ANDROID=y


#7

Thanks Carl: you saved my day!


#8

Thank you very much for your advice, Carl.