Android Automotive

@doitright you did not answer me.

If youā€™re going to share it with me, it is with the intention of making it public, so then couldnā€™t you just make the repository public or copy the code into a public repository?

Thank you.

Now if I understand it correctly, this is an executable that when run, takes over the display and shows the camera. That correct?

There is not any integration with the car hal / evs for launching it automatically?

Iā€™ve mirrored the project to here;

1 Like

Ok :slight_smile:

Yes, for the moment, itā€™s an independent binary that crate his own surface and display a camera from /Dev/video0 without the evs HAL. Gralloc has some problems and itā€™s a bit hard to fix.

Did you align the device with the last Google master commit ?
I would like to do it, I noticed they upgraded from Android P to Android Q. And itā€™s not building now with error after ~33% (duplicate attribute hal_vehicle sepolicy_neverallow)

Do you have any idea of how can I fix ?

Error here :
[ 33% 27992/83890] build out/target/product/hikey960/obj/ETC/sepolicy_neverallows_intermediates/reqd_policy_mask.cil
out/host/linux-x86/bin/checkpolicy: loading policy configuration from out/target/product/hikey960/obj/ETC/sepolicy_neverallows_intermediates/reqd_policy_mask.conf
out/host/linux-x86/bin/checkpolicy: policy configuration loaded
out/host/linux-x86/bin/checkpolicy: writing CIL to out/target/product/hikey960/obj/ETC/sepolicy_neverallows_intermediates/reqd_policy_mask.cil
[ 33% 27997/83890] build out/target/product/hikey960/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows
FAILED: out/target/product/hikey960/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows
/bin/bash -c ā€œ(rm -f out/target/product/hikey960/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows ) && (ASAN_OPTIONS=detect_leaks=0 out/host/linux-x86/bin/checkpolicy -M -c 30 -o out/target/product/hikey960/obj/ETC/sepolicy_neverallows_intermediates/sepolicy_neverallows out/target/product/hikey960/obj/ETC/sepolicy_neverallows_intermediates/policy.conf )ā€
packages/services/Car/car_product/sepolicy/attributes:3:ERROR ā€˜Duplicate declaration of typeā€™ at token ā€˜;ā€™ on line 5496:
attribute hal_vehicle;
# HALs
checkpolicy: error(s) encountered while parsing configuration

#EDIT
Fixed by removing commenting those 2 lines at the end of hikey960_car.mk
BOARD_SEPOLICY_DIRS += \ #device/generic/car/common/sepolicy \ #packages/services/Car/car_product/sepolicy

Hi @doitright:
I downloaded the Linaro prebuilt factory Android images - hikey960-linaro-2018.07.18-factory-75fd8631.zip and seeing the same issue! Basically it is not scanning any mobile hotspots (tried with multiple redmi phones and an iphone). Also it is not connecting to my router configured with WPA security. Anything else to try?

Itā€™s not really p or q. Itā€™s really still o.

I have not updated master. Still sorting through new hardware bringup.

If they migrated the car sepolicy into the main without deleting the original, that could account for duplication errors. But I havenā€™t looked at it yet. Make sure you arenā€™t disabling needed policy.

Since your issue is clearly independent of this topic, I suggest you start a new thread about it to draw more eyes. I donā€™t know what else to suggest to you. Sorry.

Okay, will do that. Thanks a lot for your suggestions.

So, it means that Android Automotive we currently have is still based on O ?
The PLATFORM_VERSION_CODENAME=P and the PLATFORM_VERSION=P are misleading then.

That what happened, everything have been migrated to the system/sepolicy.

There is more than O, but its not even remotely close to P.
And it isnā€™t really misleading, because it is master branch. That tag that says O, P, Q, just means that this is the likely branch where feature contributions will end up.

I have some issues after 80% build when he executes javadocā€¦

//TRACE
There is insufficient memory for the Java Runtime Environment to continue.
//END TRACE

