How can I bring up Dragonboard 845c with Android Automotive 11

How can I bring up Dragonboard 845c with Android Automotive 11 ?
Thank you.

Part 1:
https://source.android.com/setup/build/devices

Part 2:

What you want to do is look at the way I structured the automotive parts in my repository (part 2) for db820c and apply them to the device build tree for the db845c (part 1).

@doitright Thank you for your help.

The part 2 code has been integrated in $AOSP_ROOT/device/linaro/dragonboard
And a new item “db845c_car-userdebug” has been created in “lunch”

source build/envsetupl.sh
lunch db845c_car-userdebug
m -j8
The error occurred:
[100% 2/2] out/soong/.bootstrap/bin/soong_build out/soong/build.ninja
FAILED: out/soong/build.ninja
out/soong/.bootstrap/bin/soong_build -t -l out/.module_paths/Android.bp.list -b out/soong -n out -d out/soong/build.ninja.d -globFile out/soong/.bootstrap/build-globs.ninja -o out/soong/build.ninja Android.bp
error: device/linaro/dragonboard/automotive/camd/Android.bp:1:1: “camd” depends on undefined module “libgps_static”
15:29:18 soong bootstrap failed with: exit status 1

For the static library: libgps_static, it can’t be found in the project.
Shall I install some package for it ?

You should actually go through what you added and adjust for things like that. Either remove camd from the makefile, or add the GPSd project.

My suggestion is to remove things you won’t be needing.

@doitright Now it works, thank you.

By the way, shall I set the envrionment var : “BOARD_IS_AUTOMOTIVE : = true” ?
After setting that, the below error occurred:

----------------------------- error ------------------------------------
external/wpa_supplicant_8/hostapd/Android.mk: error: “hostapd (EXECUTABLES android-arm64) missing lib_driver_cmd_qcwcn (STATIC_LIBRARIES android-arm64)”
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
external/wpa_supplicant_8/hostapd/Android.mk: error: “hostapd_nohidl (EXECUTABLES android-arm64) missing lib_driver_cmd_qcwcn (STATIC_LIBRARIES android-arm64)”
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
frameworks/opt/net/wifi/libwifi_hal/Android.mk: error: “libwifi-hal (SHARED_LIBRARIES android-arm64) missing libwifi-hal-qcom (STATIC_LIBRARIES android-arm64)”
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
frameworks/opt/net/wifi/libwifi_hal/Android.mk: error: “libwifi-hal (SHARED_LIBRARIES android-arm64) missing libcld80211 (SHARED_LIBRARIES android-arm64)”
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
frameworks/opt/net/wifi/libwifi_hal/Android.mk: error: “libwifi-hal (SHARED_LIBRARIES android-arm) missing libwifi-hal-qcom (STATIC_LIBRARIES android-arm)”
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
frameworks/opt/net/wifi/libwifi_hal/Android.mk: error: “libwifi-hal (SHARED_LIBRARIES android-arm) missing libcld80211 (SHARED_LIBRARIES android-arm)”
You can set ALLOW_MISSING_DEPENDENCIES=true in your environment if this is intentional, but that may defer real problems until later in the build.
build/make/core/main.mk:1088: error: exiting from previous errors.
13:28:28 ckati failed with: exit status 1

Not unless you know what that flag does and know that you need it. As far as I can tell, it’s just something to trick some blobs for production PHONES into acting like a car.

Hi @doitright ,

I also have same requirements for android automotive for Dragonboard 845C.

I have cloneed source from https://www.96boards.org/documentation/consumer/dragonboard/guides/aosp/ but not able to find car combo in lunch menu.

Meanwhile i found this question thread here,so i came here to ask that by performing above steps will i be able to use Automotive car APIs ?

Is it stable car build for 845C ?

Thanks

Read the second post in this thread.

the repos posted at second, may be obsoleted. Do not have the car build for 845c
41. db820c-userdebug
42. db820c_car-userdebug
43. db845c-userdebug

I think this is expected.

I understood the second post in this thread to be sharing an example for DB820C which demonstrates what you need to do to implement your own car build for DB845.

Hmm.
yes, it can be taken as an example…
But there are many dependencies & build errors in 820c.
So, really not in a concrete position to consider HiKey960 / 820c / 845c board for AOSP Automotive.

Did you consider following the instructions?

Of course, THIS THREAD is actually about DB845C, therefore building for 820c is pointless for you – it won’t work on your hardware.

Hi Hari,

You can make the db845c_car.mk based on db845c.mk
For the automotive components , please check the other car combo as reference

For example:
aosp_car_arm64-userdebug

Thanks; with this link, I could able to build.
Initially, I have copied the device/linaro/dragonboard… manually. That was the mistake.

@doitright, I got the 820c board from Arrow, now I would like to bringup this 820c board with the AOSP-11 build image. Followed the steps mentioned here AOSP-Automotive / pinned manifests . Image is built and flashed the image through Fastboot. Unfortunately, I am not able to get it up. only I can see a black screen. I could not able to collect the serial logs. Is there any place is it documented ? Appreciate your help.

Use UART-1 on the low speed header: https://www.96boards.org/pinout/

I’ll remind you that it is 1.8v logic, so your typical leftover parts from microcontroller projects won’t work without a level shifter. Several mezzanine boards provide a USB converter for it.

The boot logs really are required in order to find out what is going wrong. Possibly something simple like not putting the kmods in the right place for them to be picked up by the build process. msm.ko for example, is needed in order to light up the display.

Hi, Is it mandatory to use https://www.96boards.org/product/uartserial/ mezzanine, I have the one which was used for RaspberryPi 4 board, that is not working with db820c The one which is mentioned in 96board is out of stock. Please suggest me alternative

You can use whatever you like, but it has to be 1.8v. Raspberry pi is 3.3v. Parts for that won’t work. You need 1.8 or a level shifter.

There are several mezzanine boards that have a USB-UART bridge (not just the one you linked to), or you can get any other UART device that supports 1.8v, like this; https://www.amazon.ca/Switchable-Dubugging-Development-Adapter-Connector/dp/B08D7MVVF3