Introducing XDA:DevCon – A Conference For Developers By Developers
XDA Developers Android and Mobile Development Forum
Forgot your password?
 
Post Reply+
Tip us?
 
mifl
Old
(Last edited by mifl; 8th March 2013 at 09:32 AM.) Reason: Update
#1  
mifl's Avatar
Senior Member - OP
Thanks Meter 199
Posts: 129
Join Date: Dec 2009
Location: Oviedo

 
DONATE TO ME
Default [DEV] - Compile Unofficial CM10 for Pantech Flex

To compile Unofficial CyanogenMod for Pantech Flex P8010 (oscar), following the next steps.

1º - Prepare the Build Environment:

This step is based on the following tutorial: [Tutorial] Compile JB on Ubuntu - Thanks dastin1015.

A) Install Python and Git:
Code:
$ sudo apt-get install python
Code:
$ sudo apt-get install git-core
B) Install Android SDK:

- Download the SDK here: http://developer.android.com/sdk/index.html
- Extract the SDK and place it in your home directory.
- I renamed my SDK to android-sdk to make it easier to navigate to.
- Go to your home folder, press Ctrl+H to show hidden files, and open up your .bashrc file.
- Add these lines at the bottom of the file:
Code:
# Android tools
export PATH=${PATH}:~/android-sdk/tools
export PATH=${PATH}:~/android-sdk/platform-tools
export PATH=${PATH}:~/bin
- Find your .profile file and add this at the bottom of the file:
Code:
PATH="$HOME/android-sdk/tools:$HOME/android-sdk/platform-tools:$PATH"
You have now successfully installed the Android SDK.

To check for updates issue this into your terminal:
Code:
$ android
C) Install required packages:

Building on Ubuntu 10.10/11.10:
Code:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
  x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
  libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
  libxml2-utils xsltproc
On Ubuntu 10.10:
Code:
$ sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
On Ubuntu 11.10:
Code:
$ sudo apt-get install libx11-dev:i386
On newer versions of Ubuntu such as 11.10 you may need to do the following:
Code:
$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
Building on Ubuntu 12.04/10:
Code:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386 \
  pngcrush optipng
Code:
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
D) Install Oracle Java 6:

To install Oracle Java 6 in Ubuntu via PPA: http://www.webupd8.org/2012/11/oracl...available.html
Code:
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java6-installer
After the installation, check the version of java, using the command:
Code:
$ java -version
Output console:
Code:
java version "1.6.0_38"
Java(TM) SE Runtime Environment (build 1.6.0_38-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.13-b02, mixed mode)
Note: The installed version of java, may have been updated, but should be kept in version 1.6.XX

