Failed to boot android on DragonBoard 845c

Hi team,
I have flashed the latest bootloader for aosp:
96boards/dragonboard845c/linaro/rescue/49/
And flasedh the latest aosp image to the device:
http://snapshots.linaro.org/96boards/dragonboard845c/linaro/aosp-master/340/

But it keeps reporting SufaceFlinger error and won’t boot up.
Full serial log and logcat can be found here.

01-01 00:00:24.616 307 307 I hwservicemanager: getTransport: Cannot find entry android.hardware.graphics.mapper@3.0::IMapper/default in either framework or device VINTF manifest.
01-01 00:00:24.616 439 439 D ComposerHal: failed to get mapper 3.0 service, falling back to mapper 2.0
01-01 00:00:24.615 0 0 I libprocessgroup: Successfully killed process cgroup uid 0 pid 473 in 0ms
01-01 00:00:24.621 457 457 F SurfaceFlinger: Missing internal display after registering composer callback.
--------- beginning of crash
01-01 00:00:24.621 457 457 F libc : Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 457 (surfaceflinger), pid 457 (surfaceflinger)
01-01 00:00:24.634 452 452 V APM_AudioPolicyManager: setOutputDevices() AF::createAudioPatch returned 0 patchHandle 12 num_sources 1 num_sinks 1
01-01 00:00:24.635 452 452 V APM_AudioPolicyManager: checkAndSetVolume cannot set volume group 4 volume with force use = 0 for comm
01-01 00:00:24.624 0 0 I init : processing action (apexd.status=ready && ro.product.cpu.abilist64=*) from (/system/etc/init/hw/init.rc:91)
01-01 00:00:24.636 0 0 I init : starting service ‘boringssl_self_test_apex64’…
01-01 00:00:24.639 452 486 I AudioFlinger: AudioFlinger’s thread 0xb400007147276040 tid=486 ready to run
01-01 00:00:24.640 452 486 W AudioFlinger: no wake lock to update, system not ready yet
01-01 00:00:24.650 488 488 I crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
01-01 00:00:24.651 421 421 I tombstoned: received crash request for pid 457
01-01 00:00:24.652 488 488 I crash_dump64: performing dump of process 457 (target tid = 457)
01-01 00:00:24.646 0 0 I init : SVC_EXEC service ‘boringssl_self_test_apex64’ pid 484 (uid 0 gid 0+0 context default) started; waiting…
01-01 00:00:24.656 488 488 F DEBUG : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
01-01 00:00:24.656 488 488 F DEBUG : Build fingerprint: ‘Android/db845c/db845c:S/AOSP.MASTER/6619536:userdebug/test-keys’
01-01 00:00:24.656 488 488 F DEBUG : Revision: ‘0’
01-01 00:00:24.656 488 488 F DEBUG : ABI: ‘arm64’
01-01 00:00:24.657 488 488 F DEBUG : Timestamp: 1970-01-01 00:00:24+0000
01-01 00:00:24.657 488 488 F DEBUG : pid: 457, tid: 457, name: surfaceflinger >>> /system/bin/surfaceflinger <<<
01-01 00:00:24.658 488 488 F DEBUG : uid: 1000
01-01 00:00:24.658 488 488 F DEBUG : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
01-01 00:00:24.658 488 488 F DEBUG : Abort message: ‘Missing internal display after registering composer callback.’
01-01 00:00:24.658 488 488 F DEBUG : x0 0000000000000000 x1 00000000000001c9 x2 0000000000000006 x3 0000007fe8d6fa70
01-01 00:00:24.658 488 488 F DEBUG : x4 fefeff2d6a626061 x5 fefeff2d6a626061 x6 fefeff2d6a626061 x7 7f7f7f7f7f7f7f7f
01-01 00:00:24.658 488 488 F DEBUG : x8 00000000000000f0 x9 0000007138788628 x10 ffffff80ffffffdf x11 0000000000000001
01-01 00:00:24.658 488 488 F DEBUG : x12 0000007fe8d6fa40 x13 000000000000003e x14 0000007fe8d6fc10 x15 0000000034155555
01-01 00:00:24.658 488 488 F DEBUG : x16 0000007138821c60 x17 00000071387ffe50 x18 000000713f858000 x19 00000000000000ac
01-01 00:00:24.658 488 488 F DEBUG : x20 00000000000001c9 x21 00000000000000b2 x22 00000000000001c9 x23 00000000ffffffff
01-01 00:00:24.658 488 488 F DEBUG : x24 0000000000000002 x25 0000000000000000 x26 0000000000000000 x27 0000000000000000
01-01 00:00:24.658 488 488 F DEBUG : x28 0000000000000000 x29 0000007fe8d6faf0
01-01 00:00:24.658 488 488 F DEBUG : lr 00000071387b2ffc sp 0000007fe8d6fa50 pc 00000071387b302c pst 0000000000000000
01-01 00:00:24.681 488 488 F DEBUG : backtrace:
01-01 00:00:24.681 488 488 F DEBUG : #00 pc 000000000004b02c /apex/com.android.runtime/lib64/bionic/libc.so (abort+180) (BuildId: fc04a5ceb624fbfed33cabb3345bffc1)
01-01 00:00:24.681 488 488 F DEBUG : #01 pc 0000000000006324 /system/lib64/liblog.so (__android_log_default_aborter+12) (BuildId: 03135c72fe1e1bb0c1f18ca7f7ba3d23)
01-01 00:00:24.681 488 488 F DEBUG : #02 pc 0000000000006e60 /system/lib64/liblog.so (__android_log_assert+312) (BuildId: 03135c72fe1e1bb0c1f18ca7f7ba3d23)
01-01 00:00:24.681 488 488 F DEBUG : #03 pc 00000000000d11d8 /system/lib64/libsurfaceflinger.so (android::SurfaceFlinger::init()+1248) (BuildId: dac6922370e6abb961d8360aee76cf87)
01-01 00:00:24.681 488 488 F DEBUG : #04 pc 00000000000021a8 /system/bin/surfaceflinger (main+352) (BuildId: fb6edc5a18b2c241805ad15480197e00)
01-01 00:00:24.682 488 488 F DEBUG : #05 pc 00000000000460a4 /apex/com.android.runtime/lib64/bionic/libc.so (__libc_init+108) (BuildId: fc04a5ceb624fbfed33cabb3345bffc1)
01-01 00:00:24.674 0 0 I init : Service ‘boringssl_self_test_apex64’ (pid 484) exited with status 0 waiting took 0.029000 seconds
01-01 00:00:24.684 0 0 I init : Sending signal 9 to service ‘boringssl_self_test_apex64’ (pid 484) process group…
01-01 00:00:24.696 427 427 D zygote64: Time zone APEX ICU file found: /apex/com.android.tzdata/etc/icu/icu_tzdata.dat
01-01 00:00:24.696 428 428 D zygote : Time zone APEX ICU file found: /apex/com.android.tzdata/etc/icu/icu_tzdata.dat
01-01 00:00:24.694 0 0 I libprocessgroup: Successfully killed process cgroup uid 0 pid 484 in 0ms
01-01 00:00:24.703 0 0 I init : processing action (sys.init.perf_lsm_hooks=1) from (/system/etc/init/hw/init.rc:1003)

