[Guide][Advanced][Linux] Compile Cm9 for Samsung Galaxy S - Galaxy S I9000 Android Development

This is how I compiled cm9 for galaxysmtd.
For sure there are other ways but this is the only way I know, and it works for me.
I use Linux Mint 12.
Reading helps. http://git-scm.com/documentation​
Follow this guide until you have synced source. (Step 4D)
Also check 4h. Your Final .bashrc
http://forum.xda-developers.com/showthread.php?t=1505006​
2d. Add Extra Path For Device:
Code:
sudo gedit /etc/udev/rules.d/51-android.rules
Enter this in it:
Code:
#Samsung
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
4c should be this
Code:
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b ics
setup ccache
http://source.android.com/source/initializing.html​
Manifest
New terminal
Code:
cd ~/android/system
gedit .repo/local_manifest.xml
And add this to the file
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_samsung_galaxysmtd" path="device/samsung/galaxysmtd" />
<project name="CyanogenMod/android_device_samsung_aries-common" path="device/samsung/aries-common" />
<project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" />
<project name="CyanogenMod/android_kernel_samsung_aries" path="kernel/samsung/aries" remote="github" revision="android-samsung-3.0-ics" />
</manifest>
Option 2: if you dont have cm9 installed look here <----Link
For the next step you need to have cm9 installed.
Connect you phone to pc and in terminal type
Code:
adb root
New terminal
Code:
cd ~/android/system/device/samsung/galaxysmtd/
./extract-files.sh
New terminal
Code:
cd ~/android/system/vendor/cm/
./get-prebuilts
New terminal
Code:
cd ~/android/system
repo sync
New terminal
Code:
. build/envsetup.sh && brunch galaxysmtd
Should be it. Enjoy!
I can not give support on this. Sorry.
Code:
(Package complete: /home/perka/android/system/out/target/product/galaxysmtd/update-cm-9.0.0-RC0-galaxysmtd-KANG-signed.zip
31c9c1175132d005cc093679fc023067 update-cm-9.0.0-RC0-galaxysmtd-KANG-signed.zip)
Cherry picking here <---------Link
[URL="http://forum.xda-developers.com/showpost.php?p=23715982&postcount=64"]Here you can see how kasper_h pick his cherries thx for posting[/URL]​
Credit:
Cyanogen
TKGlitch
Smasher816
TeamHacksung
krarvind
blahbl4hblah
Faryaab
rtfpessoa
PaulForde
scheichuwe
kasper_h
lippol94
malcho
Google
Samsung?
Xda
did I forget you? tell me pls!
and all involved in Linux and Android

Nice, thanks!

@perka, forgot somebody in credits mate?
reason your boot.img didn't wokr is because of the ramdisks. you need special ones for SGS which has CWM recovery in it. Use the one from OneCosmic/Stratoksk/Zach/Tk-Glitch and compile boot.img from zImage/kernel.

krarvind said:
@perka, forgot somebody in credits mate?
reason your boot.img didn't wokr is because of the ramdisks. you need special ones for SGS which has CWM recovery in it. Use the one from OneCosmic/Stratoksk/Zach/Tk-Glitch and compile boot.img from zImage/kernel.
Click to expand...
Click to collapse
Sorry now you are there

Perka check teamhcksung buildscripts and see how they do to build kernel and rom one after other, is very easy.

Perka said:
...
New terminal
cd ~/android/system/device/samsung
git clone git://github.com/teamhacksung/android_device_samsung_galaxysmtd.git -b ics galaxysmtd
then
git clone git://github.com/teamhacksung/android_device_samsung_aries-common.git -b ics aries-common​
go to android/system/vendor/cm
edit file vendorsetup.sh
add this in between any of the lines
add_lunch_combo cm_galaxysmtd-userdebug​
...
Click to expand...
Click to collapse
You can use a local_maifest.xml instead of that, so these repos get synced, too.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/samsung/galaxysmtd" name="teamhacksung/android_device_samsung_galaxysmtd" />
<project path="device/samsung/aries-common" name="teamhacksung/android_device_samsung_aries-common" />
<project path="vendor/cm" name="teamhacksung/android_vendor_cm" />
<project path="kernel/samsung-kernel-aries" name="teamhacksung/samsung-kernel-aries" remote="github" revision="android-samsung-3.0-ics" />
</manifest>
I also made a very simple build script as I didn't know how to use teamhacksung's
It builds kernel and cm9-KANG
Code:
#!/bin/bash
repo sync -j`grep 'processor' /proc/cpuinfo | wc -l`
. build/envsetup.sh
cd kernel/samsung-kernel-aries
#make clean
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:~/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/
make aries_galaxysmtd_defconfig
time make -j`grep 'processor' /proc/cpuinfo | wc -l`
cp -f ~/android/system/kernel/samsung-kernel-aries/arch/arm/boot/zImage ~/android/system/device/samsung/galaxysmtd/kernel
find . -name "*.ko" -exec cp -f {} ~/android/system/device/samsung/galaxysmtd/ \;
cd ../..
lunch cm_galaxysmtd-userdebug
#make clobber
time make -j`grep 'processor' /proc/cpuinfo | wc -l` otapackage
With the new builds /system only has limited space left, so you have to delete some files before flashing gapps. Otherwise you'll end up in android.process.acore fc's (that's what happened to me...).

rtfpessoa said:
Perka check teamhcksung buildscripts and see how they do to build kernel and rom one after other, is very easy.
Click to expand...
Click to collapse
Forgot to put you also in credit.
Who else? Sorry!

scheichuwe said:
You can use a local_maifest.xml instead of that, so these repos get synced, too.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/samsung/galaxysmtd" name="teamhacksung/android_device_samsung_galaxysmtd" />
<project path="device/samsung/aries-common" name="teamhacksung/android_device_samsung_aries-common" />
<project path="vendor/cm" name="teamhacksung/android_vendor_cm" />
<project path="kernel/samsung-kernel-aries" name="teamhacksung/samsung-kernel-aries" remote="github" revision="android-samsung-3.0-ics" />
</manifest>
I also made a very simple build script as I didn't know how to use teamhacksung's
It builds kernel and cm9-KANG
Code:
#!/bin/bash
repo sync -j`grep 'processor' /proc/cpuinfo | wc -l`
. build/envsetup.sh
cd kernel/samsung-kernel-aries
#make clean
export ARCH=arm
export CROSS_COMPILE=arm-eabi-
export PATH=$PATH:~/android/system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/
make aries_galaxysmtd_defconfig
time make -j`grep 'processor' /proc/cpuinfo | wc -l`
cp -f ~/android/system/kernel/samsung-kernel-aries/arch/arm/boot/zImage ~/android/system/device/samsung/galaxysmtd/kernel
find . -name "*.ko" -exec cp -f {} ~/android/system/device/samsung/galaxysmtd/ \;
cd ../..
lunch cm_galaxysmtd-userdebug
#make clobber
time make -j`grep 'processor' /proc/cpuinfo | wc -l` otapackage
With the new builds /system only has limited space left, so you have to delete some files before flashing gapps. Otherwise you'll end up in android.process.acore fc's (that's what happened to me...).
Click to expand...
Click to collapse
Great will give it a go and after update the OP.
Thanks for helping

Great job, u ketching up me lol.
Sent from my Nexus S using Tapatalk

DaxIΠFIΠITY said:
Great job, u ketching up me lol.
Sent from my Nexus S using Tapatalk
Click to expand...
Click to collapse
ohhhh Nexus S, freedom to aosp!!!

These last step i missed when i try to compile it.
Very good job.
Perka could you please add same giude for themes.
I surf alot these days i found program called Idiot for themes but i think it doesn't work with ics.
Thanks alot.

malcho said:
These last step i missed when i try to compile it.
Very good job.
Perka could you please add same giude for themes.
I surf alot these days i found program called Idiot for themes but i think it doesn't work with ics.
Thanks alot.
Click to expand...
Click to collapse
All you need is XML editing and eclipse.
Sent from my Nexus S using Tapatalk

DaxIΠFIΠITY said:
All you need is XML editing and eclipse.
Sent from my Nexus S using Tapatalk
Click to expand...
Click to collapse
Hej Dax like always short and simple

malcho said:
These last step i missed when i try to compile it.
Very good job.
Perka could you please add same giude for themes.
I surf alot these days i found program called Idiot for themes but i think it doesn't work with ics.
Thanks alot.
Click to expand...
Click to collapse
DaxIΠFIΠITY said:
All you need is XML editing and eclipse.
Sent from my Nexus S using Tapatalk
Click to expand...
Click to collapse
yea dax is the man for this.

Great!
Inviato dal mio GT-I9000 usando Tapatalk

Can we compile cm7 with a method like this? I want to compile cm7 because its still updated and cm7 is still much more stable than cm9. Can you make a guide for building cm7?

leventccc said:
Can we compile cm7 with a method like this? I want to compile cm7 because its still updated and cm7 is still much more stable than cm9. Can you make a guide for building cm7?
Click to expand...
Click to collapse
There already is a guide for this: http://wiki.cyanogenmod.com/wiki/Samsung_Galaxy_S:_Compile_CyanogenMod_(Linux)

Thanks man! Will try that out when my repo is synced=)

laehtis said:
Thanks man! Will try that out when my repo is synced=)
Click to expand...
Click to collapse
Great Antti Lähtevänoja tell us how it goes
EDIT: Great vids man!

Ok I will work on this guide to make it better and try to include how to add and edit source before compiling.
I dont have much time but as i go I will make notes of what i do and will add it to the guide later.
If you have input/stuff to add pls post and we can make this much better.
thx all

Related

[TUTORIAL]How to compile CM10 for HTC Wildfire S A510e