Verify the symlinks:
Code:
$ ls -la /etc/alternatives/java* && ls -la /etc/alternatives/jar
Output console:
Code:
lrwxrwxrwx 1 root root 39 ene 17 08:02 /etc/alternatives/java -> /usr/lib/jvm/java-6-oracle/jre/bin/java
lrwxrwxrwx 1 root root 45 ene 17 08:02 /etc/alternatives/java.1.gz -> /usr/lib/jvm/java-6-oracle/man/man1/java.1.gz
lrwxrwxrwx 1 root root 36 ene 17 08:02 /etc/alternatives/javac -> /usr/lib/jvm/java-6-oracle/bin/javac
lrwxrwxrwx 1 root root 46 ene 17 08:02 /etc/alternatives/javac.1.gz -> /usr/lib/jvm/java-6-oracle/man/man1/javac.1.gz
lrwxrwxrwx 1 root root 38 ene 17 08:02 /etc/alternatives/javadoc -> /usr/lib/jvm/java-6-oracle/bin/javadoc
lrwxrwxrwx 1 root root 48 ene 17 08:02 /etc/alternatives/javadoc.1.gz -> /usr/lib/jvm/java-6-oracle/man/man1/javadoc.1.gz
lrwxrwxrwx 1 root root 36 ene 17 08:02 /etc/alternatives/javah -> /usr/lib/jvm/java-6-oracle/bin/javah
lrwxrwxrwx 1 root root 46 ene 17 08:02 /etc/alternatives/javah.1.gz -> /usr/lib/jvm/java-6-oracle/man/man1/javah.1.gz
lrwxrwxrwx 1 root root 36 ene 17 08:02 /etc/alternatives/javap -> /usr/lib/jvm/java-6-oracle/bin/javap
lrwxrwxrwx 1 root root 46 ene 17 08:02 /etc/alternatives/javap.1.gz -> /usr/lib/jvm/java-6-oracle/man/man1/javap.1.gz
lrwxrwxrwx 1 root root 42 ene 17 08:02 /etc/alternatives/java_vm -> /usr/lib/jvm/java-6-oracle/jre/bin/java_vm
lrwxrwxrwx 1 root root 41 ene 17 08:02 /etc/alternatives/javaws -> /usr/lib/jvm/java-6-oracle/jre/bin/javaws
lrwxrwxrwx 1 root root 47 ene 17 08:02 /etc/alternatives/javaws.1.gz -> /usr/lib/jvm/java-6-oracle/man/man1/javaws.1.gz
lrwxrwxrwx 1 root root 34 ene 17 08:02 /etc/alternatives/jar -> /usr/lib/jvm/java-6-oracle/bin/jar
E) Configure your USB:
Code:
$ gksudo gedit /etc/udev/rules.d/51-android.rules
Inside of this blank text file insert:
Code:
#Acer
SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"

#ASUS
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"

#Dell
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"

#Foxconn
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"

#Garmin-Asus
SUBSYSTEM=="usb", ATTR{idVendor}=="091E", MODE="0666"

#Google
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"

#HTC
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"

#Huawei
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"

#K-Touch
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"

#KT Tech
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"

#Kyocera
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"

#Lenevo
SUBSYSTEM=="usb", ATTR{idVendor}=="17EF", MODE="0666"

#LG
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"

#Motorola
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"

#NEC
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"

#Nook
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"

#Nvidia
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"

#OTGV
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"

#Pantech
SUBSYSTEM=="usb", ATTR{idVendor}=="10A9", MODE="0666"

#Philips
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"

#PMC-Sierra
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"

#Qualcomm
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"

#SK Telesys
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"

#Samsung
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"

#Sharp
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"

#Sony Ericsson
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"

#Toshiba
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"

#ZTE
SUBSYSTEM=="usb", ATTR{idVendor}=="19D2", MODE="0666"
Save the file and close it and then issue this command:
Code:
$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
2º - Create the Directories

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

Note: For the next steps, I modified the installation path sources, because in this way you can include other repositories (CAF, AOSP, etc ...).

To create them:
Code:
mkdir -p ~/bin
mkdir -p ~/android
mkdir -p ~/android/cyanogenmod
mkdir -p ~/android/cyanogenmod/jellybean
3º - Install the repo:

Enter the following to download make executable the "repo" binary:
Code:
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 CM10 Repository:

Now enter the following to initialize the CyanogenMod repository:
Code:
cd ~/android/cyanogenmod/jellybean/
repo init -u git://github.com/CyanogenMod/android.git -b jellybean 
repo sync -j16
5º - Obtain the oscar device tree:

Create/Edit a file with the name roomservice.xml in the ".repo/local_manifests/" directory. To see this directory, you have to press Ctrl-H in your file manager.
Code:
mkdir -p ~/android/cyanogenmod/jellybean/.repo/local_manifests/
gedit ~/android/cyanogenmod/jellybean/.repo/local_manifests/roomservice.xml
Add these lines:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="mifl/android_device_pantech_oscar" path="device/pantech/oscar" remote="github" revision="jellybean" />
  <project name="mifl/android_device_pantech_qcom-common" path="device/pantech/qcom-common" remote="github" revision="jellybean" />
  <project name="mifl/android_device_pantech_msm8960-common" path="device/pantech/msm8960-common" remote="github" revision="jellybean" />
  <project name="mifl/android_kernel_pantech_p8010" path="kernel/pantech/p8010" remote="github" revision="jellybean" />