I checked the current settings of my heap size with java -XshowSettings:vm
Output
VM settings:
Max. Heap Size (Estimated): 3.89G
Using VM: OpenJDK 64-Bit Server VM
Iā€™m not getting why I have this errorā€¦ I have 16g RAM, i7 8 Core

Indeed my RAM is full when the build is using javadoc, then it stops.
Using java -Xms256m -Xmx15g not doing anything.

#EDIT
My faultā€¦ Using -j32 I decreased -j4, ok nowā€¦

#EDIT 2
I noticed that they released the Kernel 4.14, do you think we can use it for hikey ?
I had this problem before on bootā€¦
init: starting service 'zygote'...
init: Created socket '/dev/socket/zygote', mode 660, user 0, group 1000
init: starting service 'zygote_secondary'...
init: Created socket '/dev/socket/zygote_secondary', mode 660, user 0, group 1000
init: starting service 'audioserver'...
init: starting service 'cameraserver'...
init: starting service 'media'...
init: starting service 'netd'...
init: starting service 'surfaceflinger'...
init: Created socket '/dev/socket/netd', mode 660, user 0, group 1000
logd: logdr: UID=1000 GID=1003 PID=3566 n tail=50 logMask=8 pid=3523 start=0ns timeout=0ns
logd: logdr: UID=1000 GID=1003 PID=3566 n tail=50 logMask=1 pid=3523 start=0ns timeout=0ns
logd: logdr: UID=1000 GID=1003 PID=3566 n tail=0 logMask=8 pid=3523 start=0ns timeout=0ns
logd: logdr: UID=1000 GID=1003 PID=3566 n tail=0 logMask=1 pid=3523 start=0ns timeout=0ns
binder: release 3529:3529 transaction 5552 out, still active
binder: undelivered TRANSACTION_COMPLETE
binder: release 3525:3546 transaction 5552 in, still active
binder: send failed reply for transaction 5552, target dead
I have a loop of these logs. Think it was Kernel or Firmware issue ?

I would need to see more of that log. As always, a tiny snippet really doesnā€™t capture what is going on.

Switching to a different kernel would require that all my changes be brought into it. In fact, the kernel tree I have on gitlab may be out of date and unable to boot the newer build.

Here is the full log from boot to end.

https://gist.github.com/AhmedX6/6be050e474ab13c9511a406c3c8c19cf

Think it needs an upgrade of Kernel version to 4.14.

I tried with the Kernel 4.14 prebuilt by Google on hikey-kernel.
So I modified the TARGET_KERNEL_USE from 4.9 to 4.14 and rebuilt but still not booting. (log are the ~same)

Does the Kernel need some customization on the config file and/or in the code for Android Automotive ?

#EDIT
Also tried with your last kernel repo at HiKey960-Car / android_kernel_linaro_hikey_OLD Ā· GitLab
Not booting but with different errors. (This is the 4.9 Kernel)
https://gist.github.com/AhmedX6/fafc9b489ebc20819d413acb30c4b3c6

There could be any number of issues at this point. I think what you probably should try, is an upstream 4.9 (not 4.14). See if that boots.

And if you can, LOGCAT may shed some light on this as well.

Oh yes I tried with the upstream prebuilt 4.9 kernel, here is my logcat :
https://gist.github.com/AhmedX6/db2b0e322d6f78d363cca80e06c72e2c

And here after a dmesg command :
https://gist.github.com/AhmedX6/a32424f1f7b6c4f4a4330ed73fcf2d3b

Does Android Automotive OS need some different kernel configuration of the classic Android ?

Looks like surfaceflinger is crashing.

Shouldnā€™t need any special changes to the kernel. Changes I made are due to additional hardware support.

Google problem ? what to do?

https://gist.github.com/AhmedX6/db2b0e322d6f78d363cca80e06c72e2c#file-boot-L366

Iā€™m not findingā€¦ But Iā€™m pretty sure have seen a Kernel fail loading something about graphic. I lost the line.

But I already had this kind of problem when I used the Google Kernel, it was not booting. I had to use your Kernel to make it work, do you remember ? Maybe there is a link.

Are you using a known good manifest? Or master?