Do you have a monitor plugged in to it?

Connected the device with a monitor through HDMI, and the monitor seem get no signal all the time.

were you able to solve this issue?

i am running into the same problem here trying to boot my custom build as well as various snapshots, like 366 (current latest), 330, 300 and 278 (which is from 20th April 2020). my setup and custom builds work well on hikey960 and beagleboard x15.

i noticed that the surfaceflinger trace usually does not occur while i prevent the monitor from going into sleep mode. if the display stays awake, the system still does not get displayed but i can see other errors than surfaceflinger in logcat. for example a bunch of processes like apexd get killed due to reasons… i uploaded the first startup trace after flashing 366 snapshot. its available for 30 days: http://ge.tt/1KmW4h53

sometimes a logo is shown right after powering the board, sometimes some frame of the bootanimation. Once i saw the launcher for a very short time (less than a second). But in most cases the display remains black or is complaining periodically about missing signals.

i did not try another display yet. maybe it is some driver thing due to signal processing or something. this will be the next thing to test. i will also test to remove the rb3 kit, to run on a plain dragonboard. dont know if this will make a difference.

finally i solved the issue. all i had to do is to compile the kernel on my own as described by google. seems like the precompiled kernel is broken in some way.

I also compile the kernel on my own, but it does not work.

you mean the issue still occurs? or does compiling the kernel not work?

Just tried to unplug and plug HDMI, finally get to the home screen. It works now.
Thank you bergbiber.

All have to do is build your own android images and flash the images to the device.
1 kernel: use android-mainline
2 android: use aosp master

1 Like

I hava a one question…

Success to boot Android gki + gsi with HDMI
I want to know that how can I get it to work without HDMI ?

AFAIR, Android requests display to fully boot all the services (surfaceflinger…). So you may want to customize the init flow, or either enabling VFB driver in the kernel (e.g. 3575 – hikey: Android boot crashes without HDMI on 4.14) or use dummy HDMI dongle (e.g. https://www.amazon.co.uk/FREEGENE-Displayport-Emulator-Headless-4096x2160/dp/B0747HC25C)

I apply this patch on android gki (5.4) (3575 – hikey: Android boot crashes without HDMI on 4.14)
add CONFIG_FB_VIRTUAL=y
add bootargs: video=vfb:640x480-32@30 vfb.videomemorysize=3145728
But failed to boot android because same reason ( surfaceflinger init fail )
Is there anything I need to boot android without hdmi in kernel 5.4?
Thanks