</manifest>
Synchronize the repositories:
Code:
cd ~/android/cyanogenmod/jellybean/
repo sync
6º - Copy proprietary files:

Option 1:
To compile Pantech oscar, connect the device to the computer and ensure that ADB is working properly.
Code:
cd ~/android/cyanogenmod/jellybean/device/pantech/oscar
./extract-files.sh
Option 2:
You can also include the repository with the necessary files for compilation:
Code:
gedit ~/android/cyanogenmod/jellybean/.repo/local_manifests/roomservice.xml
Add this line:
Code:
<project name="mifl/android_vendor_pantech_oscar" path="vendor/pantech/oscar" remote="github" revision="jellybean" />
Synchronize the repositories:
Code:
cd ~/android/cyanogenmod/jellybean/
repo sync
7º - Download RomManager:

Note: This only needs to be done when an update to RomManager is released. If you are-up-to date, you may skip to Building CyanogenMod.

Download RomManager which is needed by the build:
Code:
cd ~/android/cyanogenmod/jellybean
./vendor/cm/get-prebuilts
8º - Building CyanogenMod:

First, check for updates in the source:
Code:
cd ~/android/cyanogenmod/jellybean/
repo sync
Now, the environment must be configured to build and the ROM compiled.
Code:
. build/envsetup.sh && brunch oscar
9º - Compiled files:

Files generated in the compilation are in the /out directory, the build file is:

~/android/cyanogenmod/jellybean/out/target/product/oscar/cm-10-XXXXX-UNOFFICIAL-oscar.zip

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

I hope that more users try to compile the ROM, and report bugs they find. Any help is greatly appreciated.

Greetings.
Please don't ask questions by PM || GitHub page: MIFL || PantechDevTeam Forum
The Following 2 Users Say Thank You to mifl For This Useful Post: [ Click to Expand ]
 
mifl
Old
(Last edited by mifl; 17th February 2013 at 08:56 PM.) Reason: Update
#2  
mifl's Avatar
Senior Member - OP
Thanks Meter 199
Posts: 129
Join Date: Dec 2009
Location: Oviedo

 
DONATE TO ME
**Reserved for future updates**
Please don't ask questions by PM || GitHub page: MIFL || PantechDevTeam Forum
 
mifl
Old
#3  
mifl's Avatar
Senior Member - OP
Thanks Meter 199
Posts: 129
Join Date: Dec 2009
Location: Oviedo

 
DONATE TO ME
**Reserved for future updates**
Please don't ask questions by PM || GitHub page: MIFL || PantechDevTeam Forum
 
mifl
Old
#4  
mifl's Avatar
Senior Member - OP
Thanks Meter 199
Posts: 129
Join Date: Dec 2009
Location: Oviedo

 
DONATE TO ME
**Reserved for future updates**
Please don't ask questions by PM || GitHub page: MIFL || PantechDevTeam Forum
 
superbart007
Old
#5  
Member
Thanks Meter 9
Posts: 89
Join Date: Jan 2010
Location: Festus, Mo
I followed your instructions to the lleter, and this is what i get.

build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/oscar/cm.mk]]: "device/*/oscar/cm.mk" does not exist.
Device oscar not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/Cyanogen
Repository for oscar not found in the CyanogenMod Github repository list. If this is in error, you may need to manuato your local_manifests/roomservice.xml.
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/oscar/cm.mk]]: "device/*/oscar/cm.mk" does not exist.

** Don't have a product spec for: 'cm_oscar'
** Do you have the right repo manifest?
 
mifl
Old
(Last edited by mifl; 2nd March 2013 at 09:59 AM.)
#6  
mifl's Avatar
Senior Member - OP
Thanks Meter 199
Posts: 129
Join Date: Dec 2009
Location: Oviedo

 
DONATE TO ME
Quote:
Originally Posted by superbart007 View Post
I followed your instructions to the lleter, and this is what i get.