After a read the impatience of a lot of people claiming for updates and news builds without checking before that devs got's a life, I decide to start the thread that will explain step by step how to compile CM10 from asn sources for the GSM version of the HTC Wildfire S, that means no love for marvelc.
Excuse me the incoherences and the incomprehensible stuff of my bad english.
Before you start doing nothing you agree that you're going to experiment, and that I'm not the culprit if you lose all of your files on the computer, or if you broke it.
¿Your first build?
1 - You need to download and install an .iso image of an Linux distribution, in this case we're going to use Ubuntu 12.04, so I recommend it, you can donwload from here:
http://www.ubuntu.com/download/desktop
P.D: DON'T USE THE WINDOWS DOWNLOADER
If you don't know how to install the .iso file after downloading I recomment you this tutorial:
http://howtoubuntu.org/how-to-install-ubuntu-12-04-precise-pangolin/
You've already Ubuntu installed and you're ready, so let's start with fun!
2 - We need to install a few packages that are needed to compile, so you must to start Terminal, which is the command line program for Ubuntu, like CMD is on Windows, then type this:
Code:
sudo apt-get install git-core gnupg flex bison gperf libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev libc6-dev ia32-libs x11proto-core-dev lib32z-dev mingw32 tofrodos python-markdown python python-lunch libxml2-utils xsltproc libx11-dev:i386
This will need about 10 min more or less.
3 - Now we need to dowload and install JDK 6 from Sun Java webpage, and then install it, I recommend to follow this tutorial:
http://www.printandweb.ca/2012/04/manually-install-oracle-jdk-6-for.html
Okay, we got all the libraries that we need to compile the sources, but... Where's the source?
This is the most annoying part of the procces, the code size is about 7 or 8 GB, so if you didn't got the NASA widthband, you might need to be patience, on my computer at 300 kbps it needs about 6 or 7 hours to download all.
Okey, let's stop speaking and start working.
4 - Type this on terminal, this'll download the repo script that you need to manage and get all the proyects that compose Jellybean:
Code:
mkdir ~/bin; curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo; chmod a+x ~/bin/repo;sudo gedit .bashrc
It'll ask your Ubuntu password (if you got one) and then an text file'll be open, add in the bottom of it this line:
Code:
export PATH=${PATH}:~/bin
5 - Now, we need to create a working directory to place the source and our builds, I recommend to keep a good folder organization, so type this on terminal:
Code:
mkdir -p ~/building/cyanogenmod/jellybean; cd ~/building/cyanogenmod/jellybean
6 - Now we need to specify whith what version of android we're going to work, in this case jellybean so type this:
Code:
PATH=~/bin:$PATH; repo init -u git://github.com/CyanogenMod/android.git -b jellybean
7 - Now there's only one step before start the download of the code, type this:
Code:
gedit .repo/local_manifest.xml
Now an empty file'll appear, you must to copy and paste this inside it:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="cryptomilk"
fetch="git://git.cryptomilk.org/" />
<project name="projects/marvel/kernel_htc_msm7227.git" path="kernel/htc/msm7227" remote="cryptomilk" />
<project name="CyanogenMod/android_device_htc_common" path="device/htc/common" revision="refs/heads/gingerbread" />
<project name="projects/marvel/android_device_htc_msm7x27-recovery.git" path="device/htc/msm7x27-recovery" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_msm7x27-common.git" path="device/htc/msm7x27-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel-common.git" path="device/htc/marvel-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel.git" path="device/htc/marvel" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_qcom_msm7x27.git" path="vendor/qcom/msm7x27" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_htc_marvel.git" path="vendor/htc/marvel" remote="cryptomilk" />
</manifest>
8 - Now type this on terminal:
Code:
gedit .repo/manifest.xml
Another text file will appear, you should find this line:
Code:
<project path="hardware/qcom/display" name="CyanogenMod/android_hardware_qcom_display" />
And replace for this one:
Code:
<project path="hardware/qcom/display" name="LibertyICS/android_hardware_qcom_display" />
9 - Now type this on terminal:
Code:
repo sync
This'll download all the code, so go out and enjoy the day
¿Building again?
Now I'm sure that you got all the source and wants to build NOW
1 - So let's go, you only need to copy and paste this into a terminal emulator, after going into the folder where we locate the source, in this case it's ~/building/cyanogenmod/jellybean:
Code:
cd ~/building/cyanogenmod/jellybean;repo sync;./vendor/cm/get-prebuilts;cd bionic;git fetch http://review.cyanogenmod.com/CyanogenMod/android_bionic refs/changes/31/14631/1 && git cherry-pick FETCH_HEAD;cd ..;cd hardware/msm7k;git fetch http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k refs/changes/58/15058/3 && git cherry-pick FETCH_HEAD;cd ..;cd ..;source build/envsetup.sh; lunch cm_marvel-eng;export USE_CCACHE=1
The lasts line will resync all the changes from upstream, get all prebuilts apps, patch camera and gps fixes on upstream and prepare the source to build for our phone.
2 - Now, we only need to type one line more, and the build might start then:
Code:
make -jx bacon
You should replace the x from -jx for number of cores in your CPU by two, for example if you got an 4 core machine (like me):fingers-crossed: you should put "make -j8 bacon".
3 - Now the build will start, it normally takes one hour and half, so be patience.
When it's finished you get something like this:
Code:
Package complete: /home/oliver/building/cyanogenmod/jellybean/out/target/product/marvel/update-cm-10.0.0-RC0-marvel-UNOFFICIAL-signed.zip
Happy compiling!:laugh:
This is mine!:silly:
This too!
how about windows like using putty? Just like dudeman1996
I respect your work.Thanks
OliverG96 said:
After a read the impatience of a lot of people claiming for updates and news builds without checking before that devs got's a life, I decide to start the thread that will explain step by step how to compile CM10 from asn sources for the GSM version of the HTC Wildfire S, that means no love for marvelc.
Excuse me the incoherences and the incomprehensible stuff of my bad english.
Before you start doing nothing you agree that you're going to experiment, and that I'm not the culprit if you lose all of your files on the computer, or if you broke it.
¿Your first build?
1 - You need to download and install an .iso image of an Linux distribution, in this case we're going to use Ubuntu 12.04, so I recommend it, you can donwload from here:
http://www.ubuntu.com/download/desktop
P.D: DON'T USE THE WINDOWS DOWNLOADER
If you don't know how to install the .iso file after downloading I recomment you this tutorial:
http://howtoubuntu.org/how-to-install-ubuntu-12-04-precise-pangolin/
You've already Ubuntu installed and you're ready, so let's start with fun!
2 - We need to install a few packages that are needed to compile, so you must to start Terminal, which is the command line program for Ubuntu, like CMD is on Windows, then type this:
Code:
sudo apt-get install git-core gnupg flex bison gperf libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev pngcrush schedtool g++-multilib lib32z1-dev lib32ncurses5-dev libc6-dev ia32-libs x11proto-core-dev lib32z-dev mingw32 tofrodos python-markdown python python-lunch libxml2-utils xsltproc libx11-dev:i386
This will need about 10 min more or less.
3 - Now we need to dowload and install JDK 6 from Sun Java webpage:
http://www.oracle.com/technetwork/java/javase/downloads/jdk6-downloads-1637591.html
Select jdk-6u34-linux-i586.bin if you got an x86 machine, or select jdk-6u34-linux-x64.bin if you got an x64 machine.
Then you must to move into the directory where's the bin file you've downloaded using the Terminal, an type this:
Code:
chmod +x jdk-6u34-linux-x64.bin
./jdk-6u34-linux-x64.bin
sudo chown root. -R jdk1.6.0_34/
sudo mv jdk1.6.0_34/ /usr/lib/jvm/
sudo update-alternatives --install "/usr/bin/java" "java" \
"/usr/lib/jvm/jdk1.6.0_34/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" \
"/usr/lib/jvm/jdk1.6.0_34/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" \
"/usr/lib/jvm/jdk1.6.0_34/bin/javaws" 1
sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws
Okay, we got all the libraries that we need to compile the sources, but... Where's the source?
This is the most annoying part of the procces, the code size is about 7 or 8 GB, so if you didn't got the NASA widthband, you might need to be patience, on my computer at 300 kbps it needs about 6 or 7 hours to download all.
Okey, let's stop speaking and start working.
4 - Type this on terminal, this'll download the repo script that you need to manage and get all the proyects that compose Jellybean:
Code:
mkdir ~/bin; curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo; chmod a+x ~/bin/repo;sudo gedit .bashrc
It'll ask your Ubuntu password (if you got one) and then an text file'll be open, add in the bottom of it this line:
Code:
export PATH=${PATH}:~/bin
5 - Now, we need to create a working directory to place the source and our builds, I recommend to keep a good folder organization, so type this on terminal:
Code:
mkdir -p ~/building/cyanogenmod/jellybean; cd ~/building/cyanogenmod/jellybean
6 - Now we need to specify whith what version of android we're going to work, in this case jellybean so type this:
Code:
PATH=~/bin:$PATH; repo init -u git://github.com/CyanogenMod/android.git -b jellybean
7 - Now there's only one step before start the download of the code, type this:
Code:
gedit .repo/local_manifest.xml
Now an empty file'll appear, you must to copy and paste this inside it:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="cryptomilk"
fetch="git://git.cryptomilk.org/" />
<project name="projects/marvel/kernel_htc_msm7227.git" path="kernel/htc/msm7227" remote="cryptomilk" />
<project name="CyanogenMod/android_device_htc_common" path="device/htc/common" revision="refs/heads/gingerbread" />
<project name="projects/marvel/android_device_htc_msm7x27-recovery.git" path="device/htc/msm7x27-recovery" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_msm7x27-common.git" path="device/htc/msm7x27-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel-common.git" path="device/htc/marvel-common" remote="cryptomilk" />
<project name="projects/marvel/android_device_htc_marvel.git" path="device/htc/marvel" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_qcom_msm7x27.git" path="vendor/qcom/msm7x27" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_htc_marvel.git" path="vendor/htc/marvel" remote="cryptomilk" />
</manifest>
8 - Now type this on terminal:
Code:
gedit .repo/manifest.xml
Another text file will appear, you should find this line:
Code:
<project path="hardware/qcom/display" name="CyanogenMod/android_hardware_qcom_display" />
And replace for this one:
Code:
<project path="hardware/qcom/display" name="LibertyICS/android_hardware_qcom_display" />
9 - Now type this on terminal:
Code:
repo sync
This'll download all the code, so go out and enjoy the day
¿Building again?
Now I'm sure that you got all the source and wants to build NOW
1 - So let's go, you only need to copy and paste this into a terminal emulator, after going into the folder where we locate the source, in this case it's ~/building/cyanogenmod/jellybean:
Code:
cd ~/building/cyanogenmod/jellybean;repo sync;./vendor/cm/get-prebuilts;cd bionic;git fetch http://review.cyanogenmod.com/CyanogenMod/android_bionic refs/changes/31/14631/1 && git cherry-pick FETCH_HEAD;cd ..;cd hardware/msm7k;git fetch http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k refs/changes/58/15058/3 && git cherry-pick FETCH_HEAD;cd ..;cd ..;source build/envsetup.sh; lunch cm_marvel-eng;export USE_CCACHE=1
The lasts line will resync all the changes from upstream, get all prebuilts apps, patch camera and gps fixes on upstream and prepare the source to build for our phone.
2 - Now, we only need to type one line more, and the build might start then:
Code:
make -jx bacon
You should replace the x from -jx for number of cores in your CPU by two, for example if you got an 4 core machine (like me):fingers-crossed: you should put "make -j8 bacon".
3 - Now the build will start, it normally takes one hour and half, so be patience.
When it's finished you get something like this:
Code:
Package complete: /home/oliver/building/cyanogenmod/jellybean/out/target/product/marvel/update-cm-10.0.0-RC0-marvel-UNOFFICIAL-signed.zip
Happy compiling!:laugh:
Click to expand...
Click to collapse
i have already ubuntu installed so its cool.but is this have same all CM10 bugs?or its 100% working rom?
davidang said:
how about windows like using putty? Just like dudeman1996
Click to expand...
Click to collapse
Have no idea of how to set up putty
Enviado desde mi Wildfire S A510e usando Tapatalk 2
crossfire77 said:
i have already ubuntu installed so its cool.but is this have same all CM10 bugs?or its 100% working rom?
Click to expand...
Click to collapse
Ot's like any other cm10 rom, the same issues.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
OliverG96 said:
Ot's like any other cm10 rom, the same issues.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
Click to expand...
Click to collapse
oh thats sad.what meaning of that much hassle? haha thnx.
OliverG96 said:
¿Building again?
Now I'm sure that you got all the source and wants to build NOW
1 - So let's go, you only need to copy and paste this into a terminal emulator, after going into the folder where we locate the source, in this case it's ~/building/cyanogenmod/jellybean:
Code:
cd ~/building/cyanogenmod/jellybean;repo sync;./vendor/cm/get-prebuilts;cd bionic;git fetch http://review.cyanogenmod.com/CyanogenMod/android_bionic refs/changes/31/14631/1 && git cherry-pick FETCH_HEAD;cd ..;cd hardware/msm7k;git fetch http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k refs/changes/58/15058/3 && git cherry-pick FETCH_HEAD;cd ..;cd ..;source build/envsetup.sh; lunch cm_marvel-eng;export USE_CCACHE=1
The lasts line will resync all the changes from upstream, get all prebuilts apps, patch camera and gps fixes on upstream and prepare the source to build for our phone.
Click to expand...
Click to collapse
it's all done without single error, but when I put command above into terminal:
firt seems it's all ok,
"Fetching projects: 100% (321/321), done.
bionic/: discarding 1 commits
hardware/msm7k/: discarding 1 commits
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 142 100 142 0 0 223 0 --:--:-- --:--:-- --:--:-- 297
100 310k 100 310k 0 0 270k 0 0:00:01 0:00:01 --:--:-- 270k
Archive: ./vendor/cm/proprietary/Term.apk
inflating: ./vendor/cm/proprietary/lib/armeabi/libjackpal-androidterm4.so
From http://review.cyanogenmod.com/CyanogenMod/android_bionic
* branch refs/changes/31/14631/1 -> FETCH_HEAD
[detached HEAD 6cf80c4] bionic: Add NASTY_PTHREAD_CREATE_HACK
Author: Steve Kondik <[email protected]>
3 files changed, 15 insertions(+)
From http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k
* branch refs/changes/58/15058/3 -> FETCH_HEAD
[detached HEAD 9198a41] librpc: Don't mask lower bytes on program version 0x00020002
Author: Ricardo Cerqueira <[email protected]>
1 file changed, 2 insertions(+), 2 deletions(-)
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/htc/marvel/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash"
and next line error:
build/core/config.mk:348: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com. Stop.
Device marvel not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for marvel not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml.
build/core/config.mk:348: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com. Stop.
** Don't have a product spec for: 'cm_marvel'
** Do you have the right repo manifest?
Click to expand...
Click to collapse
I did everything as U wrote, what I need to do, I want to try this, please ?
thank U,
cheers !
j00k3r said:
it's all done without single error, but when I put command above into terminal:
firt seems it's all ok,
"Fetching projects: 100% (321/321), done.
bionic/: discarding 1 commits
hardware/msm7k/: discarding 1 commits
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 142 100 142 0 0 223 0 --:--:-- --:--:-- --:--:-- 297
100 310k 100 310k 0 0 270k 0 0:00:01 0:00:01 --:--:-- 270k
Archive: ./vendor/cm/proprietary/Term.apk
inflating: ./vendor/cm/proprietary/lib/armeabi/libjackpal-androidterm4.so
From http://review.cyanogenmod.com/CyanogenMod/android_bionic
* branch refs/changes/31/14631/1 -> FETCH_HEAD
[detached HEAD 6cf80c4] bionic: Add NASTY_PTHREAD_CREATE_HACK
Author: Steve Kondik <[email protected]>
3 files changed, 15 insertions(+)
From http://review.cyanogenmod.com/CyanogenMod/android_hardware_msm7k
* branch refs/changes/58/15058/3 -> FETCH_HEAD
[detached HEAD 9198a41] librpc: Don't mask lower bytes on program version 0x00020002
Author: Ricardo Cerqueira <[email protected]>
1 file changed, 2 insertions(+), 2 deletions(-)
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/armv7-a/vendorsetup.sh
including device/htc/marvel/vendorsetup.sh
including device/ti/panda/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash"
and next line error:
I did everything as U wrote, what I need to do, I want to try this, please ?
thank U,
cheers !
Click to expand...
Click to collapse
Try to type on terminal:
java -version
And give me the output.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
OliverG96 said:
Try to type on terminal:
java -version
And give me the output.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
Click to expand...
Click to collapse
********@********-System-Product-Name:~$ java -version
The program 'java' can be found in the following packages:
* default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
Try: sudo apt-get install <selected package>
********@********-System-Product-Name:~$
hope it will help, thank U for Your effort.
cheers !
j00k3r said:
********@********-System-Product-Name:~$ java -version
The program 'java' can be found in the following packages:
* default-jre
* gcj-4.6-jre-headless
* openjdk-6-jre-headless
* gcj-4.5-jre-headless
* openjdk-7-jre-headless
Try: sudo apt-get install <selected package>
********@********-System-Product-Name:~$
hope it will help, thank U for Your effort.
cheers !
Click to expand...
Click to collapse
Can you do 3 step of installing jdk again and give me every output that you got?
It's the problem that you haven't got java installed correctly.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
OliverG96 said:
Can you do 3 step of installing jdk again and give me every output that you got?
It's the problem that you haven't got java installed correctly.
Enviado desde mi Wildfire S A510e usando Tapatalk 2
Click to expand...
Click to collapse
it's a huge list so i will not c/p cos it will look like wtf
i put it in .txt so U have it in attachment.
cheers !
j00k3r said:
it's a huge list so i will not c/p cos it will look like wtf
i put it in .txt so U have it in attachment.
cheers !
Click to expand...
Click to collapse
Have no idea of what are you doing vrong, but I've a found a tutorial which I follow a few months ago to install it, so I'll edit the 3 step and add the link for it instead of all the commands.
http://www.printandweb.ca/2012/04/manually-install-oracle-jdk-6-for.html
hey Oliver, what do U think is there any chance that problem is x64 version of ubuntu that i'm using ?
maybe U write commands for x86, i don't know, don't have any other idea...
i intsalled latest version followed tut what U give as U can see:
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.12-b01, mixed mode)
Click to expand...
Click to collapse
cheers !
j00k3r said:
hey Oliver, what do U think is there any chance that problem is x64 version of ubuntu that i'm using ?
maybe U write commands for x86, i don't know, don't have any other idea...
i intsalled latest version followed tut what U give as U can see:
cheers !
Click to expand...
Click to collapse
Are you getting the same issues?
Enviado desde mi Wildfire S A510e usando Tapatalk 2
damn yes.
the main problem now is, hmm, I am very stubborn and will not stop until this **** works ! :laugh:
j00k3r said:
damn yes.
the main problem now is, hmm, I am very stubborn and will not stop until this **** works ! :laugh:
Click to expand...
Click to collapse
The issue you got is this again?
Code:
build/core/config.mk:348: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com. Stop.
Device marvel not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for marvel not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifest.xml.
build/core/config.mk:348: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com. Stop.
** Don't have a product spec for: 'cm_marvel'
** Do you have the right repo manifest?
i try every single thing from the start, fresh, and again, yes, that's D error, to bad, no luck for me...

