[GUIDE] How To Build CM9 From Source Code Ubuntu 11.10 64-Bit - Epic 4G Android Development

Building CM9 From Source On The Epic 4G
I just recently built CM9 for the Epic 4G since Contacts.apk and the Honeycomb Ripple Lockscreen Mod need to be built from source to work properly on our phones. If you follow my instructions exactly, you should have a working CM9 build for the Epic 4G. You can then modify whatever you need to customize your apks, jar files, etc.
Now lets get started. You will need to install Ubuntu 11.10 64-Bit on your computer. It can be a virtual machine, an install using Wubi, or an actual partition for Ubuntu. You will need at least 30gb available for Ubuntu since the repository and the build take up a lot of space.
(Note: It Must Be Ubuntu 11.10 64-Bit And Have A Working Internet Connection!)
Install Java JDK
Once Ubuntu is installed the first thing you will need to do is install Java JDK. Open up a terminal or press Ctrl+Alt+T on the keyboard and copy the following commands:
Code:
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jdk sun-java6-plugin
After the first command is entered, it will ask you for your password. Enter it and continue with the commands. Once Java is about to install, it will tell you how much additional disk space Java will add to your hard drive and ask if you want to continue. Press Y and hit Enter. When Java is done installing, you should see a window that pops up with the Java Licensing Agreement. Use the arrow keys or the Tab key on your keyboard to navigate to the OK button and press Enter. Then Navigate to Yes and hit Enter again. Java is now installed on your Computer!
Install Android SDK For Linux
Next, you will need to install android sdk. Google search android sdk and it should be the first link that pops up. Click on it and download android-sdk_r18-linux.tgz for Linux. Now go back to your terminal and enter the following commands:
Code:
cd Downloads
tar -xvzf android-sdk_r18-linux.tgz
rm *.tgz
mv android-sdk-linux/ ..
cd ../android-sdk-linux/
In case you don't know what you just did, you navigated to your Downloads folder and extracted the android-sdk-linux folder. Then you deleted the compressed file and moved your android-sdk-linux folder to your Home directory. Finally, you navigated to your android-sdk-linux folder.
Now we need to open the Android SDK Manager and download the necessary packages. In the terminal, copy:
Code:
tools/android
It should pop up the Android SDK Manager. Now make sure the Tools folder, and Android 4.0.3 (API 15) packages are selected and click on Install Packages. Check Accept All and click on Install. Once all the packages have been loaded, close out of the Download window and the Android SDK Manager. Go back to your terminal and Type:
Code:
cd
This will navigate you back to your Home Directory.
The Rest Of The Guide Will Need To Be Done In The Root Terminal!
In the terminal type:
Code:
sudo -i
Then enter your password. You are now logged in as root! (Or superuser)
Install Packages
Now we need to install all the necessary packages to make the CM9 build. In the terminal, copy:
Code:
apt-get install python git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev libncurses5-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential pngcrush schedtool gcc-multilib
Again, press Y and hit Enter.
Configuring USB
Time to set up all devices to work with USB.
Code:
gksudo gedit /etc/udev/rules.d/51-android.rules
This will create a new file to configure the USB devices. Copy and paste this into the file:
Code:
#Acer
SUBSYSTEM==usb, SYSFS{idVendor}==0502, MODE=0666
#ASUS
SUBSYSTEM==usb, SYSFS{idVendor}==0b05, MODE=0666
#Dell
SUBSYSTEM==usb, SYSFS{idVendor}==413c, MODE=0666
#Foxconn
SUBSYSTEM==usb, SYSFS{idVendor}==0489, MODE=0666
#Garmin-Asus
SUBSYSTEM==usb, SYSFS{idVendor}==091E, MODE=0666
#Google
SUBSYSTEM==usb, SYSFS{idVendor}==18d1, MODE=0666
#HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE=0666
#Huawei
SUBSYSTEM==usb, SYSFS{idVendor}==12d1, MODE=0666
#K-Touch
SUBSYSTEM==usb, SYSFS{idVendor}==24e3, MODE=0666
#KT Tech
SUBSYSTEM==usb, SYSFS{idVendor}==2116, MODE=0666
#Kyocera
SUBSYSTEM==usb, SYSFS{idVendor}==0482, MODE=0666
#Lenevo
SUBSYSTEM==usb, SYSFS{idVendor}==17EF, MODE=0666
#LG
SUBSYSTEM==usb, SYSFS{idVendor}==1004, MODE=0666
#Motorola
SUBSYSTEM==usb, SYSFS{idVendor}==22b8, MODE=0666
#NEC
SUBSYSTEM==usb, SYSFS{idVendor}==0409, MODE=0666
#Nook
SUBSYSTEM==usb, SYSFS{idVendor}==2080, MODE=0666
#Nvidia
SUBSYSTEM==usb, SYSFS{idVendor}==0955, MODE=0666
#OTGV
SUBSYSTEM==usb, SYSFS{idVendor}==2257, MODE=0666
#Pantech
SUBSYSTEM==usb, SYSFS{idVendor}==10A9, MODE=0666
#Philips
SUBSYSTEM==usb, SYSFS{idVendor}==0471, MODE=0666
#PMC-Sierra
SUBSYSTEM==usb, SYSFS{idVendor}==04da, MODE=0666
#Qualcomm
SUBSYSTEM==usb, SYSFS{idVendor}==05c6, MODE=0666
#SK Telesys
SUBSYSTEM==usb, SYSFS{idVendor}==1f53, MODE=0666
#Samsung
SUBSYSTEM==usb, SYSFS{idVendor}==04e8, MODE=0666
#Sharp
SUBSYSTEM==usb, SYSFS{idVendor}==04dd, MODE=0666
#Sony Ericsson
SUBSYSTEM==usb, SYSFS{idVendor}==0fce, MODE=0666
#Toshiba
SUBSYSTEM==usb, SYSFS{idVendor}==0930, MODE=0666
#ZTE
SUBSYSTEM==usb, SYSFS{idVendor}==19D2, MODE=0666
Save the file and close the window. Next set the permissions for the file you just created:
Code:
chmod a+r /etc/udev/rules.d/51-android.rules
Installing Repo
Next, we need to install the CM9 repository.
Code:
mkdir ~/bin
gedit /etc/environment
This will open up your Environment Variables so you can use adb and other commands no matter what directory you're in.
Copy and paste this into the end of the file:
Code:
:/home/gooch/android-sdk-linux/tools:/home/gooch/android-sdk-linux/platform-tools:/root/bin
Replace gooch with your Username that you set up and make sure to leave the quotes! It should look like one big line.
Now Logout and Log back in! This will update your Environment Variables.
Once you're logged back in, open up the terminal and log back in as root:
Code:
sudo -i
Enter your password and then copy the following commands:
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
mkdir CM9
cd CM9
repo init -u git://github.com/CyanogenMod/android.git -b ics
repo sync
These commands will set everything up and download the CM9 repository. (This will take a long time to download!)
(Note: If your download freezes or hangs, close the terminal and open up a new one. Log back into root and repeat these steps)
Code:
cd CM9
repo sync
This will continue where you left off. Once everything is synced, enter in the terminal:
Code:
nautilus
This will open up a root file explorer. navigate to the CM9/device/samsung folder and see if there is a folder called "epicmtd". If there is, skip to Copy Proprietary Files. If not, close the file explorer and type:
Code:
brunch epicmtd
This should gather the epicmtd folder for you. If it starts to build, exit the terminal Immediately!
Open another terminal, log into root, and open up the root file explorer again:
Code:
nautilus
Check if the "epicmtd" is there again. If it's there, Navigate back to the CM9 folder and then navigate to the out/target/product folder. If there is a folder called "epicmtd", delete it and close the root file explorer.
Copy Proprietary Files
Next you need to download the proprietary files from your phone. You must have a working CM9 ROM currently on your phone. Make sure USB Debugging is on and plug your phone into your computer. (You can find this under Settings-Developer Options-USB Debugging)
In the terminal, navigate the the "CM9" folder if you're not already there:
Code:
cd CM9
Then copy the following commands:
Code:
cd device/samsung/epicmtd
./extract-files.sh
This will gather all the necessary files needed from your phone. Once this is finished, navigated back to the "CM9" folder by entering:
Code:
cd
cd CM9
Now enter:
Code:
vendor/cm/get-prebuilts
(Note: The whole "Copy Proprietary Files" step only needs to be done once to set everything up!)
Build Source
Finally, We can build the CM9 Source Code.
In the terminal, copy the commands:
Code:
. build/envsetup.sh
brunch epicmtd
This will take a while, but if you set up everything correct, you should have a working, flashable CM9 ROM in the CM9/out/target/product/epicmtd folder. The .zip is called something like "update-cm-9.0.0-RC0-epicmtd-KANG-signed".
Copy that to your phone's SD Card and reboot into recovery mode. Wipe user data, cache, and dalvik cache, and flash. If it installs and your phone boots up with CM9, You just made a successful build!
You can delete the "epicmtd" folder created in the CM9/out/target/product directory by running in CM9 directory:
Code:
make clobber
Now you can modify the Source Code, and build again by issuing these two simple commands:
Code:
. build/envsetup.sh
brunch epicmtd
I hope you enjoyed this tutorial and that it helped you. Start building!
Thanks to UberPinguin for helping me with my Source Build

let me first off say thanks for this i have book marked and subscribed and FIRST for the first time lol

Second!!! Gonna set this up now!
Writen in plain english. Amazing!
It's building! (Nexus)

Good job man!
Broadcast to the public; to promote self awareness.

You can just run 'make clean', if I recall correctly. And it'll remove the epicmtd directory within /out section so that you can build again. No need to manually remove it.
Sent from my SPH-D700 using xda premium

AproSamurai said:
You can just run 'make clean', if I recall correctly. And it'll remove the epicmtd directory within /out section so that you can build again. No need to manually remove it.
Sent from my SPH-D700 using xda premium
Click to expand...
Click to collapse
Thanks, I'll test and make sure that works.
Sent from my CM9 Epic Blue Mist using xda premium

make clobber will wipe the out folder.
Also, ubuntu uses gcc 4.6 which causes problems if try any custom optimization. I personally use debian32 with gcc 4.4.
Another tip is you can add the gihub CyanogemMod vendor samsung epicmtd to your local_manifest.xml instead of pulling the vendor files from your own phone.
Sent from my SPH-D700 using XDA App

Thanks for this!
Sent from my SPH-D700 using xda premium

There you go, it was clobber lmao. Hahaha I was thinking of something else.:| Apologies.
Sent from my SPH-D700 using xda premium

Awesome, thanks guys.
Sent from my CM9 Epic Blue Mist using xda premium

