Tuesday 12 July 2016

Building AOSP for Manta



Dear friends,
I really need your help compiling PureNexus for Manta. Here is what I did:
1) set up the environment. I'm fairly sure that I did this right, on Ubuntu 16.04. I installed the required libs, openjdk7, android sdk, set the PATH, installed repo ofc.
2) created a folder for the project, did the repo init as specified in the github manifest:


Code:


repo init -u https://github.com/PureNexusProject/manifest.git -b mm2

Next, before doing a repo sync, I added a local manifest in .repo/local_manifests/local_manifest.xml, with the following content:


Code:


<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="gh" fetch="git://github.com/" />
<project path="kernel/samsung/manta" name="CyanogenMod/android_kernel_samsung_manta" remote="gh" revision="cm-13.0" />
<project path="device/samsung/manta" name="CyanogenMod/android_device_samsung_manta" remote="gh" revision="cm-13.0" />
<project path="vendor/samsung/manta" name="TheMuppets/proprietary_vendor_samsung" remote="gh" revision="cm-13.0" />
</manifest>


This is what I was able to find regarding manta. I added the device tree and kernel from Cyanogen's, and the vendor stuff from TheMuppets.
3) repo sync -j5 successfully downloaded everything, so it was build time!
4) As manta is not officially supported, I had to add and edit a few things here and there:
4.1) in vendor/nexus/products/AndroidProducts.mk I added this code:


Code:


ifeq (nexus_manta,$(TARGET_PRODUCT))
    PRODUCT_MAKEFILES += $(LOCAL_DIR)/nexus_manta.mk
endif


4.2) next I actually created the nexus_manta.mk. I copied and adapted the flounder one, it ended up like this:


Code:


#Include Pure Nexus tablet configuration
include vendor/nexus/configs/nexus_tablet.mk

# Inherit AOSP device configuration for flounder
$(call inherit-product, device/samsung/manta/aosp_manta.mk)

# Override AOSP build properties
PRODUCT_NAME := nexus_manta
PRODUCT_BRAND := Google
PRODUCT_DEVICE := manta
PRODUCT_MODEL := Nexus 10
PRODUCT_MANUFACTURER := Samsung

# Device Fingerprint
PRODUCT_BUILD_PROP_OVERRIDES += \
    PRODUCT_NAME=mantaray \
    BUILD_FINGERPRINT=google/mantaray/manta:6.0.1/MOB30P/2960889:user/release-keys \
    PRIVATE_BUILD_DESC="mantaray-user 6.0.1 MOB30P 2960889 release-keys"


4.3) finally i edited vendor/nexus/vendorsetup.sh to add this line at the end:


Code:


add_lunch_combo nexus_manta-user

5) After this I did:


Code:


. build/envsetup.sh
 lunch


picked number 31, nexus_manta-user, all seemed fine.

6) Time to build, "brunch manta". This won't end up well, the current issue is:


Code:


make: * No rule to make target '/home/android/android/system/out/target/product/manta/obj/SHARED_LIBRARIES/libinvensense_hal_intermediates/export_includes', needed by '/home/android/android/system/out/target/product/manta/obj/SHARED_LIBRARIES//import_includes'.  Stop.
make: * Waiting for unfinished jobs....


I must admit that manta and exynos 5 arent really popular, cause I often never found anything useful.
Anyway, I'm stuck there, but in the next post I'll add something that I tried to get started again, but didn't work out.

Thank you so much everyone,
TD



No comments:

Post a Comment