[GUIDE][Step-by-Step] Build ROM from source

I put this tutorial together in an attempt to create the most complete and easy to follow guide for building a ROM from source. Including steps for adding apps to your build, changing toolchains and more... The entire guide uses a single Linux terminal window from start to finish in an attempt to keep everything as user friendly as possible. Please feel free to PM me suggestions on where changes need be made.
If you find this guide helpful please press the Thanks button on my posts and rate the thread a 5.​
Prerequisites​1. This guide is for Ubuntu 12+ based machine, I run Linux Mint 15. Follow links at end of OP for alternate directions
Windows Users: Setup Ubuntu in Virtualbox Instructions
2. You need to know the location for your device, vendor, and kernel repos. This can be found fairly easily in the forum for your phone. Also take note of your phones codename.
For example the Optimus G is the gee and its repos can be found here https://github.com/TeamPlaceholder
Note*All terminal commands will be in Code boxes*
Part 1 - Setting Up The Build Environment​
Install Java JDK
Code:
sudo add-apt-repository ppa:webupd8team/java
Code:
sudo apt-get update
Code:
sudo apt-get install oracle-java6-installer
Installing required packages
Code:
sudo apt-get install git 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 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386
Code:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Set-up ccache This Is Optional
Code:
nano ~/.bashrc
Add these two lines
export USE_CCACHE=1
export CCACHE_DIR=<path-to-your-cache-directory>
Click to expand...
Click to collapse
Save and exit by pressing ctrl+x, selecting Y then enter.
Install ADB & Fastboot This is optional, as you may already have them working. If not, they're a good thing to have.
Code:
sudo add-apt-repository ppa:nilarimogard/webupd8
Code:
sudo apt-get update
Code:
sudo apt-get install android-tools-adb android-tools-fastboot
Setup Repo
Code:
mkdir ~/bin
Code:
PATH=~/bin:$PATH
Code:
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
Code:
chmod a+x ~/bin/repo
Create working directory
Code:
mkdir [I][B]working-dir[/B][/I]
(Replace working-dir with whatever you'd like to call it, ie. aokp)
Code:
cd working-dir
Part 2 - Get Source​ROM Source
Choose which custom rom you are going to build and initialize the repo for it
Code:
repo init -u [I][B]chosen-manifest[/B][/I]
(Replace chosen-manifest appropriately from the list below)
AOKP: https://github.com/AOKP/platform_manifest.git -b Branch
Cyanogenmod: https://github.com/CyanogenMod/android.git -b Branch
CarbonDev: https://github.com/CarbonDev/android.git -b Branch
Liquid Smooth: https://github.com/LiquidSmooth/android.git -b Branch
Replace Branch with appropriate branch from github repo ie cm-10.2 or jb3
If unsure which branch click the link above to locate appropriate branch
Click to expand...
Click to collapse
Device Source
Go HERE and follow instructions on obtaining your device specific repos.
Sync the repo
Code:
repo sync
This will take a while as it downloads all the required source
Part 3 - Preparing Source​Before you're ready to build your source needs to be configured to include your device. This preparation varies slightly for different custom Roms.
Go HERE and follow instructions for your ROM choice
Part 4 - Edit Source​This Is Optional​This is where you can make edits to the source before building to suit your needs.
Go HERE and follow the instructions to tweak source
Part 5 - Building ROM​
Code:
. build/envsetup.sh
Code:
lunch
Locate your device on the list and enter appropriate number
Code:
make -j[B][I]# [/I][/B]otapackage
Replace # with the number of cores in your system (Is the number of jobs that will be done at once, more cores means more jobs)
Build Errors​
This can be hard, especially if you're new to programming languages and building. Meet Google your new best friend.
Here is a basic overview to get you started, and if no more at least googling in the right direction.
Finished​When it's done you're rom will be in working-dir/out/target/product/codename/
Enjoy.
I used these sites while making this guide
http://source.android.com/source/initializing.html
http://www.webupd8.org/2012/11/oracle-sun-java-6-installer-available.html
http://www.webupd8.org/2012/08/install-adb-and-fastboot-android-tools.html
Device Source​ As stated in the prerequisites you will need a device specific Device repo, Vendor repo, and Kernel repo. You can find links to them in the threads for your devices. Also take note of your device codename ie Nexus 4 is mako, Optimus G is gee.
There are two options for adding in device specific source, local manifest and git clone.
Note: The local path for your phone's repos should be device/manufacturer/codename, vendor/manufacturer/codename, kernel/manufacturer/codename regardless of method chosen.
Git Clone
Git clone is a one time download of a specific repo to the directory indicated and is not affected when a repo sync is run. This is probably the better choice if you make edits to the device source as they won't be over written or cause conflicts when syncing.
This method is used AFTER the inital rom source sync. Preform a repo sync before cloning repos
Code:
git clone [B][COLOR=DarkOrange]repo[/COLOR][/B] -b [B][COLOR=Red]branch[/COLOR][/B] [B][COLOR=Lime]destination-path[/COLOR][/B]
here is and example for the vendor repo for the E973 from TeamPlaceHolder
git clone https://github.com/TeamPlaceholder/proprietary_vendor_lge_gee -b cm-10.2 vendor/lge/gee
Click to expand...
Click to collapse
Local Manifest
Local manifest syncs the device repos each time a repo sync is run. This is probably the better choice if you don't make edits and rely on the repo's maintainer for changes. Be wary making edits locally to the repos you list as a repo sync may overwrite your changes.
This method is used BEFORE the initial rom sync. This gets your device source during the first repo sync
Code:
mkdir .repo/local_manifests
Code:
touch .repo/local_manifests/local_manifest.xml
Code:
nano .repo/local_manifests/local_manifest.xml
Add these lines:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="name-for-remote" fetch="remote-url" />
<project path="destination-folder-path" name="repo-location" remote="name-for-remote" revision="branch" />
</manifest>
Click to expand...
Click to collapse
name-for-remote - Any name you want to give to identify the url where your repos are stored
remote-url - The url for the remote location your repos are stored
destination-folder-path - Where do you want this repo stored locally
repo-location - Where on the remote url is your repo stored
branch - The branch of the remote repo you are using
**You will need a project line for each repo you wish to add to the source. **
Here is an example for E973 using TeamPlaceHolder repos, adding all device/vendor/kernel repos.
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="gh"
fetch="git://github.com/" />
<project path="kernel/lge/gee" name="TeamPlaceholder/android_kernel_lge_gee" remote="gh" revision="cm-10.2-update" />
<project path="device/lge/geeb" name="TeamPlaceholder/android_device_lge_geeb" remote="gh" revision="cm-10.2" />
<project path="device/lge/gee-common" name="TeamPlaceholder/android_device_lge_gee-common" remote="gh" revision="cm-10.2" />
<project path="vendor/lge/gee" name="TeamPlaceholder/proprietary_vendor_lge_gee" remote="gh" revision="cm-10.2" />
</manifest>
Click to expand...
Click to collapse
Preparing Source
Preparing Source​ROM specific setup instructions prior to building. All source should be downloaded already.
All ROM setup is fairly similar,
1. You must add your device to the ROM's vendor repo(vendor/cm or vendor/aokp) This process is slightly different per rom. Look at how other devices are added in the vendor repo and emulate those.
2. A ROM specific makefile, again look at how other devices are added.
3. If building AOSP based ROMs, a pre-built kernel is generally required. Look here for instructions on how to compile a kernel separately.
Here are examples of how to set up AOKP or Carbon to build. Device used in example is Optimus G.
Manufacturer and codename MUST be updated to reflect your device.
AOKP
Code:
nano vendor/aokp/vendorsetup.sh
Add this line
add_lunch_combo aokp_geeb-userdebug
Click to expand...
Click to collapse
Save and exit by pressing ctrl+x, selecting Y then enter.
Code:
touch vendor/aokp/products/geeb.mk
Code:
nano vendor/aokp/products/geeb.mk
Add these lines
If building for CDMA network change gsm.mk to cdma.mk
# Inherit AOSP device configuration for geeb
$(call inherit-product, device/lge/geeb/full_geeb.mk)
# Inherit AOKP common bits
$(call inherit-product, vendor/aokp/configs/common.mk)
# Inherit GSM common stuff
$(call inherit-product, vendor/aokp/configs/gsm.mk)
# Setup device specific product configuration
PRODUCT_NAME := aokp_geeb
PRODUCT_BRAND := google
PRODUCT_DEVICE := geeb
PRODUCT_MODEL := Optimus G
PRODUCT_MANUFACTURER := LGE
Click to expand...
Click to collapse
Save and exit by pressing ctrl+x, selecting Y then enter.
Code:
nano vendor/aokp/products/AndroidProducts.mk
Add this line
$(LOCAL_DIR)/geeb.mk \
Click to expand...
Click to collapse
Save and exit by pressing ctrl+x, selecting Y then enter.
CarbonDev
Code:
nano vendor/carbon/vendorsetup.sh
Add this line
add_lunch_combo carbon_geeb-userdebug
Click to expand...
Click to collapse
Once your device has been added you're ready to build! Go back to the OP and complete the guide from where you left off.
good stuff haze
AGREED!!
What bout building ROMs based on LG source? I'd rather see more LG based ROMs because the camera quality is higher, and a lot of AOSP/AOKP ROMs feel more or less the same.
geokilla said:
What bout building ROMs based on LG source? I'd rather see more LG based ROMs because the camera quality is higher, and a lot of AOSP/AOKP ROMs feel more or less the same.
Click to expand...
Click to collapse
Seriously ? Find me LG source to build a rom and I'll make you one.
@moderator.
Btw, This post and the previous should be removed, that thread locked to prevent post like these and pinned. thanks.
Haze028 said:
Well I had put up build instructions for AOKP but thought I would generalize them so people could use them for other ROM bases. My therory is the more people that are trying to build, the more improvments/enhancements can be put forth to the OG community.
As I've stated before I do not consider myself a dev. So don't be afraid of giving this a try, even if you have little to no android building experience. The instructions are as step by step as I could make them, and I'll always try to help where I can.
When it's done you're rom will be in out/target/product/geeb/
I'm writing this now from memory, so if it doesn't work let me know so I may update accordingly
Enjoy.
Click to expand...
Click to collapse
It was what I'm looking for...
Thanks a lot..
Definitely I'll give a try!
chadouming said:
Seriously ? Find me LG source to build a rom and I'll make you one.
@moderator.
Btw, This post and the previous should be removed, that thread locked to prevent post like these and pinned. thanks.
Click to expand...
Click to collapse
Why would want to lock the thread? How do we suppose to learning? I think @Haze purpose was opposite that you suggest, if we do not learn, we'll keeping ask you to change this, or do that instead to help you and even do some nice stuff.
Don't be like that be patience and share your great knowledge. I'm your fan. :good:
d.terenzzo said:
Why would want to lock the thread? How do we suppose to learning? I think @Haze purpose was opposite that you suggest, if we do not learn, we'll keeping ask you to change this, or do that instead to help you and even do some nice stuff.
Click to expand...
Click to collapse
Yeah, I don't think it should get locked, I started it to try to help people out, so they can get assistance through this thread with their builds. Being new to building myself, I have found that the issues, and resolutions to them, in similar threads to this to be a wealth of knowledge.
getting error
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[vendor/aokp/products/geeb.mk]]: "device/lge/geeb/full_geeb.mk" does not exist. Stop.
** Don't have a product spec for: 'aokp_geeb'
** Do you have the right repo manifest?
Any idea what i missed?
Recon Freak said:
build/core/product_config.mk:239: *** _nic.PRODUCTS.[[vendor/aokp/products/geeb.mk]]: "device/lge/geeb/full_geeb.mk" does not exist. Stop.
** Don't have a product spec for: 'aokp_geeb'
** Do you have the right repo manifest?
Any idea what i missed?
Click to expand...
Click to collapse
have you cloned the geeb device tree into device/lge/geeb? seems the error is saying that full_geeb.mk doesn't exist, so either you've not yet cloned the device tree, or you have it in a differnt folder name, I'm assuming currently.
let me know if that's not the case.
I know most people want to run latest and greatest but I'm curious if we could build a cm10 (4.1.2) using LG's released kernel sources?
Any thoughts??
Would be cool to get a 4.1.2 build without LG's proprietary software...
Hopefully you see my point in posting this here as building from lg's sources and either aosp or cm10 isn't the most straightforward.
I'm attempting but I don't expect to have much success...
Mate, how long does repo sync takes? I saw something to download about 10gb?
cheers
d.terenzzo said:
Mate, how long does repo sync takes? I saw something to download about 10gb?
cheers
Click to expand...
Click to collapse
It all depends on your internet connection, looking at around 10-20gb. I think my AOKP repo is 12gb...give or take
Haze028 said:
It all depends on your internet connection, looking at around 10-20gb. I think my AOKP repo is 12gb...give or take
Click to expand...
Click to collapse
"Once you know the truth, there is no going back"
for learning purpose:
Why should we have to download all projects in AOKP, if I wont use it.
There is a way to choice between what to download and what to not download?
cheers
d.terenzzo said:
"Once you know the truth, there is no going back"
for learning purpose:
Why should we have to download all projects in AOKP, if I wont use it.
There is a way to choice between what to download and what to not download?
cheers
Click to expand...
Click to collapse
In the third post i show you how to use a local manifest to remove projects you don't want/need from the repo before you sync, linked to in the build instructions. I always remove the device tree and vendor for other devices before my initial sync.
Yeah, I tried that, but I got weird error. Something about manifest, once I removed the example line about Samsung groups, it worked.
Would you mind to share your local_manifest.
Cheers
Sent from my LG-E971 using xda app-developers app
d.terenzzo said:
Yeah, I tried that, but I got weird error. Something about manifest, once I removed the example line about Samsung groups, it worked.
Would you mind to share your local_manifest.
Cheers
Sent from my LG-E971 using xda app-developers app
Click to expand...
Click to collapse
Sorry for the delay, didn't notice your post, anyways here is my current local manifest file for aokp
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/lge/geeb" name="Haze028/android_device_lge_geebca" remote="aokp" revision="aokp"/>
<project path="vendor/lge/geeb" name="Haze028/android_vendor_lge_geeb" remote="aokp" revision="cm-10.1"/>
<project path="kernel/lge/geeb" name="Haze028/geeb" remote="aokp" revision="geeb"/>
<project path="prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" name="platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7" revision="master" groups="linux,arm" />
<project path="prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" name="platform/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7" revision="master" groups="linux,arm" />
<remove-project name="AOKP/packages_apps_Launcher2" />
<remove-project name="AOKP/device_acer_a510" />
<remove-project name="AOKP/device_asus_grouper" />
<remove-project name="AOKP/device_asus_tilapia" />
<remove-project name="CyanogenMod/android_device_common" />
<remove-project name="device/generic/armv7-a-neon" />
<remove-project name="device/generic/armv7-a" />
<remove-project name="device/generic/common" />
<remove-project name="device/generic/goldfish" />
<remove-project name="device/generic/mips" />
<remove-project name="device/generic/x86" />
<remove-project name="device/google/accessory/arduino" />
<remove-project name="device/google/accessory/demokit" />
<remove-project name="AOKP/device_htc_evita" />
<remove-project name="AOKP/device_htc_msm8960-common" />
<remove-project name="AOKP/device_lge_iprj-common" />
<remove-project name="AOKP/device_lge_mako" />
<remove-project name="AOKP/device_lge_p930" />
<remove-project name="AOKP/device_lge_su640" />
<remove-project name="AOKP/device_lge_vs920" />
<remove-project name="AOKP/device_motorola_maserati" />
<remove-project name="AOKP/device_motorola_omap4-common" />
<remove-project name="AOKP/device_motorola_solana" />
<remove-project name="AOKP/device_motorola_spyder" />
<remove-project name="AOKP/device_motorola_targa" />
<remove-project name="AOKP/device_motorola_umts_spyder" />
<remove-project name="device/sample" />
<remove-project name="AOKP/device_samsung_aries-common" />
<remove-project name="AOKP/device_samsung_celox-common" />
<remove-project name="AOKP/device_samsung_d2-common" />
<remove-project name="AOKP/device_samsung_d2att" />
<remove-project name="AOKP/device_samsung_d2tmo" />
<remove-project name="AOKP/device_samsung_d2usc" />
<remove-project name="AOKP/device_samsung_d2vzw" />
<remove-project name="AOKP/device_samsung_galaxys2-common" />
<remove-project name="AOKP/device_samsung_hercules" />
<remove-project name="AOKP/device_samsung_i605" />
<remove-project name="AOKP/device_samsung_i9100" />
<remove-project name="AOKP/device_samsung_i9100g" />
<remove-project name="AOKP/device_samsung_i9300" />
<remove-project name="AOKP/device_samsung_l900" />
<remove-project name="AOKP/device_samsung_maguro" />
<remove-project name="AOKP/device_samsung_manta" />
<remove-project name="AOKP/device_samsung_msm8660-common" />
<remove-project name="AOKP/device_samsung_msm8960-common" />
<remove-project name="CyanogenMod/android_device_samsung_omap4-common" />
<remove-project name="AOKP/device_samsung_qcom-common" />
<remove-project name="AOKP/device_samsung_smdk4412-common" />
<remove-project name="CyanogenMod/android_device_samsung_smdk4412-qcom-common" />
<remove-project name="AOKP/device_samsung_t0lte" />
<remove-project name="AOKP/device_samsung_t0ltecdma" />
<remove-project name="AOKP/device_samsung_toro" />
<remove-project name="AOKP/device_samsung_toroplus" />
<remove-project name="AOKP/device_samsung_tuna" />
<remove-project name="AOKP/device_samsung_vibrantmtd" />
<remove-project name="device/ti/panda" />
<remove-project name="AOKP/vendor_htc" />
<remove-project name="AOKP/vendor_lge" />
<remove-project name="AOKP/vendor_motorola" />
<remove-project name="AOKP/vendor_samsung" />
<remove-project name="AOKP/vendor_acer_a510" />
<remove-project name="AOKP/vendor_asus" />
</manifest>
Click to expand...
Click to collapse
Haze028 said:
Sorry for the delay, didn't notice your post, anyways here is my current local manifest file for aokp
Click to expand...
Click to collapse
Hey Haze028, thanks for this great write up!
Anyways, im trying to build this for the Sprint LG OG. Do i need to sync with different device trees then this? Im very new at building from source, so, sorry if this is a stupid question.
Thanks!
eletendre84 said:
Hey Haze028, thanks for this great write up!
Anyways, im trying to build this for the Sprint LG OG. Do i need to sync with different device trees then this? Im very new at building from source, so, sorry if this is a stupid question.
Thanks!
Click to expand...
Click to collapse
I believe you will need different repo's, check out Team LGOG's github(https://github.com/TeamLGOG) They have device tree's for all variants, Chadouming is a member of that team and as such his CM10.1 uses those repo's. The local_manifest for Cyanogenmod in the OP should show you which repo's to use.... then depending on what rom you're looking to build some minor changes might be required.
I've not built using their repo's, but I'll help you in getting it all set up.

[GUIDE] How to build crDroid 4.4 KitKat Rom

Since I sold my Galaxy Nexus and I won't continue to build crDroid rom for it, I made this step by step guide to build 4.4 KitKat crDroid rom running on this device from Cristiano Matos and cm's github.
This guide is meant for Ubuntu 13.10 64 bit. 32 Bit won't work.
If you want to use another ubuntu version, some things might be a little different. Just search on xda and you will find all the instructions that you need to complete the setup.
DISCLAMER
Although the procedures in this guide were tested on my pc/phone and produced a working build for my Galaxy Nexus, I take no responsibility for any consequences derived from their use.
1) SET UP THE BUILD ENVIRONMENT
Remove openJDK and install Java 6 jdk. Open a terminal and type:
Code:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
This will uninstall openJDK.
Code:
sudo add-apt-repository ppa:webupd8team/java
Adds a PPA to your system, needed to download java.
Code:
sudo apt-get update && sudo apt-get install oracle-java6-installer
Download and installs java!
To make sure the correct version of Java is activated, run the following at the Terminal prompt:
Code:
java -version
You should see something like that:
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) 64-Bit Server VM (build 20.45-b01, mixed mode)
Now type:
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python lzop
This will install the needed packages.
When done, do this:
Code:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Now, install the repo binary:
Code:
mkdir ~/bin && curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo && chmod a+x ~/bin/repo
Edit .bashrc:
Code:
sudo nano ~/.bashrc
At the bottom of the file, add the following line:
Code:
export PATH=~/bin:$PATH
Save it (In nano type Ctrl-O and then Enter, then Ctrl-X to exit back to a prompt).
Restart bash:
Code:
source ~/.bashrc
2) DOWNLOAD THE SOURCES:
Code:
mkdir ~/cyanogenmod
cd ~/cyanogenmod
This creates a folder named "cyanogenmod" and opens it.
Initialize the repo:
Code:
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
Open cyanogenmod folder, press ctrl+H to show hidden files, open .repo, open local_manifests and edit roomservice.xml (If it isn't present create it) to be like this one:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="http://github.com/" name="gh" revision="master" />
<remote fetch="https://github.com/TheMuppets/" name="TheMuppets" revision="cm-11.0" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="gh" revision="cm-11.0" />
<project name="TheMuppets/proprietary_vendor_imgtec" path="vendor/imgtec" remote="gh" revision="cm-11.0" />
<project name="TheMuppets/proprietary_vendor_broadcom" path="vendor/broadcom" remote="gh" revision="cm-11.0" />
<project name="TheMuppets/proprietary_vendor_invensense" path="vendor/invensense" remote="gh" revision="cm-11.0" />
<project name="TheMuppets/proprietary_vendor_widevine" path="vendor/widevine" remote="gh" revision="cm-11.0" />
<project name="TheMuppets/proprietary_vendor_nxp" path="vendor/nxp" remote="gh" revision="cm-11.0" />
<project name="CyanogenMod/android_device_samsung_maguro" path="device/samsung/maguro" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_device_samsung_toroplus" path="device/samsung/toroplus" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_device_samsung_toro" path="device/samsung/toro" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_kernel_samsung_tuna" path="kernel/samsung/tuna" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_device_samsung_tuna" path="device/samsung/tuna" remote="github" revision="cm-11.0" />
<remove-project name="CyanogenMod/android_packages_apps_Dialer" />
<project name="cristianomatos/android_packages_apps_Dialer" path="packages/apps/Dialer" remote="github" revision="cm-11" />
<remove-project name="CyanogenMod/android_packages_apps_InCallUI" />
<project name="cristianomatos/android_packages_apps_InCallUI" path="packages/apps/InCallUI" remote="github" revision="cm-11" />
<remove-project name="CyanogenMod/android_packages_services_Telephony" />
<project name="cristianomatos/android_packages_services_Telephony" path="packages/services/Telephony" remote="github" revision="cm-11" />
<remove-project name="CyanogenMod/android_frameworks_base" />
<project name="cristianomatos/android_frameworks_base" path="frameworks/base" remote="github" revision="cm-11" />
<remove-project name="CyanogenMod/android_packages_apps_Settings" />
<project name="cristianomatos/android_packages_apps_Settings" path="packages/apps/Settings" remote="github" revision="cm-11" />
</manifest>
Download time!
Code:
repo sync
It will download about 10gb of data, so be patient!
Download the prebuilts:
Code:
~/cyanogenmod/vendor/cm/get-prebuilts
3) BUILD THE ROM:
Code:
. build/envsetup.sh && brunch name_of_device
Where "name_of_device" is maguro, toro or toroplus, depending for which ersion you want to build.
It will take some time (on my pc with 3GHz dual core and 4gb of ram about 2h30min)
If everything goes right the flashable zip of the rom will be in cyanogenmod/out/target/product/name_of_device/cm-11-XXXXXXXXX-UNOFFICIAL-name_of_device.zip
4) Install the rom on your phone!
-------------------------------------------------------------------------------------------------------------
Some other tips:
When you want to download latest crdroid/cm changes open a new terminal and type:
Code:
cd cyanogenmod
repo sync
When you want to delete the build products (because something has gone wrong or you want to make a new build):
Code:
make clean
Then:
Code:
. build/envsetup.sh && brunch name_of_device
To start building again.
Reserved
Simply perfect bro!
Inviato dal mio Galaxy Nexus utilizzando Tapatalk
Thanks for this useful tutorial, awesome #bow
Sent from my Galaxy Nexus using Tapatalk
--deleted--
Thanks for this useful tutorial
Thanks for this useful tutorial.
I can make other unofficial builds in your favor.
@elia222 any idea why I get this when I do a repo sync:
Code:
Fetching project platform/external/scrypt
Fetching project CyanogenMod/android_external_elfutils
Fetching project CyanogenMod/android_external_svox
Fetching projects: 66% (307/465) Fetching project CyanogenMod/android_external_grub
Fetching project platform/external/sfntly
error: Cannot fetch cristianomatos/android_frameworks_base
Fetching project platform/prebuilts/runtime
error: Cannot fetch cristianomatos/android_packages_apps_Settings
error: Exited sync due to fetch errors
linezero said:
@elia222 any idea why I get this when I do a repo sync:
Code:
Fetching project platform/external/scrypt
Fetching project CyanogenMod/android_external_elfutils
Fetching project CyanogenMod/android_external_svox
Fetching projects: 66% (307/465) Fetching project CyanogenMod/android_external_grub
Fetching project platform/external/sfntly
error: Cannot fetch cristianomatos/android_frameworks_base
Fetching project platform/prebuilts/runtime
error: Cannot fetch cristianomatos/android_packages_apps_Settings
error: Exited sync due to fetch errors
Click to expand...
Click to collapse
Probably Cristiano Matos has changed/removed something on his github repositories. I didn't followed the project recently, so your best bet would be to contact him to solve the issue.
So if we re-initialize repo, would that solve the fetch errors?
CristiS2012 said:
So if we re-initialize repo, would that solve the fetch errors?
Click to expand...
Click to collapse
You can try, not sure if it will work or not.
Could i just download resource for specify device only ?
Not download reaource for all device
Is this guide also work on non nexus device ?
Can i use the maguro CM device trees for other roms like slim, beanstalk for lollipop ??
iddu.daragah said:
Can i use the maguro CM device trees for other roms like slim, beanstalk for lollipop ??
Click to expand...
Click to collapse
Yes, but it might need some little corrections.
elia222 said:
Yes, but it might need some little corrections.
Click to expand...
Click to collapse
What should i exactly edit ??
iddu.daragah said:
What should i exactly edit ??
Click to expand...
Click to collapse
It depends from which rom are you building. You will see from build errors what needs to be edited
elia222 said:
It depends from which rom are you building. You will see from build errors what needs to be edited
Click to expand...
Click to collapse
I am building PA 5.0 and currently my device is running slimkat.
So if i flash PA 4.4 and extract the proprietary blobs from device or download the kitkat maguro device trees via local manifest so will it give me build errors ?? and okay ill know by the build errors what changes should i make ....
Thnk You
iddu.daragah said:
I am building PA 5.0 and currently my device is running slimkat.
So if i flash PA 4.4 and extract the proprietary blobs from device or download the kitkat maguro device trees via local manifest so will it give me build errors ?? and okay ill know by the build errors what changes should i make ....
Thnk You
Click to expand...
Click to collapse
I haven't followed maguro since a long time. There aren't 5.0 blobs available?
elia222 said:
I haven't followed maguro since a long time. There aren't 5.0 blobs available?
Click to expand...
Click to collapse
There are for cyanogemod .. but how will they work in PA ???
iddu.daragah said:
There are for cyanogemod .. but how will they work in PA ???
Click to expand...
Click to collapse
They work. Use cm vendor tree

