How to build Android O for Dragonboard?

Has someone built a good copy of Android O, if not, How do I build it? I read the PDF on how to build android for this board but it wants me to go to a github to download a particular board configuration which I actually dont know what thats about. Maybe drivers??

Anyways, Reason why I am asking is Android O hit my phone today, and it fixed a critical ExoPlayer issue I was having for a long time, being able to lay 2 copies of ExoPlayer on top of each other “PIP” Style would never work. Soon as I heard about O and PIP support, I decided to re-run my App and what to do you know, its fixed!

So, now i would like to get O running on my Dragonboard. Thoughts? Thanks!

…crickets chirping…

I’m afraid this is not a building exercise… its a porting exercise.

Currently the only trees that are public are based on Android M. Whilst you could try and merge in all the infrastructure changes for Android O, you would likely find that its a very big job. There’s also a good chance that by the time you get anyway Qualcomm may have released a newer Android build and you’d have to start again.

Rob Herring does maintain a repo for db410c to build aosp master branch, rn there are some issues with mesa3d, afaik they are patched but still require to be merged.
but I still wouldn’t expect it to run aosp like it runs on the hikey boards.

There must be a disconnect on my understanding about this or something. If building android for this board is a problem, then why do I see Dragonboard 410c documents plastered all over the internet that show step by step on how to build android from the source on these boards? The documents are older and only show 5.X or 6.X but whats the difference between that and 8.0?

I dont get it…

The problem is essentially one of version skew… there will be (individually small) changes in the Android 8.0 code base that causes problems when combined with board support for Android 6.0 and result in further (individually small) changes to the board support code. The problem is not usually making the changes… it is finding out that you need to make them (and where).

For sure these problems can be overcome by someone motivated enough. Many of the LineageOS ports stand as testament to this (since many bring later versions of Android to phones that do not officially support them… in fact the phone in my pocket right now is an example of this).

So taking the Qualcomm Android release and updating it to Andoird O it is likely to be a big job… although not so large that a single person could not undertake it (again… there’s lots of proof of that in the LineageOS ecosystem).

The alternative suggested by @ric96 might work better for you, which is to experiment with Rob Herring’s generic_device prototypes. These already support the latest AOSP and IIRC do so by exploiting mostly upstream code for DB410C (so it shares little or no board support with the Qualcomm Android 6.0 release). This reduces problems of version skew but I’m not sure as much of the hardware is enabled in these builds.

I did follow this guide
However ADB doesn’t recognized board after booting.
There was only booting log when connect board to HDMI screen.
Surfaceflinger and hwcomposer services are created and killed continuously.
Do I need to modify anything to make ADB recognizes board and Android system UI show on HDMI screen?

I expect that, the guide is based on work done by Rob Herring which uses the mesa driver and it won’t work properly with android oreo 8.0

Lineage OS seems to have a few early builds Oreo builds for Yureka devices. These devices are based on the MSM8939/MSM8916 – which are very close to the 410c. These should provide a good starting point too… But it will be considerable effort to port things.