chuckdez said:
make clobber will wipe the out folder.
Also, ubuntu uses gcc 4.6 which causes problems if try any custom optimization. I personally use debian32 with gcc 4.4.
Another tip is you can add the gihub CyanogemMod vendor samsung epicmtd to your local_manifest.xml instead of pulling the vendor files from your own phone.
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
Soooooo.....git://github.com/CyanogenMod/android.git -b Samsung epicmtd?
Broadcast to the public; to promote self awareness.

Thank You OP for NOT giving in to the Windows / Mac (WaC) quid pro quo!

deciple said:
Soooooo.....git://github.com/CyanogenMod/android.git -b Samsung epicmtd?
Broadcast to the public; to promote self awareness.
Click to expand...
Click to collapse
modify the .repo/local_manifest.xml in the CM9 folder.
This has the device, vendor and kernel files.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/samsung/epicmtd" name="CyanogenMod/android_device_samsung_epicmtd" remote="github" revision="ics"/>
<project path="kernel/samsung/victory" name="CyanogenMod/android_kernel_samsung_victory" remote="github" revision="ics"/>
<project path="vendor/samsung" name="koush/proprietary_vendor_samsung" remote="github" revision="ics"/>
</manifest>

Cant seem to get past the brunch epicmtd part guys. Where should I execute this command?
Its saying brunch command not found

It have to be specifically on 11.10? I have 10.04 for compatibility reasons and plan on giving this a whirl .
Sent from my SPH-D700 using xda premium

I did it on 11.04
Broadcast to the public; to promote self awareness.

Big Goron said:
It have to be specifically on 11.10? I have 10.04 for compatibility reasons and plan on giving this a whirl .
Sent from my SPH-D700 using xda premium
Click to expand...
Click to collapse
It will work on every debian based OS. I am using Linux Mint Debian and I can compile fine.
Sent from my SPH-D700 using Tapatalk

I succesfully get the repo but once I type nautilus I get something about user sharing.
I proceed and then it says brunch is not a command.
In the pastebin is what comes out on the terminal/
http://pastebin.com/409YjyBi

joe_d08_17 said:
I succesfully get the repo but once I type nautilus I get something about user sharing.
I proceed and then it says brunch is not a command.
In the pastebin is what comes out on the terminal/
http://pastebin.com/409YjyBi
Click to expand...
Click to collapse
Make sure your build environment is setup by issuing the following command in CM9 folder.
. build/envsetup.sh
Note the space between the dot and the word build.
Sent from my SPH-D70buildng XDA App

So where are the files that you edit before you build?

Related

[GUIDE]Compile AOKP and CyanogenMod for HTC Sensation on Ubuntu (ONLY 64-bit)

