[Miscellaneous Android Development] mifl:
Compile AOSP Codeaurora for Pantech Burst P9070 (presto)

To compile AOSP Codeaurora for Pantech Burst P9070 (presto) - "REVISION I", following the next steps.

1º - Prepare the Build Environment:

You must have a Linux build environment, I have followed this guide: Compile JB on Ubuntu. Follow the guide until completing step "4)".

Note

:

sun-java6-jdk is no longer available to Ubuntu through the package manager. Do some quick googling and you will find a method to install Java6 JDK.

2º - Create the Directories

You will need to set up some directories in your build environment.

To create them:

$ mkdir -p ~/bin
$ mkdir -p ~/android
$ mkdir -p ~/android/codeaurora
$ mkdir -p ~/android/codeaurora/ics

Note

:

For this step, I modified the installation path sources, because in this way you can include other repositories (CyanogenMod, AOSP, etc ...).

3º - Install the repo:

Enter the following to download make executable the "repo" binary:

curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo

Note

:

You may need to reboot for these changes to take effect.

4º - Install the Codeaurora ICS Repository:

Now enter the following to initialize the Codeaurora repository:

cd ~/android/codeaurora/ics/
$ repo init -u git://codeaurora.org/platform/manifest.git -b ics
$ repo sync -j16

Note

:

Remember that the repository, usually requests a username and password.

5º - Obtain proprietary kernel:

Create a file with the name local_manifest.xml in the ".repo" directory. To see this directory, you have to press Ctrl-H in your file manager.

$ gedit ~/android/codeaurora/ics/.repo/local_manifest.xml.

Add these lines

<manifest>
<remote name="aosp" fetch="https://android.googlesource.com/"/>
<remote name="github" fetch="https://github.com/"/>
<!-- Kernel Pantech presto -->
<remove-project name="kernel/msm"/>
<project name="mifl/android_kernel_pantech_p9070" path="kernel" remote="github" revision="master"/>
</manifest>

Note

:

The second and third line allows you to add repositories: Github and AOSP.

The fifth and the sixth line, if all goes well, delete the repository kernel, and replace it with the official Pantech kernel

6º - Copy proprietary files:

Unzip the file "vendor-blobs-rev2.zip" attached to the end of the post. In the root: device/qcom/msm8660_surf

To extract proprietary files, connect the device to the computer and ensure that ADB is working properly.

$ cd ~/android/codeaurora/ics/device/qcom/msm8660_surf
$ ./extract-files.sh

Note

:

The file "proprietary-files.txt" can fail depending on the version of Android, you have installed on your device.You should add to the list, You should add to the list the files that are necessary for compilation.

7º - Necessary changes:

These are needed to include the files created in the previous step.

Add these lines, if not already included, to the end of the file: "device/qcom/msm8660_surf/msm8660_surf.mk":

#============================================

# Also get non-open-source specific aspects if available
$(call inherit-product, vendor/qcom/proprietary/common/msm8660_surf/device-vendor.mk)

Add these lines, if not already included, to the end of the file: "device/qcom/msm8660_surf/BoardConfig.mk":

#============================================

# Also get non-open-source specific aspects if available
-include vendor/qcom/proprietary/common/msm8660_surf/BoardConfigVendor.mk

Note

:

Check each time you synchronize the repository, the lines are on your site.

In these two files, you can include your own code, for example (BT, WI-FI, etc ...).

Part of what is necessary, changing the routes vendor directory, you can find it here: https://github.com/mifl/android_device_pantech_presto.

Working method

:

Changes for BoardConfig.mk files, you must make in the file "vendor/qcom/proprietary/common/msm8660_surf/board-presto.mk".

Changes for device.mk files, you must make in the file "vendor/qcom/proprietary/common/msm8660_surf/device-presto.mk".

These two files are created by the script ". / Extract-files.sh". If the files exist, when you run the script again, does not modify the changes you in them before.

Example

:

Copy from here: https://github.com/mifl/android_device_pantech_presto/blob/jellybean/BoardConfig.mk:

# Headers path
TARGET_SPECIFIC_HEADER_PATH: = device/pantech/presto/include

In "vendor/qcom/proprietary/common/msm8660_surf/board-presto.mk", paste and replace the route. It should look like this:

# Headers path
TARGET_SPECIFIC_HEADER_PATH: = vendor/qcom/proprietary/common/msm8660_surf/include

Now copy the files in the folder /include. To download the entire repository: https://github.com/mifl/android_device_pantech_presto/archive/jellybean.zip

8º - Building ROM

First, check for updates in the source:

$ cd ~/android/codeaurora/ics/
$ repo sync

Now, the environment must be configured to build and the ROM compiled.

$ source build/envsetup.sh
$ lunch msm8660_surf-userdebug
$ make -j4 KERNEL_DEFCONFIG=msm8660-perf-PRESTO_TP20_defconfig

9º - Install

If you're a little crazy, and at your own risk, you can complete the installation:

Copy your .zip file from ~/android/codeaurora/ics/out/target/product/msm8660_surf/msm8660_surf-ota-XXX.zip to the root of the SD card.

Flash both of these .zip files from recovery.

Note

:

This last step is unconfirmed, google search for how to.

-----------------------------------------------------------------------------------------

Final note

This guide is part of a project I started some time ago. If you find errors, make every effort to solve them by yourself.

To find more information visit:

https://www.codeaurora.org/gitweb/quic/la/.

https://www.codeaurora.org/xwiki/bin/QAEP/.

Greetings.

P.D.

:

Specially dedicated to our friend "mrakattack". I hope this guide will be useful.