3

I am in the process of building custom images for my Nexus 7 tablet. I followed the official Android documentation on building for devices and also extracted propriety vendor binaries.

All works well except for Bluetooth and Camera. Reading through the source code I realize that /etc/init.flo.bt.sh fails when trying to call /system/bin/hci_qcomm_init binary. Manually running hci_qcomm_init gives following error:

shell@flo:/ # hci_qcomm_init                                                   
CANNOT LINK EXECUTABLE: empty/missing DT_HASH in "hci_qcomm_init" (built with --hash-style=gnu?)

Similarly, for camera I realize that mm-qcamera-daemon is not running on the phone (mostly not started during init process). If I try to start it manually:

shell@flo:/ # mm-qcamera-daemon                                              
CANNOT LINK EXECUTABLE: empty/missing DT_HASH in "mm-qcamera-daemon" (built with --hash-style=gnu?)

I am not looking for definitive answer but can someone point to what exactly is wrong with these binaries on the phone?

Manfred Moser
  • 29,539
  • 13
  • 92
  • 123
Stupid
  • 113
  • 5
  • What branch are you trying to build? – odexcide May 18 '15 at 13:47
  • And have you modified anything yet? With Android or a Linux Kernel or something of that complexity, it's always good to rebuild the existing configuration *unchanged* so that you know what to blame for any difficulties. Your error would seem to indicate a binary incompatible with the dynamic loader on the device - but it could be one intended for a different version, or perhaps something that is not an executable improperly installed in place of one. You could also install the factory image and examine the corresponding files for comparison. – Chris Stratton May 18 '15 at 15:15
  • Building out from the master branch. I probably should be attempting this on a flo release branch. – Stupid May 18 '15 at 17:07
  • To update on the branch, I have a 2013 Nexus 7 flo device and I am using following build / branch: LRX22G android-5.0.2_r1 Lollipop Nexus 7 (flo/deb/grouper/tilapia), Nexus 10 Unfortunately, nothing changes, camera bluetooth doesn't work – Stupid May 25 '15 at 21:27

1 Answers1

0

According to this post https://stackoverflow.com/a/28639447/1028256 the binaries may use different compiler options for hash than your system libs. You may try to change gcc compiler options in Android build to match those used for binaries.

I do not remember where those compiler flags are defined in AOSP though...

Community
  • 1
  • 1
Mixaz
  • 4,068
  • 1
  • 29
  • 55