First of all, BIG BIG thanks to SparksCo for his guide for compiling CM7, I used his guide as a base for this
Credits:
CyanogenMod for giving their source to everyone
SparksCo for teaching me what I know
Vorbeth for releasing the original source for Sensation
Elelinux for his hardwork on adding things to the device tree
I'm making this guide for those who don't want to wait for a new CyanogenMod or AOKP build and want to build it themselves.
Working on both ubuntu 11.10 and 12.04
NOTE: DEPENDING ON YOUR COMPUTER'S HARDWARE, COMPILING TIME WILL BE DIFFERENT
If you have a MAC OSX, I do not have a guide for that as I don't have one.
Be aware for which part is for AOKP and CyanogenMod
I have put "AOKP" and "CyanogenMod" Labels to help
EVERYTHING THAT IS IN A BOX, OPEN TERMINAL AND ENTER THE COMMAND IN THAT SECTION
Guide Requirements:
- Computer
- Common Sense
- Some Linux Experience
- Ubuntu 64-bit Installed
- At least 4GB of ram with a dual core processor.
Required Software to Install:
For 32-bit and 64-bit System
Code:
sudo apt-get install git-core gnupg flex bison python rar original-awk gawk p7zip-full gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool xsltproc
For 64-bit System
Code:
sudo apt-get install g++-multilib lib32z1-dev ia32-libs lib32ncurses5-dev lib32readline-gplv2-dev gcc-multilib g++-multilib
Other Required Software:
Code:
sudo apt-get install libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils
Link libx11
Code:
sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
You must have a 1.6.x to compile on the ics branch of cyanogenmod.
MUST Install Java 1.6 (NOT Java 1.7):
1a. Download Java JDK for Linux 64-bit from Java site
Code:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Be sure to download (## will change if there's an update):
Code:
jdk-6u##-linux-x64.bin
1b. Move the downloaded Java JDK into your home directory
1c. Be sure to completely remove ALL OTHER JAVA
Don't worry if some things are asked to be installed just accept!
Code:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
1d. Copy Java JDK into /opt/java/64
Code:
sudo mkdir -p /opt/java/64/
sudo cp jdk-6u##-linux-x64.bin /opt/java/64
sudo su -
cd /opt/java/64
chmod +x jdk-6u##-linux-x64.bin
./jdk-6u##-linux-x64.bin
exit
1e. Add the needed PATH to .bashrc
Code:
gedit ~/.bashrc
Add these lines to .bashrc (Better to be near the top):
Code:
# Java PATHs
export JAVA_HOME=/opt/java/64/jdk1.6.0_##
export PATH=$PATH:$JAVA_HOME/bin
Setting Up Android SDK
2a. Download Android SDK at http://developer.android.com/sdk/index.html
2b. Extract it to your home folder [Ex. ~/android/sdk]
2c. Add Android SDK Path
gedit ~/.bashrc
Enter the Following:
Code:
#Android PATH
export PATH=$PATH:~/android/sdk
export PATH=$PATH:~/android/sdk/platform-tools
export PATH=$PATH:~/android/sdk/tools
2d. Add Extra Path For Device:
sudo gedit /etc/udev/rules.d/99-android.rules (Text Editor will open up)
Enter this in it:
Code:
#Acer
SUBSYSTEM==usb, SYSFS{idVendor}==0502, MODE=0666
#ASUS
SUBSYSTEM==usb, SYSFS{idVendor}==0b05, MODE=0666
#Dell
SUBSYSTEM==usb, SYSFS{idVendor}==413c, MODE=0666
#Foxconn
SUBSYSTEM==usb, SYSFS{idVendor}==0489, MODE=0666
#Garmin-Asus
SUBSYSTEM==usb, SYSFS{idVendor}==091E, MODE=0666
#Google
SUBSYSTEM==usb, SYSFS{idVendor}==18d1, MODE=0666
#HTC
SUBSYSTEM==usb, SYSFS{idVendor}==0bb4, MODE=0666
#Huawei
SUBSYSTEM==usb, SYSFS{idVendor}==12d1, MODE=0666
#K-Touch
SUBSYSTEM==usb, SYSFS{idVendor}==24e3, MODE=0666
#KT Tech
SUBSYSTEM==usb, SYSFS{idVendor}==2116, MODE=0666
#Kyocera
SUBSYSTEM==usb, SYSFS{idVendor}==0482, MODE=0666
#Lenevo
SUBSYSTEM==usb, SYSFS{idVendor}==17EF, MODE=0666
#LG
SUBSYSTEM==usb, SYSFS{idVendor}==1004, MODE=0666
#Motorola
SUBSYSTEM==usb, SYSFS{idVendor}==22b8, MODE=0666
#NEC
SUBSYSTEM==usb, SYSFS{idVendor}==0409, MODE=0666
#Nook
SUBSYSTEM==usb, SYSFS{idVendor}==2080, MODE=0666
#Nvidia
SUBSYSTEM==usb, SYSFS{idVendor}==0955, MODE=0666
#OTGV
SUBSYSTEM==usb, SYSFS{idVendor}==2257, MODE=0666
#Pantech
SUBSYSTEM==usb, SYSFS{idVendor}==10A9, MODE=0666
#Philips
SUBSYSTEM==usb, SYSFS{idVendor}==0471, MODE=0666
#PMC-Sierra
SUBSYSTEM==usb, SYSFS{idVendor}==04da, MODE=0666
#Qualcomm
SUBSYSTEM==usb, SYSFS{idVendor}==05c6, MODE=0666
#SK Telesys
SUBSYSTEM==usb, SYSFS{idVendor}==1f53, MODE=0666
#Samsung
SUBSYSTEM==usb, SYSFS{idVendor}==04e8, MODE=0666
#Sharp
SUBSYSTEM==usb, SYSFS{idVendor}==04dd, MODE=0666
#Sony Ericsson
SUBSYSTEM==usb, SYSFS{idVendor}==0fce, MODE=0666
#Toshiba
SUBSYSTEM==usb, SYSFS{idVendor}==0930, MODE=0666
#ZTE
SUBSYSTEM==usb, SYSFS{idVendor}==19D2, MODE=0666
SUBSYSTEM=="usb", ATTRS{idVendor}=="####:####", SYMLINK+="android_adb", MODE="0666" GROUP="plugdev"
TEST=="/var/run/ConsoleKit/database", \
RUN+="udev-acl --action=$env{action} --device=$env{DEVNAME}"
After this, close it and then enter:
Code:
sudo chmod +x /etc/udev/rules.d/99-android.rules
If your using ANY AOSP rom like AOKP or CM9 and CM10
Go into developer options and go to root access and change it from "Apps only" to Apps and ADB"
2e. Install Certain Android SDK Tools
Type:
Code:
android
Check Android SDK Tools and Android SDK platform-tools and Install them
Setting Up the .bashrc file
gedit ~/.bashrc
Enter the Following:
Code:
#Android PATH
export PATH=$PATH:~/android/sdk
export PATH=$PATH:~/android/sdk/platform-tools
export PATH=$PATH:~/android/sdk/tools
#Java PATH
export JAVA_HOME=/opt/java/64/jdk1.6.0_32
export PATH=$PATH:$JAVA_HOME/bin
3b. After your done setting this up, close .bashrc file.
Setup Workplace
4a. Download CyanogenMod 9 Source
Code:
mkdir -p ~/bin
mkdir -p ~/android/system
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo (Reboot your computer after this)
4b. Add Repo Path
gedit ~/.bashrc
Enter the following:
Code:
export PATH=$PATH:~/bin
4c. Setup Necessary Source
For CyanogenMod 9
Code:
cd ~/android/system
repo init -u git://github.com/CyanogenMod/android.git -b ics
For CyanogenMod 10
Code:
cd ~/android/system
repo init -u git://github.com/CyanogenMod/android.git -b jellybean
4d. Download Necessary Source
Code:
repo sync
4e. Download Extra Needed Files
Code:
~/android/system/vendor/cm/get-prebuilts
Your Final .bashrc
It SHOULD Look Something Like This:
Code:
#Android PATH
export PATH=$PATH:~/android/sdk
export PATH=$PATH:~/android/sdk/platform-tools
export PATH=$PATH:~/android/sdk/tools
export PATH=$PATH:~/bin
#Java PATH
export JAVA_HOME=/opt/java/64/jdk1.6.0_##
export PATH=$PATH:$JAVA_HOME/bin
Building CyanogenMod
Code:
. build/envsetup.sh; lunch cm_pyramid-userdebug; mka bacon
Making a New Build
Go inside to your source folder and delete the 'out' folder
THEN Do This:
Code:
repo sync
Code:
. build/envsetup.sh; lunch cm_pyramid-userdebug; mka bacon
Compile AOKP Section
Be sure to follow the steps from the above post and ONLY use this instead of the part called 4c. Setup Necessary Source
FOR AOKP (ICS Version)
Code:
cd ~/android/system
repo init -u https://github.com/AOKP/platform_manifest.git -b ics
Temporary fix to build:
Code:
install -d prebuilt/android-arm/kernel
Then do:
Code:
curl -o prebuilt/android-arm/kernel/LINUX_KERNEL_COPYING -O https://raw.github.com/ezterry/kernel-biff-testing/ezgb-2636/COPYING
FOR AOKP (JELLYBEAN Version)
Code:
cd ~/android/system
repo init -u https://github.com/AOKP/platform_manifest.git -b jb
5b. Building AOKP
Code:
. build/envsetup.sh; lunch aokp_pyramid-userdebug; mka bacon
Compiling error solutions
error: The requested URL returned error: 403 while accessing https://android.googlesource.com/pla...blzf/info/refs:
http://forum.xda-developers.com/showpost.php?p=23205163&postcount=423
Correct repo file for ~/bin/repo:
http://forum.xda-developers.com/showpost.php?p=23174017&postcount=413
Overall repo fix:
http://forum.xda-developers.com/showpost.php?p=23147034&postcount=400
http://forum.xda-developers.com/showpost.php?p=23207819&postcount=434
Reference
This section is to help those who may look for answers
Basic Linux Commands
http://ss64.com/bash/
CyanogenMod Wiki
http://wiki.cyanogenmod.com/wiki/Main_Page
Difference between breakfast, brunch and lunch
http://synrgi.wordpress.com/2011/09/16/breakfast-brunch-and-lunch/
Installing Android SDK
http://developer.android.com/sdk/installing.html
You running a nightly?
Sent from my HTC Sensation XE with Beats Audio using Tapatalk
hi man thank you for this guide, i got a problem
when i try to install the first files for sistem 64 bit i get this error:
Package awk is a virtual package provided by:
original-awk 2011-05-06-1
mawk 1.3.3-15ubuntu2
gawk 1:3.1.8+dfsg-0.1build1
You should explicitly select one to install.
E: Package 'awk' has no installation candidate
E: Unable to locate package 7zip
You say that it is not recommended to do it in a virtual machine. What if I got 8 gigs of memory? Could I try it?? Thanx
Sent from my Sensation using XDA App
Nope.
A box is a box.
Ubuntu standalone is a very powerfull machine.
Just install 64bit and my advice to you: avoid Ubuntu. Try another version, which is compatible with this guide. I suggest Kubuntu or Xubuntu (64).
webmasteryoda said:
Nope.
A box is a box.
Ubuntu standalone is a very powerfull machine.
Just install 64bit and my advice to you: avoid Ubuntu. Try another version, which is compatible with this guide. I suggest Kubuntu or Xubuntu (64).
Click to expand...
Click to collapse
Ubuntu is fine, just strip out unity & replace with gnome shell
matt95 said:
hi man thank you for this guide, i got a problem
when i try to install the first files for sistem 64 bit i get this error:
Package awk is a virtual package provided by:
original-awk 2011-05-06-1
mawk 1.3.3-15ubuntu2
gawk 1:3.1.8+dfsg-0.1build1
You should explicitly select one to install.
E: Package 'awk' has no installation candidate
E: Unable to locate package 7zip
Click to expand...
Click to collapse
It might not be 7zip but 7za
As for awk try to install original-awk I wasn't sure actually since I had my computer setup for a long time already with everything
miniudavid said:
You say that it is not recommended to do it in a virtual machine. What if I got 8 gigs of memory? Could I try it?? Thanx
Sent from my Sensation using XDA App
Click to expand...
Click to collapse
I don't recommend virtual machines at all!
Just dual boot if you have windows that's how I setup my computer.
n1kon said:
You running a nightly?
Sent from my HTC Sensation XE with Beats Audio using Tapatalk
Click to expand...
Click to collapse
In a way yes but no, the work to get sensation cm9 at the moment is done by Vorbeth, elelinux and others.
I compiled my own and it runs pretty good honestly but there are major issues but it'll be fixed later hopefully.
Vorbeth said:
Ubuntu is fine, just strip out unity & replace with gnome shell
Click to expand...
Click to collapse
Nope. Gnome shell is a same story. Thats why I suggested kde or xfce.
webmasteryoda said:
Nope. Gnome shell is a same story. Thats why I suggested kde or xfce.
Click to expand...
Click to collapse
I like Linux Mint. They have done a great job with Gnome 3 in making a more usable interface.
Sent from my HTC Sensation Z710e using Tapatalk
After this command:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b ics
I get this output:
Code:
No command 'repo' found, did you mean:
Command 'rep' from package 'rep' (universe)
Command 'repl' from package 'nmh' (universe)
Command 'repl' from package 'mailutils-mh' (universe)
repo: command not found
Any ideas?
Sym_Link said:
I like Linux Mint. They have done a great job with Gnome 3 in making a more usable interface.
Sent from my HTC Sensation Z710e using Tapatalk
Click to expand...
Click to collapse
I agree. Linux Mint has the best Gnome 3 experiance. But its still Gnome 3. Mutter is still having a major issues with Ati propriatory drivers, while the other intefaces work excellent.
I think that probably the best Ubuntu distro for cooking roms is Xubuntu. Its well optimised and free of all sorts of fancy staff.
Thanks for the detailed HOWTO
[/COLOR]
iJohnny said:
After this command:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b ics
I get this output:
Code:
No command 'repo' found, did you mean:
Command 'rep' from package 'rep' (universe)
Command 'repl' from package 'nmh' (universe)
Command 'repl' from package 'mailutils-mh' (universe)
repo: command not found
Any ideas?
Click to expand...
Click to collapse
The repo script is not in your path yet. I created a directory like /home/mperry/b in first and then installed the repo script there. You can prepend the command repo with the place you put the repo script. I copied repo to /usr/bin since this is a personal system and I don't care what I violate. You could also add a path statement to your .bashrc for the user which includes the path to the bin directory you created.
miniudavid said:
You say that it is not recommended to do it in a virtual machine. What if I got 8 gigs of memory? Could I try it?? Thanx
Sent from my Sensation using XDA App
Click to expand...
Click to collapse
That should be fine but why do vm at all? I mean vm is not really good for development I.m.o.
Vorbeth said:
Ubuntu is fine, just strip out unity & replace with gnome shell
Click to expand...
Click to collapse
This is what I did but I installed kde plasma instead.
Updated the OP to be more clear and added a few things missing

[GUIDE]How to build CM9, AOKP, or ICS from source on Windows or Linux

How to build ICS from source using Windows 64bit or Linux 64bit​This guide has only been confirmed for linux or Ubuntu v11.10
If step has a ** then that means skip if on Linux
If step has a ~~ then that means skip if on Windows
If no key then perform on all operating systems
I reccomend to copy and paste commands as some are very long.
Required Packages:
** You may download Ubuntu 11.10 (a MUST if using windows) here or use the torrent. (You can Dual boot with an installer app or run in a Virtual machine)
Lets download Java 6:
start a terminal and type the following in
Code:
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jdk
Once everything is installed and setup, exit and re-open terminal give your self root permisions:
Code:
sudo -i
Now lets download some other required packages (in terminal):
Code:
apt-get install python git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils
ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
Setting up basic features:
Lets setup USB to work with our phones (ADB and such):
Code:
gksudo gedit /etc/udev/rules.d/51-android.rules
then enter the following into the top of the text box:
Code:
#Acer
SUBSYSTEM==usb, SYSFS{idVendor}==0502, MODE=0666
#ASUS
SUBSYSTEM==usb, SYSFS{idVendor}==0b05, MODE=0666
#Dell
SUBSYSTEM==usb, SYSFS{idVendor}==413c, MODE=0666
#Foxconn
SUBSYSTEM==usb, SYSFS{idVendor}==0489, MODE=0666
#Garmin-Asus
SUBSYSTEM==usb, SYSFS{idVendor}==091E, MODE=0666
#Google
SUBSYSTEM==usb, SYSFS{idVendor}==18d1, MODE=0666
#HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE=0666
#Huawei
SUBSYSTEM==usb, SYSFS{idVendor}==12d1, MODE=0666
#K-Touch
SUBSYSTEM==usb, SYSFS{idVendor}==24e3, MODE=0666
#KT Tech
SUBSYSTEM==usb, SYSFS{idVendor}==2116, MODE=0666
#Kyocera
SUBSYSTEM==usb, SYSFS{idVendor}==0482, MODE=0666
#Lenevo
SUBSYSTEM==usb, SYSFS{idVendor}==17EF, MODE=0666
#LG
SUBSYSTEM==usb, SYSFS{idVendor}==1004, MODE=0666
#Motorola
SUBSYSTEM==usb, SYSFS{idVendor}==22b8, MODE=0666
#NEC
SUBSYSTEM==usb, SYSFS{idVendor}==0409, MODE=0666
#Nook
SUBSYSTEM==usb, SYSFS{idVendor}==2080, MODE=0666
#Nvidia
SUBSYSTEM==usb, SYSFS{idVendor}==0955, MODE=0666
#OTGV
SUBSYSTEM==usb, SYSFS{idVendor}==2257, MODE=0666
#Pantech
SUBSYSTEM==usb, SYSFS{idVendor}==10A9, MODE=0666
#Philips
SUBSYSTEM==usb, SYSFS{idVendor}==0471, MODE=0666
#PMC-Sierra
SUBSYSTEM==usb, SYSFS{idVendor}==04da, MODE=0666
#Qualcomm
SUBSYSTEM==usb, SYSFS{idVendor}==05c6, MODE=0666
#SK Telesys
SUBSYSTEM==usb, SYSFS{idVendor}==1f53, MODE=0666
#Samsung
SUBSYSTEM==usb, SYSFS{idVendor}==04e8, MODE=0666
#Sharp
SUBSYSTEM==usb, SYSFS{idVendor}==04dd, MODE=0666
#Sony Ericsson
SUBSYSTEM==usb, SYSFS{idVendor}==0fce, MODE=0666
#Toshiba
SUBSYSTEM==usb, SYSFS{idVendor}==0930, MODE=0666
#ZTE
SUBSYSTEM==usb, SYSFS{idVendor}==19D2, MODE=0666
save it and set permissions to it:
Code:
chmod a+r /etc/udev/rules.d/51-android.rules
Now reboot your ubuntu or linux machine just to be safe
Start a new terminal
Now lets setup a bin folder:
Code:
mkdir ~/bin
gedit ~/.bashrc
In the text box type then save:
Code:
#Will use anything in the bin folder in any dir
PATH=~/bin:$PATH
Initializing the repo:
Now lets download the repo binary and put it in the bin:
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Now exit and restart the terminal
Alright lets download the source:
Code:
mkdir Android_Source
cd Android_Source
Do this step if building CM9:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b ics
Do this step if building AOKP:
Code:
repo init -u git://github.com/AOKP/platform_manifest.git -b ics
Do this step if building plain ICS:
Code:
repo init -u https://android.googlesource.com/platform/manifest -b android-4.0.4_r1
Download the source:
Sync the repo (-j stands for how many jobs to do at once replace the ? with a number, I use 6 because i have a quad-core so I can go faster):
This can take anywhere from 30 minutes to 5 hours based on your internet speed
Code:
repo sync -j?
Configuring the repo for the Doubleshot:
Now lets set the repo up for our device:
Code:
cd device
mkdir htc (skip if exist)
cd htc
If building CM9:
Code:
git clone git://github.con/CyanogenMod/android_device_htc_doubleshot.git -b ics doubleshot
cd doubleshot
curl http://dl.dropbox.com/u/40873980/vendorsetup.sh >>vendorsetup.sh
cd ..
git clone git://github.com/CyanogenMod/android_device_htc_msm8660-common.git -b ics msm8660-common
cd ../..
cd vendor
mkdir htc (skip if exist)
cd htc
git clone git://github.com/TeamDS/vendor_htc_doubleshot.git -b stable doubleshot
cd ../..
If building AOKP:
Code:
git clone git://github.com/WildchildIcE/device_htc_doubleshot.git -b aokp doubleshot
cd ../..
cd vendor
mkdir htc (skip if exist)
cd htc
git clone git://github.com/WildchildIcE/vendor_htc_doubleshot.git -b ics doubleshot
cd ../..
If building ICS: coming soon
Building from source:
Finally lets build!:
Code:
. build/envsetup.sh
lunch 4
Build a flashable rom zip:
(-j stands for how many jobs to do at once replace the ? with a number, I use 6 because i have a quad-core so I can go faster)
This can take anywhere from 30 minutes to 5 hours based on your CPU speed
Code:
make -j? otapackage
Build a boot.img:
Code:
make -j? bootimage
Build a recovery image:
Code:
make -j? recoveryimage
That should make you a working build of CM9, AOKP, or ICS.
Note: From personal experience, building AOKP with our device may require some simple environment hacking.
1. Using a file explorer, navigate to (your source folder)/build/target/product.
2. Edit core.mk and take out "PRODUCT_NAME := core" and "PRODUCT_BRAND := generic" then save
3. Go back to the root of the source folder
4. goto vendor/aokp/products
5. delete picasso.mk and then edit androidproducts.mk
6. take out the line "$(LOCAL_DIR)/picasso.mk \" then save
7. then delete the following two directories, "/device/acer" and "vendor/acer/"
Then experiment!
my spot....move along
Useful, but I'm running 32-bit Ubuntu 12.04.
Sent from Spaceball One.
Looks fun but I don't have the setup :-(. 32 bit peppermint two OS here. Even if I could compile, my dinosaur would finish sometime around jelly bean ha
Sent from my myTouch_4G_Slide using xda premium
blackknightavalon said:
Useful, but I'm running 32-bit Ubuntu 12.04.
Sent from Spaceball One.
Click to expand...
Click to collapse
yea....ubuntu 12 requires hacking libs to make backwards compaitability....not fun
strapped365 said:
Looks fun but I don't have the setup :-(. 32 bit peppermint two OS here. Even if I could compile, my dinosaur would finish sometime around jelly bean ha
Sent from my myTouch_4G_Slide using xda premium
Click to expand...
Click to collapse
lol i know how u feel
I am building aokp from source for Desire S/Saga.. so Is this correct as of my device saga ??
git clone git://github.com/xmc-wildchild22/android_device_htc_saga.git -b aokp saga
cd ..
cd ../..
cd vendor
mkdir htc
cd htc
git clone git://github.com/xmc-wildchild22/vendor_htc_saga.git -b aokp saga
cd ../..
Click to expand...
Click to collapse
+ Can It be build over 32 bit ubuntu
it is possible to build on 32bit...however its extremely hard....save your self sometime and go 64bit. lol no that command wont work....the git clone command is downloading my device tree here and specifing the branch as aokp. someone has to make a device tree for your device. but i see the saga already has an official cm device tree. ill port it over to work for aokp and send you a dl
edit:
here you go...use this as your device tree
Will try this tomorrow morning after I install ubuntu 12.04. Hopefully with an i7 2670qm it won't take 30 mins to build
Sent from my myTouch_4G_Slide using Tapatalk 2
install the version of ubuntu listed above to avoid hacking libs for backwards compaitability
Hey, I got my new Laptop.
Its an ASUS G7.
It has a Core i7-2630M @2.0GHZ with Turbo at 2.8GHz. It also has multi threading so it has 8 core (4 physical, 4 Virtual).
A GTX 560M
8G's of Ram
50 SSD
What are some good guidelines to get the most out of this Laptop Dev wise?
AgentCherryColla said:
Hey, I got my new Laptop.
Its an ASUS G7.
It has a Core i7-2630M @2.0GHZ with Turbo at 2.8GHz. It also has multi threading so it has 8 core (4 physical, 4 Virtual).
A GTX 560M
8G's of Ram
50 SSD
What are some good guidelines to get the most out of this Laptop Dev wise?
Click to expand...
Click to collapse
Nice I got a k53sd with similar specs except processor and ssd but I'm jelly of your gtx 560m.. how much did you get it for? I got mine for 699 2 months ago.
Sent from my myTouch_4G_Slide using Tapatalk 2
Why isn't this in dev?
Nice XMC - real nice.
... when I get the chance to get back into dev again, I want to start with ICS. Contributions like this will make it real easy to just jump right in and start helping.
Thanks for sharing!
Instead of
Code:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk
I had to do this to install java6 jdk. Looks like the package isn't in the archive anymore
Code:
sudo add-apt-repository [B]ppa:ferramroberto/java[/B]
sudo apt-get update
sudo apt-get install sun-java6-jdk
and lib32readline5-dev is not available. I used lib32readline-gplv2-dev instead
EDIT:
ALSO!!
You should probably put into the guide to close the terminal and start a new one right after the edit to ~/.bashrc. I forgot to do that and kept wondering why the repo command wasn't found
...How to build....on Wondoze....
Click to expand...
Click to collapse
HAHAHA
Love the way you mislead the wondoze newbs...
You may download Ubuntu 11.10 (a MUST if using windows)
Click to expand...
Click to collapse
nemesis93 said:
Nice I got a k53sd with similar specs except processor and ssd but I'm jelly of your gtx 560m.. how much did you get it for? I got mine for 699 2 months ago.
Sent from my myTouch_4G_Slide using Tapatalk 2
Click to expand...
Click to collapse
500. Bought it off a work buddy.
Sent from my myTouch_4G_Slide using xda premium
When specifying the number of threads to run i.e. 'repo sync j8' for 8 threads, keep in mind that intel core processors have hyperthreading which lets you effectively double the amount of threads you can run. On my core i7 (quadcore) I use 'j8' but if I was running on an amd quadcore I would use 'j4'.
Just my 2 cents...
michaelmab88 said:
When specifying the number of threads to run i.e. 'repo sync j8' for 8 threads, keep in mind that intel core processors have hyperthreading which lets you effectively double the amount of threads you can run. On my core i7 (quadcore) I use 'j8' but if I was running on an amd quadcore I would use 'j4'.
Just my 2 cents...
Click to expand...
Click to collapse
Thanks, I was wondering that. Intel for life righ'???? :3
Sent from my myTouch_4G_Slide using xda premium
you just need a debian base linux. And if your not sure how to get backward comparability with ubuntu 12 you can always install linux mint debian also this is just my opinion you get better results using aptitude instead of apt-get. I have to say this UNITY SUCKS ruined a great linux distro.
michaelmab88 said:
When specifying the number of threads to run i.e. 'repo sync j8' for 8 threads, keep in mind that intel core processors have hyperthreading which lets you effectively double the amount of threads you can run. On my core i7 (quadcore) I use 'j8' but if I was running on an amd quadcore I would use 'j4'.
Just my 2 cents...
Click to expand...
Click to collapse
Actually, hyperthreading effectively does NOTHING to improve your compile time. Extra threads swapping back and forth actually increases the overhead and decreases performance.
What hyperthreading does, is it takes away some of the operating system's ability to control process scheduling. Its basic purpose is that if you have some runaway or other high-CPU process that wants to take over your CPU, the hardware will assign a higher priority to OTHER processes, giving them equal CPU time so you don't end up dead. It will improve your "smoothness" by effectively increasing priority of low-cpu processes. It is basically pointless on CPU's with multiple real processing cores, and equally pointless on operating systems with decent process schedulers -- i.e., it is for Wondoze on single core processors. Beyond that, they're just trying to technobabble you into thinking that there is some benefit.
Best thing to do is set the number of compiler threads equal to the number of REAL processing cores.
---------- Post added at 04:09 PM ---------- Previous post was at 04:07 PM ----------
darkdata said:
you just need a debian base linux. And if your not sure how to get backward comparability with ubuntu 12 you can always install linux mint debian also this is just my opinion you get better results using aptitude instead of apt-get. I have to say this UNITY SUCKS ruined a great linux distro.
Click to expand...
Click to collapse
Does NOT need to be debian based at all. Just needs to have the necessary dependencies installed and available. I build Android on Fedora.
dhkr234 said:
Actually, hyperthreading effectively does NOTHING to improve your compile time. Extra threads swapping back and forth actually increases the overhead and decreases performance.
What hyperthreading does, is it takes away some of the operating system's ability to control process scheduling. Its basic purpose is that if you have some runaway or other high-CPU process that wants to take over your CPU, the hardware will assign a higher priority to OTHER processes, giving them equal CPU time so you don't end up dead. It will improve your "smoothness" by effectively increasing priority of low-cpu processes. It is basically pointless on CPU's with multiple real processing cores, and equally pointless on operating systems with decent process schedulers -- i.e., it is for Wondoze on single core processors. Beyond that, they're just trying to technobabble you into thinking that there is some benefit.
Best thing to do is set the number of compiler threads equal to the number of REAL processing cores.
Click to expand...
Click to collapse
I must confess I don't know much about the 'technobabble'.. I normally wouldn't run make -j* either.. I just run brunch and everything takes care of itself..
Here are a couple pages to look at for optimizing build time...
edit: and reposync in stead of repo sync.. but you have to setup the environment in the terminal before reposync will work (run '. build/envsetup.sh')

[DEV] - Pantech Burst - CM10 porting

This thread is for the development of Cyanogenmod for Pantech Burst. Any help is greatly appreciated. Below is somewhere to start from but will be adding more as we progress.
Pantech Burst CM10 Discussion thread <----Use this to ask questions. This thread is for development only
Pantech Burst Forum
Are you a dev? want to help the burst in its custom development journey? JOIN THE CHAT!!!
http://webchat.freenode.net/?channels=#burstroot
mifl said:
For anyone who wants to contribute to the project, I created an organization on Github: https://github.com/PrestoTeam.
Here have been added the five repositories needed to work:
https://github.com/PantechDevTeam/android_device_pantech_presto
https://github.com/PantechDevTeam/android_device_pantech_qcom-common
https://github.com/PantechDevTeam/android_device_pantech_msm8660-common
https://github.com/PantechDevTeam/android_kernel_pantech_p9070
https://github.com/PantechDevTeam/android_vendor_pantech_presto
These are the steps that I think we should follow:
Register an account on "Github". It is simple and there are many tutorials.
Make a backup of local files, to keep the changes you have made ​​each user.
Make a fork of the three repositories is on Github organization, and put in your local_manifest.xml.
Remove your "/ out" dir, $repo sync and compile again.
Well I think we can move faster. Without doubt the changes that each user has done on your computer. So each user, using the button "Pull Request", can send the modifications that wants, to repository team. We can discuss changes in the Github page or in this post.
I hope everyone likes this proposal.
You can try to add your Github account. Don't be angry, if it takes a little time before adding your account, I'm still learning.
------------------------------------------------------------------------------------
To begin working with the repositories, you can follow these links:
http://forum.xda-developers.com/showpost.php?p=35474318&postcount=245
http://forum.xda-developers.com/showpost.php?p=33642150&postcount=1
If you have questions about how to do any of the above steps ask here, we will try to help everyone to be resolved as quickly as possible.
Please friends, remember that this is a post to development our rom.
------------------------------------------------------------------------------------
Greetings.
Click to expand...
Click to collapse
Working / Bugs List yet -
Touch
Mobile Data Both 2G/3G , 4G isn't available here
Bluetooth
Wifi
Audio
Haptic feedback
Backlight on keys
Gallery
ADB
External SD support
Mount USB
GPS
All Apk's And Games worked fine also .
What Is essential to be fixed more to use on daily basis :-
Hardware Decoder , Though videos got played with software decoder .
Camera + flashlight
For a complete stable rom these things also needed to be fixed :-
proximity sensor ( half works )
Magneto sensor ( Needs to be tested )
more to come as we find them
***Last updated 3/15/2013 @ 12:00pm EST***
Compile Unofficial CyanogenMod 10 for Pantech Burst
To compile Unofficial CyanogenMod for Pantech Burst P9070 (presto), 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/oracle-sun-java-6-installer-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 http://commondatastorage.googleapis.com/git-repo-downloads/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 presto 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="PantechDevTeam/android_device_pantech_presto" path="device/pantech/presto" remote="github" revision="jellybean" />
<project name="PantechDevTeam/android_device_pantech_qcom-common" path="device/pantech/qcom-common" remote="github" revision="jellybean" />
<project name="PantechDevTeam/android_device_pantech_msm8660-common" path="device/pantech/msm8660-common" remote="github" revision="jellybean" />
<project name="PantechDevTeam/android_kernel_pantech_p9070" path="kernel/pantech/p9070" remote="github" revision="jellybean" />
</manifest>
Synchronize the repositories:
Code:
cd ~/android/cyanogenmod/jellybean/
repo sync
6º - Copy proprietary files:
Option 1:
To compile pantech presto, connect the device to the computer and ensure that ADB is working properly.
Code:
cd ~/android/cyanogenmod/jellybean/device/pantech/presto
./extract-files.sh
Option 2:
You can also include the repository with the necessary files for complilación:
Code:
gedit ~/android/cyanogenmod/jellybean/.repo/local_manifests/roomservice.xml
Add this line
Code:
<project name="PantechDevTeam/android_vendor_pantech_presto" path="vendor/pantech/presto" 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:
~/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 presto
9º - Install
If you're a little crazy, and at your own risk, you can complete the installation:
Copy your .zip file from ~/android/cyanogenmod/jellybean/out/target/product/presto/cm-10-XXXXX-UNOFFICIAL-presto.zip to the root of the SD card.
Optional: Download Google Apps for CyanogenMod 10 and place it on the root of the SD card.
Flash both of these .zip files from recovery.
-----------------------------------------------------------------------------------------
Update:
In CyanogenMod, ~/.repo/local_manifest.xml file has been changed to ~/.repo/local_manifests/roomservice.xml
----------------------------------------------------------------------------------------------------------------
Greetings.
mifl said:
Hello kagedws6:
I'm trying to porting CM7.
Today I got the first complete compilation, but I am beginning not know if I've done well.
I wish I could share the work and the big developers who are in this forum will help us improve it.
if I can write a little later I followed the steps.
Sorry for my bad English.
Click to expand...
Click to collapse
feel free to post as much information as possible here! The more people we can get involved the better and it will help bring even more people in! We have to let XDA know the burst won't fade away and maybe someday we'll get our own section!
mifl said:
Hello kagedws6:
I'm trying to porting CM7.
Today I got the first complete compilation, but I am beginning not know if I've done well.
I wish I could share the work and the big developers who are in this forum will help us improve it.
if I can write a little later I followed the steps.
Sorry for my bad English.
Click to expand...
Click to collapse
Have you tried installing it on the Burst and if so, will it boot?
mifl said:
Hello kagedws6:
I'm trying to porting CM7.
Today I got the first complete compilation, but I am beginning not know if I've done well.
I wish I could share the work and the big developers who are in this forum will help us improve it.
if I can write a little later I followed the steps.
Sorry for my bad English.
Click to expand...
Click to collapse
If you would like to post any files and any progress you've gotten up for review and tweeking please do. You can upload with dropbox or something like that and post the links up
kagedws6 said:
If you would like to post any files and any progress you've gotten up for review and tweeking please do. You can upload with dropbox or something like that and post the links up
Click to expand...
Click to collapse
I'm making some free time this upcoming week to work on this. The first thing I would like to do is recompile recovery and implement touch support.
One that is done I'll upload the crude device tree to start the rest from.
Sent from my PantechP9070 using xda app-developers app
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:
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 lib32readline-gplv2-dev schedtool lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils
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/oracle-sun-java-6-installer-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.
To create them:
Code:
$ 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:
Code:
curl http://commondatastorage.googleapis.com/git-repo-downloads/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:
Code:
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.
Code:
$ gedit ~/android/codeaurora/ics/.repo/local_manifest.xml.
Add these lines
Code:
<?xml version="1.0" encoding="UTF-8"?>
<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 third and fourth lines, allows you to add repositories: Github and AOSP.
The sixth and seventh lines, 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.
Code:
$ 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":
Code:
#============================================
# 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":
Code:
#============================================
# 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:
Code:
# 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:
Code:
# 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:
Code:
$ cd ~/android/codeaurora/ics/
$ repo sync
Now, the environment must be configured to build and the ROM compiled.
Code:
$ 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.
mifl said:
Hi
In the new project "Cyanogen-presto" on Google Project Hosting, can download the files, used by me to compile CM7.
The download link is: CM presto_device
I hope to update the project, but my job don´t leaves me time.
Join to the project, together we can do a good job
A greeting.
Click to expand...
Click to collapse
I want to thank you so much for taking the steps needed to get this started and to anyone else reading this that has been helping. I have made a few attempts by myself but with as little as I know I haven't gotten them to install threw cwm which is probably a good thing as I may have bricked my phone if I had been sucessful. Hopefully with this we will be able to progress and also get noticed in the process.
kagedws6 said:
I want to thank you so much for taking the steps needed to get this started and to anyone else reading this that has been helping. I have made a few attempts by myself but with as little as I know I haven't gotten them to install threw cwm which is probably a good thing as I may have bricked my phone if I had been sucessful. Hopefully with this we will be able to progress and also get noticed in the process.
Click to expand...
Click to collapse
Couldn't agree more! Thank you mifl! It would seem you've put a lot of work into this, thank you.
Sent from my PantechP9070 using xda app-developers app
stevotdo said:
Couldn't agree more! Thank you mifl! It would seem you've put a lot of work into this, thank you.
Sent from my PantechP9070 using xda app-developers app
Click to expand...
Click to collapse
ty too stevotdo! for all the work you've done to date and also that you've already given urself to do in the future!
stevotdo said:
Couldn't agree more! Thank you mifl! It would seem you've put a lot of work into this, thank you.
Click to expand...
Click to collapse
kagedws6 said:
I want to thank you so much for taking the steps needed to get this started and to anyone else reading this that has been helping. I have made a few attempts by myself but with as little as I know I haven't gotten them to install threw cwm which is probably a good thing as I may have bricked my phone if I had been sucessful. Hopefully with this we will be able to progress and also get noticed in the process.
Click to expand...
Click to collapse
Thanks guys.
I will try continue working: a guide on how to be compiled and advance in the compatibility of the ROM.
But I have to learn to handle the tools of Google Project Hosting, to include sources files, and use the Wiki for tutorials.
Not answer many post, because the lack of English makes me take long to answer them.
If possible I would like people to collaborate on the project. Providing corrections, suggestions and modifications to the code of the ROM.
A greeting.
mifl said:
Thanks guys.
I will try continue working: a guide on how to be compiled and advance in the compatibility of the ROM.
But I have to learn to handle the tools of Google Project Hosting, to include sources files, and use the Wiki for tutorials.
Not answer many post, because the lack of English makes me take long to answer them.
If possible I would like people to collaborate on the project. Providing corrections, suggestions and modifications to the code of the ROM.
A greeting.
Click to expand...
Click to collapse
Need to change the prebuilts and the fstabs. the partition information is wrong in the prebuilts and in the emmc fstab
davepmer said:
Need to change the prebuilts and the fstabs. the partition information is wrong in the prebuilts and in the emmc fstab
Click to expand...
Click to collapse
well I changed the prebuilts and all the partition info I could find. it compiles fine, but will not even bring up adb. not really sure what is wrong.
here are the device files I tried to fix. http://www.4shared.com/zip/0obdiB7y/presto_device_fixed.html?refurl=d1url
fyi I did not flash the boot.img, not brave enough
davepmer said:
well I changed the prebuilts and all the partition info I could find. it compiles fine, but will not even bring up adb. not really sure what is wrong.
here are the device files I tried to fix. http://www.4shared.com/zip/0obdiB7y/presto_device_fixed.html?refurl=d1url
fyi I did not flash the boot.img, not brave enough
Click to expand...
Click to collapse
added your files to the googlecode site
davepmer said:
well I changed the prebuilts and all the partition info I could find. it compiles fine, but will not even bring up adb. not really sure what is wrong.
here are the device files I tried to fix. http://www.4shared.com/zip/0obdiB7y/presto_device_fixed.html?refurl=d1url
fyi I did not flash the boot.img, not brave enough
Click to expand...
Click to collapse
Believe that you need a valid cm7 ramdisk in the boot.img for it to start loading. If you aren't sure about the precompiled kernel you could always split the boot.img and insert your own.
Better yet you could reboot to fastboot and "fastboot boot boot.img" with the cm7 boot.img and on the next boot it will revert to the original boot.img
Sent from my PantechP9070 using xda app-developers app
Hi
The first thank all the work they are doing.
As I said previously my work would begin development of the ROM, and so we could all collaborate.
To add further modifications as soon as possible to the project file and not saturate, they appreciate it used a standard format.
Example:
In the file "recovery.fstab" in the root directory: mmcblk0p14 is data (it has 13)
Change:
Code:
/data ext4 /dev/block/mmcblk0p13
By the following:
Code:
/data ext4 /dev/block/mmcblk0p14
Following this format, the members of the project: "kagedws6", like myself, or anyone who wants to join the project, we add the change as soon as possible.
Thank you all again.
A greeting.
stevotdo said:
Believe that you need a valid cm7 ramdisk in the boot.img for it to start loading. If you aren't sure about the precompiled kernel you could always split the boot.img and insert your own.
Better yet you could reboot to fastboot and "fastboot boot boot.img" with the cm7 boot.img and on the next boot it will revert to the original boot.img
Sent from my PantechP9070 using xda app-developers app
Click to expand...
Click to collapse
when I try to fastboot boot.boot.img I get an image incomplete error. also the size of my boot.img is wrong, it is way too small. My compiled boot.img is 4.6 megs in size. the boot.img from my cwm recovery backup is 10.5 megs. I am missing something in the compiled kernel.
davepmer said:
when I try to fastboot boot.boot.img I get an image incomplete error. also the size of my boot.img is wrong, it is way too small. My compiled boot.img is 4.6 megs in size. the boot.img from my cwm recovery backup is 10.5 megs. I am missing something in the compiled kernel.
Click to expand...
Click to collapse
I ran into that a couple months ago. I still have no idea how to remedy that. I just got done compiling so maybe I can try to figure out what's going on.
I know that the zimage is 4.5 meg (same as when you split the stock boot.img) so I'm wandering what the secret sauce here is we are missing
Edit: I also think it would be worth tearing down the prestoroot.img also. What ever the secret sauce is, it has to be in there too. Since it is the only modified boot.img that we know of that has booted on this thing.
Sent from my PantechP9070 using xda app-developers app
stevotdo said:
I ran into that a couple months ago. I still have no idea how to remedy that. I just got done compiling so maybe I can try to figure out what's going on.
I know that the zimage is 4.5 meg (same as when you split the stock boot.img) so I'm wandering what the secret sauce here is we are missing
Edit: I also think it would be worth tearing down the prestoroot.img also. What ever the secret sauce is, it has to be in there too. Since it is the only modified boot.img that we know of that has booted on this thing.
Sent from my PantechP9070 using xda app-developers app
Click to expand...
Click to collapse
is the ramdisk.gz missing? from what I understand both the zImage and the ramdisk have to be bundled in the boot.img.
*DEV TOOLS* - Pack & Repack Boot.img Files - for Windows USERS shows how to pull it apart and repack it in windows. I'm just going threw the excruciating long download of cygwin

[GUIDE][ROM][S4] How to build your own Baked BlackBean ROM! [AOSP 4.2.1][NOOB-PROOF]

How to compile your own Baked ROM (jb-4.2 branch)​
I have decided to create a guide on how to build your own Baked Blackbean ROM for the HTC One S. I will make this as simple as possible, so even people with no previous knowledge of Linux can follow this tutorial successfully. The ROMs that you compile are for your personal use only...please do not share or post them to show courtesy to TeamBaked. If you have any questions or have any trouble during any part of this tutorial, feel free to post them and I will try to get you sorted out.
I've tried to make this guide as comprehensive as possible, explaining what each step does. It should be fairly thorough and easy enough for anyone with a bit of patience to build.
Click to expand...
Click to collapse
Requirements:
patience (this is the most important)
Ubuntu 12.04 64bit, dual-booted or virtual machine
some space on your Ubuntu partition, I'd say about 50GB to be very safe
an internet connection
Step 1: Setting up your environment
1) You need to install the required packages for compiling AOSP. Open up a terminal, and type this in:
Code:
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.5-multilib g++-4.5-multilib libxml2-utils libxml2 xsltproc
Lastly:
Code:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
OPTIONAL STEPS (Good if you want to do more Android development in the future)
Let's configure our USB access.
Code:
gksudo gedit /etc/udev/rules.d/51-android.rules
A text editor should pop up with a blank file. Copy and paste this to the file:
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 and close the file. Now do this to change its permissions:
Code:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
2) Now we will need to download the Android SDK and set it up properly.
Download the SDK here: http://developer.android.com/sdk/index.html
Extract the archive to your home directory and name it android-sdk
In your home folder, press CTRL + H to show hidden files.
Open up your .bashrc and paste this at the end:
Code:
# Android tools
export PATH=${PATH}:~/android-sdk/tools
export PATH=${PATH}:~/android-sdk/platform-tools
export PATH=${PATH}:~/bin
Open .profile and put this at the end as well:
Code:
PATH="$HOME/android-sdk/tools:$HOME/android-sdk/platform-tools:$PATH"
The SDK has now been setup properly. You can type
Code:
android
in terminal to bring up the SDK menu and install tools/packages if you want.
Step 2: Getting the source downloaded
1) Installing repo and syncing the repository.
Open a new terminal window and type this in:
Code:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Now let's initialize the Baked repo. I am creating a folder name "baked" which is where I will download the source to.
Code:
mkdir baked
cd baked
repo init -u https://github.com/TeamBAKED/platform_manifest.git -b jb-4.2
Let's download the source.
Code:
repo sync -j#
The '#' refers to how many simultaneous jobs you want. I usually do -j16 since I have fast fiber-optic internet, so my command would be "repo sync -j16".
Now the source is downloading. You can leave your computer alone until it is done.
Step 3: Adding in configurations for ville.
This step is NOT needed anymore, because the One S has been merged into official BAKED. Skip ahead to step 4! :victory:
Because TeamBaked doesn't officially support the One S, we will have to add in the parts for ville manually and ensure buildability. I have pre-made everything, so there is really nothing you need to do on your part. You just need to download the parts and place them in their correct directories.
1) We need to first add a local_manifest.xml so we can integrate the projects needed for ville during repo sync. Luckily, I have already prepared one. In baked/.repo/ create a file named "local_manifest.xml", and paste this in:
Code:
Save and close. Then do another
Code:
repo sync -j#
so we can now fetch the additional ville-related parts. The manifest tracks the CM10.1 repos for the kernel and msm8960 common stuff, but the device tree that it tracks is from my Github because I have modified it for the Baked ROM. I'll try and keep it as updated as the CM10.1 device tree as development continues.
2) Now we need another config file, which tells the build system what to execute and which device-specific parameters to be set. Go into baked/vendor/baked/products/ and create a file named "ville.mk". Paste this in:
Code:
# Inherit AOSP device configuration for ville.
$(call inherit-product, device/htc/ville/device_ville.mk)
# Inherit common product files.
$(call inherit-product, vendor/baked/configs/common.mk)
# Inherit GSM common stuff
$(call inherit-product, vendor/baked/configs/gsm.mk)
# Setup device specific product configuration.
PRODUCT_NAME := baked_ville
PRODUCT_BRAND := HTC
PRODUCT_DEVICE := ville
PRODUCT_MODEL := HTC One S
PRODUCT_MANUFACTURER := HTC
PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_ville BUILD_FINGERPRINT=tmous/ville/ville:4.0.4/IMM76D/96068.7:user/release-keys PRIVATE_BUILD_DESC="=2.35.531.7 CL96068 release-keys" BUILD_NUMBER=96068
# bootanimation
PRODUCT_COPY_FILES += \
vendor/baked/prebuilt/bootanimation/bootanimation_540_960.zip:system/media/bootanimation.zip
Now open up AndroidProducts.mk. We need to tell it to call the configuration file that you just created. Add in
Code:
$(LOCAL_DIR)/ville.mk \
right after vibrantmtd. So the whole file should look something like this (at the time of writing, YMMV):
Code:
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/captivatemtd.mk \
$(LOCAL_DIR)/crespo.mk \
$(LOCAL_DIR)/crespo4g.mk \
$(LOCAL_DIR)/d2att.mk \
$(LOCAL_DIR)/d2mtr.mk \
$(LOCAL_DIR)/d2spr.mk \
$(LOCAL_DIR)/d2tmo.mk \
$(LOCAL_DIR)/d2usc.mk \
$(LOCAL_DIR)/d2vzw.mk \
$(LOCAL_DIR)/endeavoru.mk \
$(LOCAL_DIR)/fascinatemtd.mk \
$(LOCAL_DIR)/galaxysmtd.mk \
$(LOCAL_DIR)/i9300.mk \
$(LOCAL_DIR)/grouper.mk \
$(LOCAL_DIR)/maguro.mk \
$(LOCAL_DIR)/mako.mk \
$(LOCAL_DIR)/manta.mk \
$(LOCAL_DIR)/mesmerizemtd.mk \
$(LOCAL_DIR)/p3113.mk \
$(LOCAL_DIR)/p5wifi.mk \
$(LOCAL_DIR)/toro.mk \
$(LOCAL_DIR)/tf201.mk \
$(LOCAL_DIR)/tf300t.mk \
$(LOCAL_DIR)/tf700t.mk \
$(LOCAL_DIR)/toroplus.mk \
$(LOCAL_DIR)/showcasemtd.mk \
$(LOCAL_DIR)/stingray.mk \
$(LOCAL_DIR)/vibrantmtd.mk \
[COLOR="Red"][B]$(LOCAL_DIR)/ville.mk \[/B][/COLOR]
$(LOCAL_DIR)/wingray.mk
Step 4: Actually building. FInally!
1) Open a terminal, and navigate to the baked/ directory.
2) Type this:
Code:
cp external/kernel-headers/original/sound/asound.h prebuilts/gcc/linux-x86/host/i686-linux-glibc2.7-4.6/sysroot/usr/include/sound/
You will run into errors if you don't copy over that kernel header. AOSP Jelly Bean glibc sysroot seems to include an asound.h that relies on uint32t which isn't (normally) defined.
3) Type:
Code:
. build/envsetup.sh
lunch
4) You will be brought up with a menu that looks something like this:
Code:
You're building on Linux
Lunch menu... pick a combo:
1. mini_armv7a_neon-userdebug
2. mini_armv7a-userdebug
[B][COLOR="Red"]3. baked_ville-userdebug[/COLOR][/B]
4. full_panda-userdebug
5. baked_toro-userdebug
6. baked_maguro-userdebug
7. baked_mako-userdebug
8. baked_manta-userdebug
9. baked_toroplus-userdebug
10. baked_crespo-userdebug
11. baked_crespo4g-userdebug
12. baked_grouper-userdebug
13. baked_captivatemtd-userdebug
14. baked_d2att-userdebug
15. baked_d2mtr-userdebug
16. baked_d2spr-userdebug
17. baked_d2tmo-userdebug
18. baked_d2usc-userdebug
19. baked_d2vzw-userdebug
20. baked_endeavoru-userdebug
21. baked_fascinatemtd-userdebug
22. baked_galaxysmtd-userdebug
23. baked_i9300-userdebug
24. baked_mesmerizemtd-userdebug
25. baked_p3113-userdebug
26. baked_p5wifi-userdebug
27. baked_showcasemtd-userdebug
28. baked_stingray-userdebug
29. baked_tf201-userdebug
30. baked_tf300t-userdebug
31. baked_tf700t-userdebug
32. baked_vibrantmtd-userdebug
33. baked_wingray-userdebug
Which would you like? [full-eng]
See that baked_ville-userdebug is at number 3. So type in '3' or whatever the corresponding number is.
4) Now wait a minute or two (depending on how fast your computer is) as it calls the makefiles and sets up your build system.
5) When the 'lunch' has finished, you should see something like this:
Code:
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.2.1
TARGET_PRODUCT=baked_ville
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_[email protected]_3.20GHz-with-gentoo-2.1
HOST_BUILD_TYPE=release
BUILD_ID=JOP40D
OUT_DIR=/home/klin1344/baked/out
============================================
Now type in
Code:
mka bacon -j#
and the build process will begin! Again, here the -j# is an option on how many simultaneous jobs you want. It's common to use a number between 1 and 2 times the number of hardware threads on the computer being used for the build.
5) When the build is done, you should get a package in baked/out/target/product/ville/.
6) Flash and enjoy!!
Updating / Re-building
Always do a full clean when you want to update your build.
1) Clean out the previous build(s).
Code:
rm -rf out
2) Sync up the repo to get the latest changes.
Code:
repo sync -j#
3) Follow the tutorial again starting from Step 4.
Troubleshooting
Troubleshooting​
Coming soon.
one more just in case.
I was just thinking about this since they wouldn't let you share blackbean 7. Thanks
Sent from my HTC One S using Tapatalk 2
thanks man, to bad you stop developing this;
baked blackbean made by you it's still the best ROM out here in it branch;
their are definitely good at it and also your build from baked6 is way in front of others
to bad we'll never have an (un)official build from baked7 made by profs
I've been thinking about trying to build from source.
But I don't meet the first requirement.
Thanks for the guide! Good work as usual.
Sent from my HTC One S using Tapatalk 2
Thanks a lot klin. Since blackbean 6 was best rom I had on my htc one s and you cannot give out the new version anymore I was thinking about building that rom on my own for the first time. But I didn't know how. I will definetly use that tutorial. I cannot understand why teambaked is so awkward.
I'm back, and I'm going to finish this guide right now. Glad to see that people are looking forward to this and that it'll help quite a few who want to build for themselves.
Sent from my SGH-T999 using Tapatalk 2
Guide is finished and up! If you guys run into ANY errors, feel free to post in the thread and I'll do my best to help you out. Happy building!
klin1344 said:
Guide is finished and up! If you guys run into ANY errors, feel free to post in the thread and I'll do my best to help you out. Happy building!
Click to expand...
Click to collapse
[email protected]:~$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
ln: failed to create symbolic link `/usr/lib/i386-linux-gnu/libGL.so': File exists
essentialmindz said:
[email protected]:~$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
ln: failed to create symbolic link `/usr/lib/i386-linux-gnu/libGL.so': File exists
Click to expand...
Click to collapse
This means that creating a symlink failed because the file already exists. You can just skip this step as there is no need to symlink if the file is there.
Sent from my SGH-T999 using Tapatalk 2
Very detailed and accurate... Thanks for the time you took writing this... Great job.. This makes me wanna build from source again..
Sent from my HTC One S using xda premium
$droyd$ said:
Very detailed and accurate... Thanks for the time you took writing this... Great job.. This makes me wanna build from source again..
Sent from my HTC One S using xda premium
Click to expand...
Click to collapse
droyd, are you perhaps thinking about building this ROM?
Jeez, klin1344! You're THE MAN! I was devastated when the BBB download link was pulled cause I didn't download it in time! This guide of yours is a GREAT initiative and I for one will be following it in the next few days! :good::good::laugh:
Is this going to work for villec2 (S3)??
Sent from my HTC One S using xda app-developers app
mteezey said:
I was just thinking about this since they wouldn't let you share blackbean 7. Thanks
Sent from my HTC One S using Tapatalk 2
Click to expand...
Click to collapse
This is ridiculous, they never said he couldn't share Blackbean 7, they only asked that he not share before they shared! It has not been officially released on any device by teambaked why is this such a sin? I don't understand. I think it's just pure respect and self discipline. I want Blackbean 7 on HTC One S just as much as the rest of us but they simply have chosen not to release it til they are ready. I think it's crazy to think we can have it here before any official builds. We don't have to be mad. They gave permission.
Anyway Thanks for the guide, it is a great offering to help us.
luxandroid said:
Is this going to work for villec2 (S3)??
Sent from my HTC One S using xda app-developers app
Click to expand...
Click to collapse
I don't think so, because there is no cm10 for the c2
Gesendet von meinem Nexus 7 mit Tapatalk 2
CrayzyBoy said:
I don't think so, because there is no cm10 for the c2
Gesendet von meinem Nexus 7 mit Tapatalk 2
Click to expand...
Click to collapse
yeah but who knows maybe with some corrections...just wondering...
many thanks klin, you're the best
I'll give it a chance this week, as I'll have some spare time in a few days
LibertyMonger said:
This is ridiculous, they never said he couldn't share Blackbean 7, they only asked that he not share before they shared! It has not been officially released on any device by teambaked why is this such a sin? I don't understand. I think it's just pure respect and self discipline. I want Blackbean 7 on HTC One S just as much as the rest of us but they simply have chosen not to release it til they are ready. I think it's crazy to think we can have it here before any official builds. We don't have to be mad. They gave permission.
Anyway Thanks for the guide, it is a great offering to help us.
Click to expand...
Click to collapse
I get where you coming from but team Baked had the same issue before and they went about it in a lame way which they did again so that's why some are not happy with it and you got the fact this site about sharing work.
Think I have to give this a try but guess I better give more space to Linux lol.