[Guide][Ref][M] [Build Your Own] Project Developer - AIO TUTORIAL

Project Developer
Welcome
This is a guide for all those who want to build for their Xperia M Device but do not neccesasarily have the knowledge or experience.
This is an unofficial guide for the building of custom ROMs and other mods for the Xperia M. This is a work in progress, with additions being made as often as possible. This thread has already grown with the help of the devs established in this forum. BMP777 began this project a year ago when I was using a Samsung GS II Skyrocket. BMP777 started another alike thread called PR II in the LGOG forum a while back as well. I have since moved on to a ONE, but both threads remain to this day. and Started by Me on Xperia Arc The point is this: everyone who uses this site has a desire for modding, customizing, and/or otherwise altering their device. Unfortunately, many have no idea how to go about doing these things for themselves. As such, there is a lot of dissatisfaction among developers about receiving constant demands, suggestions, and requests for updates. This thread is meant to give those who want to step up and build for themselves the means to do so. It is an ever-changing thread, with all assistance welcomed.
READ ME:
On one hand, it should go without saying that if you have no knowledge and/or experience with building, java, C++, and various other tools, you probably shouldn't begin here. At the same time, it is possible to learn to build, provided you can read, follow directions, and aren't too lazy to RESEARCH.
OH YEAH, and you better have patience. This isn't easy. It will be work. The quickest way to get flamed is to show yourself to be lazy. If you think that with a couple clicks, you can have your own flashy ROM, forget it. But, if you do want to learn, this is a good place to get started. I have no ego about this; I started the same way and just want to help everyone learn to build their own ROM. But, everyone will struggle to get to a successful point, and lazy, unmotivated people just irritate those who have had to learn from scratch too. Tutorials will be posted for any new thing learned and built as time and space allow. ALL ARE WELCOME AND ALL QUESTIONS ARE TOO. But, seriously, if it's a really ridiculous one, I/we reserve the right to screw with you about it.
ALWAYS REMEMBER:
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Thread Disclaimer:
The instructions and extras posted here are to be used at your own risk. I am working hard to provide good, workable tutorials that will make successful building much easier. Nevertheless, I am not responsible if you lose your files, brick your device, or inadvertently cause a nuclear war. If you are seeking absolute perfection, RUN NOW WHILE YOU STILL CAN!!
Thread Navigation :
# 2 > Setting Up Build enviorment
# 3 > Building instructions & How To Build Using Linaro Toolchain
# 4 > Kernel building and CCACHE
# 5 > reserved for future
XDA:DevDB Information
Project Developer, a Tool/Utility for the Sony Xperia Z
Contributors
officiallysonyrebel, car vs driver , BMP777, @Saki3d , @FXP , @kali , @codeworkx , @cdesai
Version Information
Status: Testing
Created 2013-11-29
Last Updated 2013-12-03
Necessary Files for Xperia M :
Tip :For Building any Rom for Xperia Z u need these specific device files
1 . first is "sony.xml"
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- Nicki bits -->
<project path="device/sony/nicki" name="CyanogenMod/android_device_sony_nicki" remote="github" revision="cm-11.0" />
<project path="kernel/sony/msm8x27" name="CyanogenMod/android_kernel_sony_msm8x27" remote="github" revision="cm-11.0" />
<!-- common sony bits -->
<project path="device/sony/qcom-common" name="CyanogenMod/device_sony_qcom-common" remote="github" revision="cm-11.0" />
<project path="device/sony/common" name="CyanogenMod/device_sony_common" remote="github" revision="cm-11.0" />
<project path="hardware/sony/DASH" name="CyanogenMod/android_hardware_sony_DASH" remote="github" revision="cm-11.0" />
<!-- sony vendor bits -->
<project path="vendor/sony" name="TheMuppets/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
</manifest>
Build Enviorment Set up :
This is a combination of the steps offered in the threads 'Compile JB on Ubuntu' and TeamChopsticks CyanogenMod.
Special thanks to dastin1015 and TeamChopsticks.
Tip: Allocate at least 75 gigs of space for the building of ONE ROM. If you install ccache, you will want 90. A complete build directory can use as much as 100 gigs, so make sure you have plenty of room. One of the ways to fail out a build is too use all of your partition before acquiring all the necessary files.
Here are the steps from those 2 tutorials in correct order:
0.1 ))
Install Gedit
Code:
# gedit
sudo apt-get install gedit
1) You need the following:
-JDK 6 if you wish to build Jellybean.
Code:
[COLOR="Black"]$ sudo apt-get oracle-java7-installer
-Python 2.4 -- 2.7, which you can download from python.org.[/COLOR]
Or:
Code:
[COLOR="black"]$ sudo apt-get install python
-Git 1.7 or newer. You can find it at git-scm.com.[/COLOR]
Or:
Code:
[COLOR="black"]$ sudo apt-get install git-core[/COLOR]
-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 – this tutorial assumes you've done that as well.
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:
[COLOR="black"]# Android tools
export PATH=${PATH}:~/android-sdk/tools
export PATH=${PATH}:~/android-sdk/platform-tools
export PATH=${PATH}:~/bin[/COLOR]
Find your .profile file and add this at the bottom of the file:
Code:
[COLOR="black"]PATH="$HOME/android-sdk/tools:$HOME/android-sdk/platform-tools:$PATH"
You have now successfully installed the Android SDK.[/COLOR]
To check for updates issue this into your terminal:
Code:
[COLOR="black"]$ android[/COLOR]
2) Install required packages. 64-bit (recommended)
Code:
[COLOR="black"]$ 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 lib32z-dev
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown
libxml2-utils lzop schedtool[/COLOR]
On newer versions of Ubuntu such as 11.10 you may need to do the following:
Code:
[COLOR="black"]$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so[/COLOR]
Code:
[COLOR="black"]$ 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
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so[/COLOR]
3) Configure your USB.
Code:
[COLOR="black"]$ gksudo gedit /etc/udev/rules.d/51-android.rules[/COLOR]
Inside of this blank text file insert:
Code:
[COLOR="black"]#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"[/COLOR]
4) Save the file and close it and then issue this command:
Code:
[COLOR="black"]$ sudo chmod a+r /etc/udev/rules.d/51-android.rules[/COLOR]
5) Install the repo:
Code:
[COLOR="black"]$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo[/COLOR]
Create your work directory:
Code:
[COLOR="black"]mkdir ~/"your directory name here" For example: mkdir ~/cm10
cd ~/cm10[/COLOR]
Setup local manifest:
Code:
[COLOR="Black"]mkdir .repo/local_manifests
touch .repo/local_manifests/sony.xml
gedit .repo/local_manifests/sony.xml[/COLOR]
Building Instructions : For CyanogenMod :: AOKP :: Carbon roms :: Beanstalk
Unofficial
To get started with Android/CyanogenMod, you'll need to get familiar with Git and Repo.
To initialize your local repository using the CyanogenMod trees, use a command like this:
first create folder named " cm "
Code:
mkdir cm
enter into cm
Code:
cd ~/cm
For CM - 11.0 kitkat 4.4.x
Code:
[COLOR="black"]repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0[/COLOR]
Then to sync up:
Code:
[COLOR="black"]repo sync[/COLOR]
Please see the CyanogenMod Wiki for building instructions.
For more information on this Github Organization and how it is structured, please read the wiki article.
Create and edit semc.xml in .repo:
Code:
[COLOR="black"]gedit .repo/local_manifests/sony.xml[/COLOR]
Add this to the semc.xml:
For CM 11.0 KitKat 4.4.x
copy paste semc.xml for kikat 4.4 from above
then
Code:
[COLOR="Black"]repo sync[/COLOR]
Code:
[COLOR="black"]. build/envsetup.sh (notice the period and space)
vendor/cm/get-prebuilts
[/COLOR]
then
Code:
brunch c1905
Special thanks to scott.hart.bti for his hard work -
From terminal
1. type
Code:
[COLOR="black"]cd[/COLOR]
.
This will bring you to your root folder.
2. type
Code:
[COLOR="black"]mkdir beanstalk[/COLOR]
.
This will create a folder named beanstalk.
3. type
Code:
[COLOR="black"]cd beanstalk[/COLOR]
.
This will take you to the beanstalk directory created from previous step
4. type
Code:
[COLOR="black"]repo init -u git://github.com/scotthartbti/android.git -b kk44[/COLOR]
.
This will setup the folders to be synced.
5. For Beanstalk KitKat 4.4.x
copy paste sony.xml for kikat 4.4 from above
then
Code:
[COLOR="Black"]repo sync[/COLOR]
apply patches for 4.4
9. Outside of terminal, navigate to beanstalk/vendor/cm. Double click on the get-prebuilts file and select run in terminal. This will fetch necessary files needed to build and place them where they need to be.
10. Type
Code:
[COLOR="Black"]. build/envsetup.sh && brunch c1905 [/COLOR]
11. Previous step will start building beanstalk for your device. The process takes anywhere from 1 - 3 hours depending on your computer.
12. Once completed, it will say package complete and you will have a beanstalk named zip file in your out folder.
Unofficial
Special thanks to spleef and ktempleman for laying this out
This set of instructions is unverified. If you build successfully or have build issues, please post here so we can confirm or fix what isn't working
First:
Code:
[COLOR="Black"]mkdir aokp[/COLOR]
then
Code:
[COLOR="black"]cd aokp[/COLOR]
then
Code:
[COLOR="black"]repo init -u https://github.com/AOKP/platform_manifest.git -b kitkat[/COLOR]
after it does its thing
Code:
[COLOR="black"]mkdir .repo/local_manifests
touch .repo/local_manifests/sony.xml
gedit .repo/local_manifests/sony.xml[/COLOR]
copy paste semc.xml for kikat 4.4 from above
save and exit then
Code:
[COLOR="black"]repo sync[/COLOR]
after everything syncs
Code:
[COLOR="black"]gedit vendor/aokp/vendorsetup.sh[/COLOR]
and add this to the bottom:
Code:
[COLOR="black"]add_lunch_combo aokp_c1905 -userdebug[/COLOR]
save and exit.. then
Code:
[COLOR="black"]. build/envsetup.sh[/COLOR]
Code:
[COLOR="black"]brunch c1905 [/COLOR]
For more on AOKP building, try here: http://aokp.co/learn/so-you-want-to-build-aokp-jb-ubuntu-1204
And Here: https://github.com/AOKP
Unofficial
Getting Started
To get started with the Carbon-Dev sources, you'll need to get familiar with Git and Repo.
Create the Directories
You will need to set up some directories in your build environment.
To create them run:
Code:
[COLOR="black"]mkdir -p ~/carbon[/COLOR]
Install the Repository
You may need to reboot for these changes to take effect. Now enter the following to initialize the repository:
Code:
[COLOR="black"]cd ~/carbon[/COLOR]
Repositories:
Before you continue --> run this in the terminal
Code:
[COLOR="black"]repo init -u https://github.com/CarbonDev/android.git -b kk[/COLOR]
after it does its thing
Code:
[COLOR="black"]mkdir .repo/local_manifests
touch .repo/local_manifests/sony.xml
gedit .repo/local_manifests/sony.xml[/COLOR]
copy paste sony.xml for kikat 4.4 from above
save and exit then
Code:
[COLOR="black"]repo sync[/COLOR]
after everything syncs
Code:
[COLOR="black"]gedit vendor/carbon/vendorsetup.sh[/COLOR]
and add this to the bottom:
Code:
[COLOR="black"]add_lunch_combo carbon_c1905 -userdebug[/COLOR]
save and exit.. then
Code:
[COLOR="black"]. build/envsetup.sh[/COLOR]
Code:
[COLOR="black"]brunch c1905 [/COLOR]
To get started with AORP, you'll need to get familiar with Git and Repo.
To initialize your local repository using the AORP trees, use a command like this:
first create folder named " AORP "
Code:
mkdir AORP
enter into AORP
Code:
cd ~/AORP
For kitkat 4.4.x
Code:
[COLOR="black"]repo init -u git://github.com/AORP/android.git -b kk[/COLOR]
Then to sync up:
Code:
[COLOR="black"]repo sync[/COLOR]
Please see the CyanogenMod Wiki for building instructions.
For more information on this Github Organization and how it is structured, please read the wiki article.
Create and edit sony.xml in .repo:
Code:
[COLOR="black"]gedit .repo/local_manifests/semc.xml[/COLOR]
Add this to the semc.xml:
For KitKat 4.4.x
copy paste sony.xml for kikat 4.4 from above
then
Code:
[COLOR="Black"]repo sync[/COLOR]
Code:
[COLOR="black"]. build/envsetup.sh (notice the period and space)
vendor/cm/get-prebuilts
[/COLOR]
then
Code:
brunch c1905
Next Tutorial is Strictly Not for beginners
Building with Linaro 4.8 toolchain
Go into Terminal and navigate to the root folder of your source tree, then:
Code:
[COLOR="Black"]prebuilts/gcc/linux-x86/arm/[/COLOR]
Run:
Code:
[COLOR="black"]wget http://releases.linaro.org/13.06/components/toolchain/gcc-linaro/4.8/gcc-linaro-4.8-2013.06.tar.bz2[/COLOR]
Run:
Code:
[COLOR="black"]bunzip2 *.tar.bz2[/COLOR]
Run:
Code:
[COLOR="black"]tar -xvf *.tar[/COLOR]
Using your file manager, navigate to the root folder of your source tree again.
Navigate To "/build", in your root folder.
Run:
Code:
[COLOR="black"]gksudo gedit envsetup.sh[/COLOR]
change the line in bold, to look exactly like this one:
Code:
[COLOR="black"]case $ARCH in
x86) toolchaindir=x86/i686-linux-android-4.6/bin
;;
[B]arm) toolchaindir=arm/gcc-linaro-4.8-2013.06[/B] [COLOR="Red"]<--------[/COLOR]
;;
mips) toolchaindir=mips/mipsel-linux-android-4.6/bin
;;
*)
echo "Can't find toolchain for unknown architecture: $ARCH"
toolchaindir=xxxxxxxxx
;;
esac
[/COLOR]
Exit out and open new. Initialize and build. That's it! Makes you wonder why you never did it before, right?
Not so fast. You may have build issues, you may not. I had a few lengthy sets of errors in gsm calltracker and another .java file that was solved by using Meld and making it look exactly like a successful build's file. More as I learn.......
Thanks to infected_ for this tut; his post can be found here: [/COLOR]
http://forum.xda-developers.com/showpost.php?p=42976693&postcount=12
This is a work in progress. Many more pieces of information will be added and this is meant to be an ever-changing thread. If you see something that is outdated or incorrect, please let me know ASAP, so I can make the correction. Also, make sure that any info offered can be and has been confirmed as functional.
Thanks to:
CyanogenMod
scott.hart.bti
Team Carbon
david279
MallardDuck
ktempleton
AdhvanIt
matthew0776
spleef
M4570D0N
car vs driver
PecanCM
BMP777
Kernel Building and Ccache
Building your first kernel
:
This is a set of steps to get you building your first kernel. Special thanks to thewadegeek for putting this tutorial together. His thread can be found here: http://forum.xda-developers.com/showthread.php?t=1748297
Step 1. Build Environment
A. Install Ubuntu 12.04(Not holding your hand here, if you can't do this you shouldn't be messing with kernels)
B. Required packages: git-core, gnupg, flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev, build-essential, zip, curl, libncurses5-dev, zlib1g-dev, ia32-libs, lib32z1-dev, lib32ncurses5-dev, gcc-multilib, g++-multilib, and Adb.
C. Open a terminal
D. Type
Code:
[COLOR="black"]mkdir android[/COLOR]
E. Type
Code:
[COLOR="black"]cd android[/COLOR]
G.Type
Code:
[COLOR="black"]mkdir kernel[/COLOR]
Step 2. Your Source
A. Open your Terminal Prompt
B. Type
Code:
[COLOR="black"]cd android/kernel[/COLOR]
C. Type
Code:
[COLOR="black"]git clone git://github.com/DooMLoRD/android_prebuilt_toolchains.git toolchains[/COLOR]
D. Now comes the tricky part, you need to have some-type of source for your kernel. Check the following two sites for your device as appropriate. Once you have it download it is extracted/cloned into a folder in your kernel directory.
http://developer.sonymobile.com/wpor...ads/opensource
Step 3. Modifications
This is the part people are curious about, they want to make modifications to the kernel to make it "special". Start all these from the root directory of your kernel source.
Mod 1. Applying a patch
A. Download the patch you wish to apply, in this case this one should work.
B. Save that file as "kernelPatch" in your kernel directory.
C. Open a Terminal
D. Move into the root directory of the kernel you wish to patch.
E. Type
Code:
[COLOR="black"]patch -p1 < ../kernelPatch[/COLOR]
Mod 2. Adding a Governor Alone
A. Open "drivers/cpufreq/Kconfig"
B. Add the following lines in appropriate spot amongst the other govenor's
Code:
[COLOR="Black"]config CPU_FREQ_DEFAULT_GOV_SMARTASS
bool "smartass"
select CPU_FREQ_GOV_SMARTASS
select CPU_FREQ_GOV_PERFORMANCE
help
Use the CPUFreq governor 'smartass' as default.
[/COLOR]
Code:
[COLOR="Black"]config CPU_FREQ_GOV_SMARTASS
tristate "'smartass' cpufreq governor"
depends on CPU_FREQ
help
smartass' - a "smart" optimized governor!
If in doubt, say N.[/COLOR]
C. Open "drivers/cpufreq/Makefile"
D. Add the following line in the appropriate spot.
Code:
[COLOR="Black"] obj-$(CONFIG_CPU_FREQ_GOV_SMARTASS) += cpufreq_smartass.o[/COLOR]
E. Create a file called "drivers/cpufreq/cpufreq_smartass.c"
F. Put the following code in that file.
http://pastebin.com/f0Bk9kVZ
G. open "include/linux/cpufreq.h"
H. Under the "Cpufreq Default" section add
Code:
[COLOR="Black"]#elif defined(CONFIG_CPU_FREQ_DEFAULT_GOV_SMARTASS)
extern struct cpufreq_governor cpufreq_gov_smartass;
#define CPUFREQ_DEFAULT_GOVERNOR (&cpufreq_gov_smartass)[/COLOR]
Ok there is a governor added, do the exact same steps for any other one's you would like to add.
Step 4. Getting a Config file
Option A. Pulling a config file from a kernel.
A. Hook up a device that is using a kernel similar to one you are using as your base.
B. Open a terminal
C. Change to your root kernel directory
D. Type
Code:
[COLOR="black"]adb pull /proc/config.gz[/COLOR]
E. Type
Code:
[COLOR="black"]gunzip config.gz[/COLOR]
F. Type
Code:
[COLOR="black"]mv config arch/arm/configs/<your_config_name>_defconfig[/COLOR]
Option B. Using the manufacturers config.
Unfortunately as stated above, not all kernels support the "/proc/config.gz" method. You can typically find a manufacturer's configuration file in "arch/arm/configs". I believe the one for my HTC Flyer was called "flyer_hc_defconfig", so look for a layout similar to that one. Also read the README to get a better idea of how to modify it. I would personally make a copy of it called "<your_config_name>_defconfig" and use that as my base.
Step 5. Building
Time to start the real "build" section of this tutorial.
Part A. Pre-build Steps
A. Open terminal and change to the root of your kernel directory
B. Type
Code:
[COLOR="black"]export ARCH=arm[/COLOR]
C. Type
Code:
[COLOR="black"]export CROSS_COMPILE=~/android/kernel/toolchains/arm-eabi-linaro-4.6.2/bin/arm-eabi-[/COLOR]
Part B. The First Build
A. Type
Code:
[COLOR="black"]make <your_config_name>_defconfig[/COLOR]
B. Type
Code:
[COLOR="black"]make menuconfig[/COLOR]
and make the required changes to use any modules you added or similar changes.
C. Type
Code:
[COLOR="black"]make -j<maximum number of jobs>[/COLOR]
Part C. Re-Builds
A. Type
Code:
[COLOR="black"]make clean[/COLOR]
B. Type
Code:
[COLOR="black"]make oldconfig[/COLOR]
C. Type
Code:
[COLOR="black"]make -j<maximum number of jobs>[/COLOR]
Part D. Building Modules
You have two options:
A. Type
Code:
[COLOR="black"]make modules[/COLOR]
B. Type
Code:
[COLOR="black"]make path/to/your/module.ko[/COLOR]
The above steps explained:
Part A.(These steps are required every time you close your terminal and re-open it to build again.)
A. Ok shouldn’t need to explain this.
B. This command sets your target architecture.
C. Defines the path to the toolchain we are going to use to compile our kernel. You can change this to point towards whatever toolchain you have downloaded or feel like using, the way it is currently configured it will use the Linaro toolchain that we downloaded above.
Part B.(These only need to be run the first time you build a kernel.)
A. Load's your configuration file from earlier.
B. Open up a menu to configure your kernel. It will use the config file you loaded in the previous step as a base.
C. Viola start the build. I typically allow 1 job per core, so on my quad core machine I put "make -j4". Just raising that number will not make your build faster, your processor needs to be able to support the number of jobs you are assigning it.
Part C. (Use the command's when you are building any-time outside of the first)
A. This command gets rid of any old/outdated binaries or modules you compiled before, and let's start fresh. I like to run it every I build unless my changes are really small and localized.
B. A very awesome command, it parses through what has changed and only prompts you about new options.
C. See the explanation for the above "Part C.".
Part D.(Use these for just building kernel modules.)
A. This will re-build all modules.
B. Will rebuild just the module you need. Very useful when you need to rebuild a WiFi module.
Step 6. Now what
Ok we have now started our build and we are waiting for it to finish, so there are two possible outcomes:
Outcome A. Build Succeeds
W00t!! You have a kernel built by your self from source. There are a couple things you need in-order to use this kernel on your device any ".ko" modules and the zImage binary. If you pay attention to the output of your compiler then you will see the location of those objects. However the following commands will make your life a bit easier(Thanks Recognized Developer Hacre):
A. Open a terminal
B. Change to your root kernel directory
C. Type
Code:
[COLOR="black"]mkdir ../<your_kernel>_output[/COLOR]
D. Type
Code:
[COLOR="black"]cp arch/arm/boot/zImage ../<your_kernel>_output/zImage[/COLOR]
E. Type
Code:
[COLOR="black"]find . -name "*.ko" -exec cp {} ../<your_kernel>_output \;[/COLOR]
The above steps explained:
A-C. Self-Explanatory
D. Move our kernel binary into our output folder
E. This handy bit of magic finds all ".ko" modules and also copies them into your output file.
You will also need to assemble a kernel image containing a initramfs for your device, along with the kernel binary and such. That however is beyond the scope of this tutorial. To get started though try searching the following phrases.
Code:
[COLOR="Black"]building android kernel image
xda build kernel image
xda unpack boot.img[/COLOR]
Outcome B. Build Fails
Oh dear. It failed. Well guess what...this is going to happen..a LOT. Get used to it, and get used to googling and experimenting with different solutions. The following are some tips that will help you with debugging your issues.
Running a "Clean" build
A. Backup your config file - Type
Code:
[COLOR="black"]cp .config ../backupConfig[/COLOR]
B. Re-run the build process using just your defconfig from earlier.
Limiting Output(Thanks Hacre.)
A. Another good tip is to run "make -j1" to get the error, as it will limit the amount of text you need to scroll through.[/COLOR]
[/CENTER]
Building TWRP recovery - http://forum.xda-developers.com/showthread.php?t=1943625​
Building CWM recovery - http://forum.xda-developers.com/showthread.php?t=1866545​
CCACHE​
Here is a brief tutorial on the installation of Ccache, which can shorten build times drastically :
If you have room on your build system you can speed
your builds up considerably by using ccache. ccache is a compiler
cache. It speeds up re-compilation of C/C++ code by caching
previous compiles and detecting when the same compile is
being done again.
Install it with apt-get:
Code:
[COLOR="Black"]sudo apt-get install ccache[/COLOR]
Set environment vars for Android use:
(I put these exports in my .bashrc)
Code:
[COLOR="Black"]export USE_CCACHE=1
export NDK_CCACHE=ccache[/COLOR]
Set a cache size of 10G for optimal results:
Code:
[COLOR="black"]ccache -M 10G[/COLOR]
Check the status of your cache with the command:
Code:
[COLOR="black"]ccache -s [/COLOR]
Returns:
Code:
[COLOR="black"]
cache directory /home/jocala/.ccache
cache hit 106673
cache miss 18379
called for link 3758
preprocessor error 5
not a C/C++ file 4425
unsupported compiler option 678
no input file 4565
files in cache 36758
cache size 3.2 Gbytes
max cache size 10.0 Gbytes[/COLOR]
Really Useful things
Here are some relevant topics/tutorials/sites:
Download | Ubuntu - www.ubuntu.com/download
Official Ubuntu Documentation: Help for all versions. - https://help.ubuntu.com/
How To Windows Dual Boot: - https://help.ubuntu.com/community/WindowsDualBoot
How To Use The Terminal: Commandline stuff. - https://help.ubuntu.com/community/UsingTheTerminal/
[HOW TO] Beginners Guide to Android ROM Development - http://forum.xda-developers.com/showthread.php?t=1272270 (courtesy of isidromxz)
[Tutorial] Compile JB on Ubuntu - http://forum.xda-developers.com/showthread.php?t=1762641 (courtesy of dastin1015)
[CM10] [PPA] Cyanogenmod Compiler v0.6 - http://forum.xda-developers.com/showthread.php?t=1789190 (courtesy of lithid-cm)
[Wiki] How to: Gerrit - http://wiki.cyanogenmod.com/wiki/Howto:_Gerrit
[Wiki] How to: Git - http://wiki.cyanogenmod.com/wiki/Howto:_Git
[Wiki] How to: Connect to device with SSH - http://wiki.cyanogenmod.com/wiki/Howto:_Connect_to_Device_with_SSH
Here is an easy-to-use page on common Linux commands: - http://www.pixelbeat.org/cmdline.html
Linux Newbie Guide : - http://www.unixguide.net/linux/linuxshortcuts.shtml
Also, Team Chopsticks has a good page with some useful tips as well, located here:
http://www.teamchopsticks.org/p/contributing.html (thanks to bdusmc for the tip)
Here is a link to LIFEHACKER's command line tutorials. Very good stuff!! : http://lifehacker.com/5743814/become-a-command-line-ninja-with-these-time+saving-shortcuts
CyanogenMod git : - https://github.com/CyanogenMod
PecanCM git : - https://github.com/RonGokhale
Original Beanstalk thread : - http://forum.xda-developers.com/showthread.php?t=2091900
Beanstalk git : - https://github.com/scotthartbti?tab=repositories
The Muppets git : - https://github.com/TheMuppets
rebelos said:
Necessary Files for Xperia M :
Tip :For Building any Rom for Xperia Z u need these specific device files
1 . first is "sony.xml"
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="device/sony/qcom-common" name="CyanogenMod/android_device_sony_qcom-common" remote="github" revision="cm-11.0" />
<project path="device/sony/common" name="CyanogenMod/android_device_sony_common" remote="github" revision="cm-11.0" />
<project path="device/sony/c1905" name="RonGokhale/android_device_sony_c1905" remote="github" revision="cm-11.0" />
<project path="vendor/sony" name="RonGokhale/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
<project path="kernel/sony/nicki" name="RonGokhale/android_Kernel_sony_nicki" remote="github" revision="cm-11.0" />
<project path="hardware/sony/DASH" name="CyanogenMod/android_hardware_sony_DASH" remote="github" revision="cm-11.0" />
</manifest>
Click to expand...
Click to collapse
bro small mistake
use this <project path="vendor/sony/c1905" name="RonGokhale/android_vendor_sony_c1905" remote="github" revision="cm-11.0" />
not <project path="vendor/sony" name="RonGokhale/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
and i think u should add this
<project path="vendor/sony" name="TheMuppets/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
am i ri8 or wrong?
bcoz there is no RonGokhale/proprietary_vendor_sony
and frameworks/av patch to fix camera hal loading : https://gist.github.com/RonGokhale/8129635
how to add this patch...
ansebovi said:
bro small mistake
use this <project path="vendor/sony/c1905" name="RonGokhale/android_vendor_sony_c1905" remote="github" revision="cm-11.0" />
not <project path="vendor/sony" name="RonGokhale/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
and i think u should add this
<project path="vendor/sony" name="TheMuppets/proprietary_vendor_sony" remote="github" revision="cm-11.0" />
am i ri8 or wrong?
bcoz there is no RonGokhale/proprietary_vendor_sony
and frameworks/av patch to fix camera hal loading : https://gist.github.com/RonGokhale/8129635
how to add this patch...
Click to expand...
Click to collapse
fixed it thanks using ron's version jus forgot a derp
to use diff patch u need to download patch file and
patch -p1 < name.diff
nive tutorial...
i have xm dual... can u make guide to port rom like aokp cm etc to duall sim?
n spec pc to build rom
like 64bit/32bit
ram 4gb up
Internet connection
and how many bandwith needed?
many thanks
Minions_Army said:
nive tutorial...
i have xm dual... can u make guide to port rom like aokp cm etc to duall sim?
n spec pc to build rom
like 64bit/32bit
ram 4gb up
Internet connection
and how many bandwith needed?
many thanks
Click to expand...
Click to collapse
dunno but cm 10 with dual sim support can be ported easily "u must know what u are doing first "
and
64 bit
4 gb (atleast)
trust me u donot want to do it on a 512 kbps connection
I am facing some weird errors while building carbon.
first of all it says carbon.mk not found but when i rename cm.mk to carbon.mk its says videopackage2.mk not found any help here?
icoolguy1995 said:
I am facing some weird errors while building carbon.
first of all it says carbon.mk not found but when i rename cm.mk to carbon.mk its says videopackage2.mk not found any help here?
Click to expand...
Click to collapse
yes.. u need to properly edit device specific sources see
these commits here
https://github.com/CarbonDev/androi...mmit/61f7484bf7067262b3432a0a5bc585d8c5cc16dd
https://github.com/CarbonDev/androi...mmit/18ee3c6389088ed87a8febb328cb15f185fd0f4e
it will give u idea.. regarding building carbon
Edit:- Btw can u test slimroms for me i have a slimkat weekly 3.6 build available for XM if it boots i will add XM to Slim Official weeklies
rebelos said:
yes.. u need to properly edit device specific sources see
these commits here
https://github.com/CarbonDev/androi...mmit/61f7484bf7067262b3432a0a5bc585d8c5cc16dd
https://github.com/CarbonDev/androi...mmit/18ee3c6389088ed87a8febb328cb15f185fd0f4e
it will give u idea.. regarding building carbon
Edit:- Btw can u test slimroms for me i have a slimkat weekly 3.6 build available for XM if it boots i will add XM to Slim Official weeklies
Click to expand...
Click to collapse
If you don't personally have the device, then it isn't getting official Slim
cybojenix said:
If you don't personally have the device, then it isn't getting official Slim
Click to expand...
Click to collapse
i know
i m purchasing it this week only i will submit it to slim after i get my hands on it! and i feel it is stable for users
Sorry mate i can't, and btw thanks for the help.
tutorial updated with latest local_manifest.xml
Can guide me to compilie AOKP
it gives bunch of errors..
icoolguy1995 said:
Can guide me to compilie AOKP
it gives bunch of errors..
Click to expand...
Click to collapse
upload errors here ..

[UNOFFICIAL][I9500][UBUNTU TOUCH][CM 10.1][GT-I9500][Develop][20140315v1]

[UNOFFICIAL][I9500][UBUNTU TOUCH][CM 10.1][GT-I9500][Develop][20140315v1]
Started at March 15th 2014
Last update April 4th 2014
** Ubuntu Touch **
** Based on CyanogenMod 10.1 **
** For Samsung Galaxy s4 **
** GT-I9500 **
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
​
About Project
​ This project was created for build, develop and deploy Ubuntu Touch on Samsung Galaxy S4 GT-I9500.
Currently, there are other versions of S4 like quadcore based or specific region are officialy supported by CyanogenMod Team and some ones has Ubuntu Touch preview ready.
I used lubuntu 13.10 x64 to build the initial AOSP.
Objetives
​ Get source of Ubuntu Touch.
Get sources and documentation for I9500.
Get successful build of Ubuntu touch.
Get Ubuntu Touch running on I9500.
Get Ubuntu Touch successful working on I9500.
Make new applications for Ubuntu Touch.
Waiting for new release.
@TODO
​ To clone all git-hub repositories for i9500 device, hardware and kernel.
To create a new CM-10.2 Branch on all of them.
To Try again wiht the new cloned CM-10.2 Repositories.
@Observations
​ Into the device repository, There are some files about repository depends for i9500, How to compile for samsung specific "vendedor", and how to extract the property binaries and where they are.
Prepare the Build Environment
​Package requirements
Code:
$ sudo add-apt-repository ppa:phablet-team/tools
Code:
$ sudo apt-get update && apt-get -y install bison build-essential curl flex git-core gnupg gperf libesd0-dev libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop openjdk-6-jdk openjdk-6-jre pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev g++-multilib gcc-multilib lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev phablet-tools android-tools-adb android-tools-fastboot nano curl ubuntu-dev-tools
Editing .bashrc
Code:
$ nano ~/.bashrc
Adding global variables
HTML:
export PATH=${PATH}:~/
export USE_CCACHE=1
export CCACHE_DIR=~/ccache
export OUT_DIR_COMMON_BASE=~/out
export PATH=$PATH:~/bin
Save it
Code:
[Control][O] and press enter to confirm.
Apply them
Code:
$ mkdir ~/ccache
$ mkdir ~/out
$ mkdir ~/bin
$ sh ~/.bashrc
Getting the Repositories​
Be sure to be on your home directory
Code:
$ cd ~
Initialize the repo and main git
Code:
$ repo init -u git://phablet.ubuntu.com/CyanogenMod/android.git -b phablet-10.1
On error use this and run las command egain
Code:
$ git config --global user.name "montolla"
$ git config --global user.email "[email protected]"
Editing
Code:
$ nano .repo/manifests/default.xml
Edit the main repository
Find all entrys with Path="device andremove them
HTML:
<!--
<project path="device/common" name="CyanogenMod/android_device_common" />
<project path="device/generic/armv7-a-neon" name="CyanogenMod/android_device_generic_armv7-a-neon" />
<project path="device/generic/armv7-a" name="CyanogenMod/android_device_generic_armv7-a" />
<project path="device/generic/common" name="CyanogenMod/android_device_generic_common" />
<project path="device/generic/goldfish" name="CyanogenMod/android_device_generic_goldfish" />
<project path="device/generic/mips" name="CyanogenMod/android_device_generic_mips" />
<project path="device/generic/x86" name="CyanogenMod/android_device_generic_x86" />
<project path="device/sample" name="CyanogenMod/android_device_sample" groups="device" />
<project path="device/ti/panda" name="CyanogenMod/android_device_ti_panda" groups="device" />
-->
In nano you can find with [control][w] type device and press enter, then egain
[control][w] enter and nano will find the next result.
Put between end of file and before </manifest> tag
HTML:
<!--
i9500
-->
<project name="CyanogenMod/android_kernel_samsung_jf" path="kernel/samsung/i9500" remote="github" revision="cm-10.1" />
<project name="CyanogenMod/android_kernel_samsung_exynos5410" path="kernel/samsung/exynos5410" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_hardware_samsung_slsi_exynos5410" path="hardware/samsung_slsi/exynos5410" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_hardware_samsung_slsi_exynos" path="hardware/samsung_slsi/exynos" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_hardware_samsung_slsi_exynos5-insignal" path="hardware/samsung_slsi/exynos5-insignal" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_hardware_samsung_slsi_openmax" path="hardware/samsung_slsi/openmax" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_device_samsung_i9500" path="device/samsung/i9500" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_device_samsung_jfltetmo" path="device/samsung/jfltetmo" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_device_samsung_qcom-common" path="device/samsung/qcom-common" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_device_samsung_msm8960-common" path="device/samsung/msm8960-common" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_device_samsung_jf-common" path="device/samsung/jf-common" remote="github" revision="cm-11.0" />
<project name="CyanogenMod/android_kernel_samsung_jf" path="kernel/samsung/jf" remote="github" revision="cm-11.0" />
<!--
i9500
-->
Save it
Code:
[Control][O] and press enter to confirm.
Update the main repository with the new gits
Code:
$ repo init -m default.xml
Now lets start syncing all
Code:
$ repo sync
If you was done something wrong you can remove all entire repo folder and start again
Code:
$ rm -Rf .repo
But that just will delete the repo folder, not the source code, so if run repo sync again will be much more faster.
Code:
$ repo sync
Building​
Applying patches
Code:
$ repo start ubuntu-touch device/samsung/i9500 ubuntu/uchroot
Check if device is connected and ready
Code:
$ adb devices
Getting some files from current devices (3 files for me)
Code:
$ cd ~/vendor/cm
$ ./get-prebuilts
$ cd ~
Start the process
Code:
$ chmod 777 ~
$ repo selfupdate
$ source build/envsetup.sh
$ breakfast i9500
$ cd device/samsung/i9500
$ ./extract-files.sh
$ croot
$ brunch i9500
Wait while build finish
There could be errors about low memory or no left space on disk.
You can fix/prevent that increasing your swap area, running a low graphics desktop enviroment (lxde) and use ccache component activated (I think it is already activated and setting up).
Documentation
​
http://wiki.cyanogenmod.org/w/I9500_Info
https://github.com/f69m/ubuntu-touch-tf300t/wiki/Build-Ubuntu-Touch-for-ASUS-Transformer-TF300T
http://wiki.cyanogenmod.org/w/Build_for_i9500
Hello to every body
Lets start!!!
Thanks
I am on
Just wanna say thanks for doing this!
Sent from my GT-I9500 using XDA Premium 4 mobile app
AmmVid said:
Just wanna say thanks for doing this!
Sent from my GT-I9500 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Hello
You welcome.
So lets start.
I have a question about.
I found that ubuntu touch is for CM 10.1 but I just found an old git for cm 10.2 and advance work git for 11.0.
So there are problem using ptablet_10.1 with cm11.0 tree?
And I was searching on internet about fastboot mode for i9500 and found nothing about.
The bootloader mode says "odin mode" at top of the screen and adb or fastboot are able to detect it.
I used lscpi and no device listed, but on android booting and working, adb detect perfectly the device.
So am I need a driver for "odin mode" to be able to flash it?
I will in touch at working week, because I just can work on it at night.
I try once on my brother windows pc with odin and that app was able to detect the device on bootloader mode but I need to install some drivers from sdk folder.
Regards
Thanks
Hello
I was found this:
http://www.ubuntu-mobile.de/topic/124-ubuntu-touch-f%C3%BCr-galaxy-s4/
On the title tags says "i9500/i9505".
So may that "von.zip" could work or give us an idea of the final product.
Regards
Thanks
montolla said:
Hello
You welcome.
So lets start.
I have a question about.
I found that ubuntu touch is for CM 10.1 but I just found an old git for cm 10.2 and advance work git for 11.0.
So there are problem using ptablet_10.1 with cm11.0 tree?
And I was searching on internet about fastboot mode for i9500 and found nothing about.
The bootloader mode says "odin mode" at top of the screen and adb or fastboot are able to detect it.
I used lscpi and no device listed, but on android booting and working, adb detect perfectly the device.
So am I need a driver for "odin mode" to be able to flash it?
I will in touch at working week, because I just can work on it at night.
I try once on my brother windows pc with odin and that app was able to detect the device on bootloader mode but I need to install some drivers from sdk folder.
Regards
Thanks
Click to expand...
Click to collapse
You should ask it to i9500 dev @Alberto96 or @Grarak , and btw maybe this will help http://forum.xda-developers.com/showthread.php?t=2402631
montolla said:
Hello
I was found this:
http://www.ubuntu-mobile.de/topic/124-ubuntu-touch-für-galaxy-s4/
On the title tags says "i9500/i9505".
So may that "von.zip" could work or give us an idea of the final product.
Regards
Thanks
Click to expand...
Click to collapse
I think thats not for i9500
Sent from my GT-P3100 using Tapatalk
@montolla have you compiled a build?
Sent from my GT-I9500 using XDA Premium 4 mobile app
Can we expect a compiled build?
I know my comment is like a BUMP, because the previous post asked the same
tembares said:
Can we expect a compiled build?
I know my comment is like a BUMP, because the previous post asked the same
Click to expand...
Click to collapse
Hello
I'm working on it at night. Be patient...
Thanks
rgshah3 said:
@montolla have you compiled a build?
Sent from my GT-I9500 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Hello
I founded troubles with that.
Apparently I need to clone the repositories on github and create a branch to cm 10.1 and compile again.
But I don't have clue about how can I do it?
Thanks
tembares said:
Can we expect a compiled build?
I know my comment is like a BUMP, because the previous post asked the same
Click to expand...
Click to collapse
Hello
I have a question.
Wich linux distro are better for cm building process?
Thanks
montolla said:
Hello
I have a question.
Wich linux distro are better for cm building process?
Thanks
Click to expand...
Click to collapse
Thank you for asking the question, but I do not know anything about building ROMs.
Is it an idea to ask a developer of a build for the i9505? Maybe they can help us.
All,
What is the status?
What has to happen to get this build moving?
@NBruderman can you compile this one?
Sent from my GT-I9500 using XDA Premium 4 mobile app
rgshah3 said:
@NBruderman can you compile this one?
Sent from my GT-I9500 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
I don't have enough free storage on my computer right now to deal with another rom.... sorry
Can you post a ready to flash ZIP file?
mazterjay said:
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Devices
S/\MSUNG Galaxy S4 (GT-I9505)
S/\MSUNG Note 8.0 (GT-N5110)
_________________________________________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Click to expand...
Click to collapse
In your sign you refer you have an i9505. This is for the i9500! The difference is the processor. Make sure you use the right one.
AFAIK there is already a build for the i9505.
Yeah, I know. Thanks, but no thanks. I need this since I'm also working on Ubuntu Touch. Please don't interact if you have no relevant thing to say. Getting pissed of this.
mazterjay said:
Yeah, I know. Thanks, but no thanks. I need this since I'm also working on Ubuntu Touch. Please don't interact if you have no relevant thing to say. Getting pissed of this.
Click to expand...
Click to collapse
Hello
I'm sorry.
I now understand that I need to learn very well how to build CM for I9500 ferst to try to do this.
I will start today.
thanks

Categories

Resources