build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/oscar/cm.mk]]: "device/*/oscar/cm.mk" does not exist.
Device oscar not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/Cyanogen
Repository for oscar not found in the CyanogenMod Github repository list. If this is in error, you may need to manuato your local_manifests/roomservice.xml.
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/oscar/cm.mk]]: "device/*/oscar/cm.mk" does not exist.

** Don't have a product spec for: 'cm_oscar'
** Do you have the right repo manifest?
Sorry:

There is an error in the wording of post. The kernel repository was wrong, must be changed p9070 for P8010.
Code:
<project name="mifl/android_kernel_pantech_p8010" path="kernel/pantech/p8010" remote="github" revision="jellybean" />
The rest of the repositories are well, and have been updated today and compiled fine.

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

Update:

In CyanogenMod Source, ~/.repo/local_manifest.xml file has been changed to ~/.repo/local_manifests/roomservice.xml

To adapt to change into the your "~/.repo" dir, must create the dir "local_manifests", rename the file local_manifest.xml to roomservice.xml, and move it into the new dir.

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

Greetings.
Please don't ask questions by PM || GitHub page: MIFL || PantechDevTeam Forum
 
superbart007
Old
#7  
Member
Thanks Meter 9
Posts: 89
Join Date: Jan 2010
Location: Festus, Mo
Default Re: [DEV] - Compile Unofficial CM10 for Pantech Flex

Ok tried our again still no joy. But also your instructions never mention how the dir pantech, and oscar are made, and when i goto build it say it can't find the mk file in the /devices/pantech/oscar.

Sent from my PantechP8010 using xda app-developers app
 
mifl
Old
(Last edited by mifl; 19th February 2013 at 08:46 AM.)
#8  
mifl's Avatar
Senior Member - OP
Thanks Meter 199
Posts: 129
Join Date: Dec 2009
Location: Oviedo

 
DONATE TO ME
Quote:
Originally Posted by superbart007 View Post
Ok tried our again still no joy. But also your instructions never mention how the dir pantech, and oscar are made, and when i goto build it say it can't find the mk file in the /devices/pantech/oscar.

Sent from my PantechP8010 using xda app-developers app
Projects in the file roomservice.xml have this structure:
Code:
  <project name="mifl/android_device_pantech_oscar" path="device/pantech/oscar" remote="github" revision="jellybean" />
Each of the fields is:
  • name: name of the repository.
  • path: directory where the files are placed.
  • remote: git server
  • Revision: version (branch) to synchronize.
Each time you add a line to your roomservice.xml, you must synchronize the repositories:
Code:
cd ~/android/cyanogenmod/jellybean/
repo sync
Greetings.
Please don't ask questions by PM || GitHub page: MIFL || PantechDevTeam Forum
The Following User Says Thank You to mifl For This Useful Post: [ Click to Expand ]
 
superbart007
Old
#9  
Member
Thanks Meter 9
Posts: 89
Join Date: Jan 2010
Location: Festus, Mo
Default Re: [DEV] - Compile Unofficial CM10 for Pantech Flex

Ok thank you, I'm new at doing this, and I'm trying to learn.

Sent from my PantechP8010 using xda app-developers app
The Following User Says Thank You to superbart007 For This Useful Post: [ Click to Expand ]
 
superbart007
Old
#10  
Member
Thanks Meter 9
Posts: 89
Join Date: Jan 2010
Location: Festus, Mo
Default Re: [DEV] - Compile Unofficial CM10 for Pantech Flex

Berry does this compile include gapps pu or do i need to use a jb one from goo.im

Sent from my PantechP8010 using xda app-developers app
 
Post Reply+
Tags
cyanogenmod 10 for pantech flex, pantech, pantech flex, pantech oscar, pantechdevteam
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Go to top of page...