[HOWTO][SIMPLER]Compile your own kernel from source

Hey guys..
With all the awesome development thats been going on for our device, many people have been inspired to start their own versions of android development.. But, most of them do not know where to begin, or how to begin.. Or they may have some questions that remained unanswered..
Hence, I present to you(on a few requests), a simple and newbie friendly guide to compiling your own kernel for the HTC Explorer(Pico)..
Now I understand there is a custom kernel/custom ROM compiling tutorial by sakindia123 right here.. But, it has proven a little too complicated for some of the people starting out in the Android world..
I'll be making it as simple as possible..
-------------------------------------
Alright..
In order to start compiling kernels and/or ROMS, we need a certain prerequisites to be obtained...
1) A Unix based OS..
a) Ubuntu - Preferably latest, which is 12.10 as of right now.. Both 32-bit and 64-bit versions are OK for compiling kernels.. For ROMs you need 32-bit for Froyo and below, and 64-bit for Gingerbread and higher.. Beware that installing a 32-bit version twice will NOT make it a 64-bit version..
b) MacOS - Apple's very own OS.. Not much info about this with me..
2) Some knowledge to move around a Unix based system using the terminal..
3) A few packages, to let the system know we are trying to compile a kernel on it..
4) The source code of the kernel you want to compile.. There are various kernel sources you can compile from.. There's the stock HTC source, for Sense and Sense-based ROMs, there's the 2.6.38 custom kernel source by lirokoa, there's Garuda kernel source by flowish, and the more recent, 3.0.16 kernel source..
5) Some time on our hands, and patience..
-----------------------------------------------------------
Ok.. Now we begin our work..
First, we install the required packages in our Ubuntu setup.. To do that, fire up a terminal window, and type :
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 git
Now, I myself do not know what these packages exactly do.. All I know is that they help us get our work done, ie, kerneling..
Now, if you're using Ubuntu 12.04, you many need to create links of certain files, in order for them to work properly.. Run :
Code:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Now, it's a good idea to start fresh.. So go ahead and reboot the system.. :good:
---------------------------------------------------------------------
Alright.. So now we have our packages..
Next, we need Java...
Now, in the world of Android, for us Pico users, Java 7 is of no use.. And Java 6 cannot be installed using the "conventional" methods..
So, we'll install Java 6 using the PPA feature..
Fire up a terminal on your newly rebooted system, and type :
Code:
sudo add-apt-repository ppa:ferramroberto/java
Next, run :
Code:
sudo apt-get update
Now that the repository is added and updated in our system, we'll install Java by running :
Code:
sudo apt-get-install sun-java6-jdk
This will install the correct version of Java in our system..
-----------------------------------------------------------------------------
Next up, obtaining the source, boot image tools and toolchain to compile.. You can obtain all the sources I mentioned above using Github.. Except the HTC source, which you'll find at htcdev.com ...
Boot image tools - https://github.com/sakindia123/boot-image-tools
The toolchain, you can get from here - http://www.github.com/sakindia123/android_toolchains
Once you download everything, extract it someplace.. Now, in terminal, do :
Code:
gedit .bashrc
And add(at the end) :
Code:
export PATH=${PATH}:path/to/toolchain/folder/arm-eabi-4.4.3/bin
export PATH=${PATH}:path/to/bootimagetools/folder/tools
Now close and re-open the terminal, and you're all set to compile..
-----------------------------------------------------------------------------
Now comes the fun part... Compiling the kernel...
This part I'm gonna describe in numbered steps... The path(assumed) I'm gonna take, is '~/android/kernel_source'.. And I'm assuming you are in the top of the kernel source directory...
1) You need to pull the kernel config from your phone.. To do that, connect your phone using ADB, and run :
Code:
adb pull proc/config.gz ~/android/kernel_source
2) Next, you need to extract the kernel config from the compressed file..
Code:
zcat config.gz > .config
3) Now, we have the .config file directly, so we can omit the "defconfig" command..
3a) If you wanna run the defconfig, then omit steps 1 and 2, and instead run :
Code:
make ARCH=arm CROSS_COMPILE=arm-eabi- msm7627a_defconfig ---> For Sense kernel
make ARCH=arm CROSS_COMPILE=arm-eabi- htc_pico_defconfig ----> For lirokoa's and flowish's kernel source
make ARCH=arm CROSS_COMPILE=arm-eabi- pico_defconfig -----> For 3.0.16 kernel..
4) Now, we run the main compiling command :
Code:
make ARCH=arm CROSS_COMPILE=arm-eabi- -jX
The X can be replaced by the maximum number of jobs your computer can handle simultaneously.. The higher this number, the faster the compiling will get.. But do not enter a number too high, your computer may explode due to overheating.. Wouldnt want that, would we??
5) If all goes well, at the end of 15-mins to 1 hour(depending on your PC hardware), you'll have a zImage...
6) Now, we create a working directory :
Code:
mkdir workspace
7) Next, we copy our zImage to the working directory :
Code:
cp arch/arm/boot/zImage workspace
8) Next up, modules..
Code:
find . -name '*ko' -exec cp '{}' workspace \;
9) Now, we take a working boot.img from a ROM zip.. We do this for the ramdisk.. But keep in mind that different ROMs have different ramdisks.. For eg, a kernel made with CM9 ramdisk will not work on CM10.. So take the boot.img from the ROM you wanna use the kernel on..
10) We unpack the boot.img :
Code:
unpackbootimg -i boot.img
When we do this, we'll get a lot of files.. We only need the file named 'boot.img-ramdisk.gz'..
11) Finally, we make a new boot.img file, which will incorporate our compiled zImage, and the ramdisk we just extracted..
Code:
mkbootimg --kernel zImage --ramdisk boot.img-ramdisk.gz --cmdline no_console_suspend=1-console=null --base 12c00000 --output boot-new.img
And Voila!! We have a freshly compiled kernel, 'boot-new.img'..
12) To use it, put your phone in fastboot mode, and run :
Code:
fastboot flash boot boot-new.img
13) Now do not reboot the phone... Boot the phone in recovery mode, mount system from the recovery, connect the phone to PC, and then run :
Code:
$ adb remount
$ adb push '*ko' system/lib/modules ----> run this from the directory where you copied all the modules
$ adb reboot
And there you have it, your very own kernel..
----------------------------------------------------------------
Ok.. Sometimes you may get weird errors when trying to connect your phone to your computer via ADB... Its mostly a permission problem.. Fortunately, instead of running ADB as root, we have another solution..
Fire up a terminal, and type :
Code:
$ sudo gedit /etc/udev/rules.d/51-android.rules
A file will open up.. Add the following content into that file and save it :
Code:
######################################################
# Project: http://code.google.com/p/51-android/ #
# File: /etc/udev/rules.d/51-android.rules #
# Author: snowdream #
# Date: 2010.06.07 #
######################################################
#Acer
SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0660", OWNER="snowdream"
#ASUS
SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0660", OWNER="snowdream"
#Dell
SUBSYSTEM=="usb", ATTRS{idVendor}=="413", MODE="0660", OWNER="snowdream"
#Foxconn
SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0660", OWNER="snowdream"
#Fujitsu/Fujitsu Toshiba
SUBSYSTEM=="usb", ATTRS{idVendor}=="04c5", MODE="0660", OWNER="snowdream"
#Garmin-Asus
SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0660", OWNER="snowdream"
#Google
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0660", OWNER="snowdream"
#Hisense
SUBSYSTEM=="usb", ATTRS{idVendor}=="109b", MODE="0660", OWNER="snowdream"
#HTC
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0660", OWNER="snowdream"
#HTC HERO
#Huawei
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0660", OWNER="snowdream"
#K-Touch
SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0660", OWNER="snowdream"
#KT Tech
SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0660", OWNER="snowdream"
#Kyocera
SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0660", OWNER="snowdream"
#Lenovo
SUBSYSTEM=="usb", ATTRS{idVendor}=="2006", MODE="0660", OWNER="snowdream"
#LG
SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0660", OWNER="snowdream"
#Motorola
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0660", OWNER="snowdream"
#NEC
SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0660", OWNER="snowdream"
#Nook
SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0660", OWNER="snowdream"
#Nvidia
SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0660", OWNER="snowdream"
#OTGV
SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0660", OWNER="snowdream"
#Pantech
SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0660", OWNER="snowdream"
#Pegatron
SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0660", OWNER="snowdream"
#Philips
SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0660", OWNER="snowdream"
#PMC-Sierra
SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0660", OWNER="snowdream"
#Qualcomm
SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0660", OWNER="snowdream"
#SK Telesys
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0660", OWNER="snowdream"
#Samsung
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0660", OWNER="snowdream"
#Sharp
SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0660", OWNER="snowdream"
#Sony
SUBSYSTEM=="usb", ATTRS{idVendor}=="054c", MODE="0660", OWNER="snowdream"
#Sony Ericsson
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0660", OWNER="snowdream"
#Teleepoch
SUBSYSTEM=="usb", ATTRS{idVendor}=="2340", MODE="0660", OWNER="snowdream"
#Toshiba
SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0660", OWNER="snowdream"
#ZTE
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0660", OWNER="snowdream"
Note : Replace "snowdream" with your username.. Keep the double quotes..
Now, we need to give executing permissions to this file.. So :
Code:
$ sudo chmod a+r /etc/udev/rules.d/51-android.rules
$ sudo service udev restart
And this will solve the permission problem when connecting through ADB or FASTBOOT...
I recommend android ndk for toolchain. Its better
Sent from my potato with a microchip
gautzzzy said:
I recommend android ndk for toolchain. Its better
Sent from my potato with a microchip
Click to expand...
Click to collapse
Whatever works for you bro...
Sent from my HTC Explorer A310e using Tapatalk 2
Thanks .. sorry limited to 8 thanks . Lol wtf. Good guide bro.
Sent from my HTC Explorer A310e using xda app-developers app
In ubuntu 12.10, folks might face problem (as i faced) while typing adb commands. It might say, "No permission for this device."
Or, when someone types, adb devices, it might say...
List of attached devices
???????? No Permissions
Click to expand...
Click to collapse
Required to add rules to get past this issue.
Sent from my HTC Explorer A310e using xda app-developers app
akshat.shenoy said:
Thanks .. sorry limited to 8 thanks . Lol wtf. Good guide bro.
Sent from my HTC Explorer A310e using xda app-developers app
Click to expand...
Click to collapse
Thank you.. thanks meter aint important bro... dont worry...
PS : The xda mobile app isnt limited to 8 thanks...
Sent from my HTC Explorer A310e using Tapatalk 2
Neel.Aryan said:
In ubuntu 12.10, folks might face problem (as i faced) while typing adb commands. It might say, "No permission for this device."
Or, when someone types, adb devices, it might say...
Required to add rules to get past this issue.
Sent from my HTC Explorer A310e using xda app-developers app
Click to expand...
Click to collapse
Damn.. How did i miss that?? Updating... Thanks...
Nice! Very easy to understand. Good Job :good:
Oh really ?It comes action failed contact forum administrator...
Oops sorry for spam..
BTW 12.10 Ubuntu .. and other platforms ? What some other examples?
Oh crap my bad had already thanked . :silly:
Sent from my HTC Explorer A310e using xda app-developers app
akshat.shenoy said:
Oh really ?It comes action failed contact forum administrator...
Oops sorry for spam..
BTW 12.10 Ubuntu .. and other platforms ? What some other examples?
Oh crap my bad had already thanked . :silly:
Sent from my HTC Explorer A310e using xda app-developers app
Click to expand...
Click to collapse
Lots... arch linux, bbq linux, mint, fedora, older versions of ubuntu, such as 10.04, 11.10, 12.04, etc...
Mac os can compile upto lion... i havent found anything for mountain lion...
Sent from my HTC Explorer A310e
I wrote the udev rules 4 times.
For...
#Normal Blade
#Debug Blade
#Recovery Blade
#Fastboot Blade
Click to expand...
Click to collapse
And, also, i put MODE="0666".
Difference ?
Sent from my HTC Explorer A310e using xda app-developers app
Neel.Aryan said:
I wrote the udev rules 4 times.
For...
And, also, i put MODE="0666".
Difference ?
Sent from my HTC Explorer A310e using xda app-developers app
Click to expand...
Click to collapse
Does it work for you??
Sent from my HTC Explorer A310e
bhargz16 said:
Lots... arch linux, bbq linux, mint, fedora, older versions of ubuntu, such as 10.04, 11.10, 12.04, etc...
Mac os can compile upto lion... i havent found anything for mountain lion...
Sent from my HTC Explorer A310e
Click to expand...
Click to collapse
For no permission...
Type
sudo -s
Then
adb kill-server
adb start-server
adb devices
Sent from my potato with a microchip
Not simpiler, but more complete for newbies!
bhargz16 said:
Does it work for you??
Click to expand...
Click to collapse
Yep, its cool & working.
Also, i didn't give executable permissions. Just rebooted pc.
Sent from my HTC Explorer A310e using xda app-developers app
Neel.Aryan said:
Yep, its cool & working.
Also, i didn't give executable permissions. Just rebooted pc.
Sent from my HTC Explorer A310e using xda app-developers app
Click to expand...
Click to collapse
Then enjoy bro... we are all newbies here... i know just as much as you...
Sent from my HTC Explorer A310e
Haha... Lets enjoy !! :beer:
Sent from my HTC Explorer A310e using xda app-developers app
i have pc wid windows 8 pro
can u guide me to make it work on my pc??
racerronny said:
i have pc wid windows 8 pro
can u guide me to make it work on my pc??
Click to expand...
Click to collapse
Sorry bro... any compilation related work of android needs to be done on Ubuntu only... cant be done on windows... you'll have to figure out how to install ubuntu on your pc... its not really that difficult..
Sent from my HTC Explorer A310e
Sir , when i try to sync gith i get following error
Code:
[email protected]:~# cd ..
[email protected]:/home# mkdir Toolchains
[email protected]:/home# git init
Initialized empty Git repository in /home/.git/
[email protected]:/home# git remote add origin [email protected]:AdiPat/Android_Toolchains.git
[email protected]:/home# git clone [email protected]:AdiPat/Android_Toolchains.git
Cloning into 'Android_Toolchains'...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
[email protected]:/home#
[email protected]:/home#

Categories

Resources