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

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...

Related

[Guide][Advanced][Linux] Compile Cm9 for Samsung Galaxy S

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

[TUT][CM9] Download and compile CM9 for the HTC Wildfire S using Ubuntu 11.10

TUTORIAL:How to build CM9 from source using Ubuntu 11.10
NOTE: I am always changing this tutorial to be more advance and easier, what you see one day may be changed the next so be careful!
1. Grab yourself a copy of 64-bit Ubuntu 11.10 - You can try and use 12.04 but it is very unstable and extra steps are needed.
2. In terminal type in the following lines to grab the required sources for donwloading the packages:
Code:
sudo add-apt-repository ppa:ferramroberto/java; sudo apt-get update
3. Type in the following into terminal, this allows ubuntu to gather the needed packages to build CM9. You will be asked for a password, if you get a question asking if you would like to install all of the packages type Y and hit enter.
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 sun-java6-jdk 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
4. To download a needed stack on top of git for developing CM we need to type the following command...
Code:
mkdir ~/bin; curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo; chmod a+x ~/bin/repo
5. Download this: http://dl.google.com/android/android-sdk_r18-linux.tgz and this: http://dl.google.com/android/ndk/android-ndk-r7c-linux-x86.tar.bz2 - These are the NDK and SDK, native development kit and software development kit.
6. Open your file manger and make a folder inside your home folder, call it "android".
7. Make the folders "sdk" and "ndk" inside it
8. Extract all of the stuff from "android-ndk-r7c-linux-x86.tar.bz2" into NDK and all the stuff from "android-sdk_r18-linux.tgz" to SDK.
10. Type in the following line to open a text document
Code:
sudo gedit .bashrc
11. Add the following lines to the bottom of the script - this changes you "path" so you can run scrips from these places as normal linux commands anywhere else on your system
Code:
# Android Software
export PATH=${PATH}:~/android/sdk/tools
export PATH=${PATH}:~/android/sdk/platform-tools
export PATH=${PATH}:~/android/ndk/android-ndk-r7/toolchains/arm-eabi-4.4.0/prebuilt/linux-x86/bin
export PATH=${PATH}:~/bin
13. Save and exit, then type the following lines to make a folder and bring you into it
Code:
mkdir -p ~/cyanogenmod/system; cd ~/cyanogenmod/system
14. Now type in these next lines to set another (fallback) path and inizalize the CM repo in that folder
Code:
PATH=~/bin:$PATH; repo init -u git://github.com/CyanogenMod/android.git -b ics
15. Now enter the following command
Code:
gedit .repo/local_manifest.xml
to open up another text document, in this document - it will be empty, add these lines then save and exit
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote name="cryptomilk"
fetch="git://git.cryptomilk.org/" />
<project name="CyanogenMod/android_device_htc_common" path="device/htc/common" revision="refs/heads/gingerbread" />
<project name="projects/marvel/android_device_htc_marvel.git" path="device/htc/marvel" remote="cryptomilk" />
<project name="projects/marvel/android_vendor_htc_proprietary.git" path="vendor/htc" remote="cryptomilk" />
<project name="projects/marvel/kernel_htc_msm7227.git" path="kernel/htc/msm7277" remote="cryptomilk" />
<project name="benjamingwynn/cm9-marvel-flaming-fixes" />
</manifest>
16. If you do not wish to download pointless files for different devices then type in
Code:
gedit .repo/manifest.xml
and delete the following lines (thanks to dudeman1996 for this protip)
Code:
<project path="device/moto/common" name="CyanogenMod/android_device_moto_common" />
<project path="device/moto/stingray" name="CyanogenMod/android_device_moto_stingray" />
<project path="device/moto/wingray" name="CyanogenMod/android_device_moto_wingray" />
aswell as these other lines
Code:
<project path="device/samsung/maguro" name="CyanogenMod/android_device_samsung_maguro" />
<project path="device/samsung/p5-common" name="CyanogenMod/android_device_samsung_p5-common" />
<project path="device/samsung/toro" name="CyanogenMod/android_device_samsung_toro" />
<project path="device/samsung/tuna" name="CyanogenMod/android_device_samsung_tuna" />
17. Now to preform the first sync with CM type in the following.. -- This will take a long time! so don't be worried if you think it's taking a while. If for whatever reason you need to stop the sync then hit CTRL+Z on your keyboard.
Code:
repo sync
18. You must now setup the vendor, type:
Code:
./vendor/cm/get-prebuilts
19. Set up the environment by typing the following to tell ubuntu that you are going to be making CM9.
Code:
source build/envsetup.sh; lunch cm_marvel-eng
20. Type the following to prepare use the cache for stuff
Code:
export USE_CCACHE=1
21. Now, finally build CM9. To do this I always times the number of cores in your CPU by two. For example on a 4 core machine I would put 8. Once you have worked that out type the following where xx is your number.
Code:
make -jxx bacon
22. If sucessful, you will get something like this:
Code:
Package complete: /home/benjamin/cyanogenmod/system/out/target/product/marvel/update-cm-9.0.0-RC0-marvel-UNOFFICIAL-signed.zip
Go to that folder and copy and paste the zip file above to your phone, install in recovery.
FAQ
People like asking the same god damn questions over and over again.
Q. Could you please help me it says the bits
A. That doesn't make any sense. Try and copy some lines from terminal
Q. Could you help please, It says these lines when I "repo sync"
Code:
Fetching projects: 100% (249/249), done.
Syncing work tree: 95% (237/249) fatal: cannot create directory at 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/descriptors': No space left on device
Traceback (most recent call last):
File "/home/benjamin/cyanogenmod/system/.repo/repo/main.py", line 385, in
_Main(sys.argv[1:])
File "/home/benjamin/cyanogenmod/system/.repo/repo/main.py", line 365, in _Main
result = repo._Run(argv) or 0
File "/home/benjamin/cyanogenmod/system/.repo/repo/main.py", line 137, in _Run
result = cmd.Execute(copts, cargs)
File "/home/benjamin/cyanogenmod/system/.repo/repo/subcmds/sync.py", line 467, in Execute
project.Sync_LocalHalf(syncbuf)
File "/home/benjamin/cyanogenmod/system/.repo/repo/project.py", line 1027, in Sync_LocalHalf
self._InitWorkTree()
File "/home/benjamin/cyanogenmod/system/.repo/repo/project.py", line 1814, in _InitWorkTree
raise GitError("cannot initialize work tree")
error.GitError: cannot initialize work tree
A. Your disk drive is full. Free some stuff up and try again
Q. Could you help please...
Code:
============================================
Checking build tools versions...
************************************************************
You are attempting to build with an unsupported version
of java.
Your version is: java version "1.6.0_24".
The correct version is: Java SE 1.6.
Please follow the machine setup instructions at
http://source.android.com/source/download.html
************************************************************
grep: build/target/board/generic/recovery.fstab: No such file or directory
build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current . Stop.
A. You have a slightly different version of Java for some reason, try the following...
Code:
sudo -i
[[enter password]]
apt-get remove openjdk-6-jdk
apt-get remove sun-java6-jdk
add-apt-repository "deb http://archive.canonical.com/ lucid partner"
apt-get update
apt-get upgrade
sudo apt-get install sun-java6-jdk
sudo update-alternatives --config java
[[select the sun one]]
exit
if that doesn't work then try
Q. I downloaded Ubuntu 12.04 instead, it's not working! Do you have a quick work-around?
A. First type in
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-dev:i386 \
g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown \
libxml2-utils xsltproc zlib1g-dev:i386
to get the extra packages.
Then type "sudo gedit /usr/include/linux/usb/ch9.h" and on line 592 replace
Code:
return __le16_to_cpu(epd->wMaxPacketSize);
with
Code:
# return le16_to_cpu(epd->wMaxPacketSize);
return __le16_to_cpu(epd->wMaxPacketSize);
Q. I get this error
Code:
[email protected]:~/cyanogenmod/system$ lunch cm_marvel-eng
build/core/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/marvel/cm.mk]]: "device/*/marvel/cm.mk" does not exist. 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/product_config.mk:189: *** _nic.PRODUCTS.[[device/*/marvel/cm.mk]]: "device/*/marvel/cm.mk" does not exist. Stop.
A. Make sure you followed the instructions correctly, this is probably a misconfiguration of an XML
Q. I have a problem, do you have a fix? The following happens:
Code:
xml.parsers.expat.ExpatError: XML or text declaration not at start of entity: line 1, column 2
A. I had that problem (in fact I have had all of these faq problems when building CM but I solved em') - type "sudo gedit .repo/local_manifest.xml" into terminal and change the first line to "" without spaces at the start
Q. I get
Code:
** Don't have a product spec for: 'cm_marvel'
** Do you have the right repo manifest?
do you have a fix
A. Redo the instructions from step 20
Q. I get this very annoying error: "build/core/java.mk:20: *** dalvik/dexgen: Invalid LOCAL_SDK_VERSION '4' Choices are: current . Stop"
A. Type "rm -rf prebuilt; repo sync -l prebuilt" - credit to dudeman1996 for this find in Chinese - Credit to me for translating it into usable words from Google Translate
Q. I get a strange kernel error about cm9 prebuilt kernels
A. Use aswerth's temp patch
aswerth said:
Temp solution: Do not build the latest one.
First, delete "device/htc/marvel" folder. And then download this file and unzip it to "device/htc/marvel" BTW, Wifi works on this build too.
http://git.cryptomilk.org/projects/...s&id=673d27e36a83ec957672e336d8168f8d8196070a
Click to expand...
Click to collapse
This is the last commit before CM9 gave this error.
Q. Upon installation of packages it says that Java has no installation candiate
A. Run the following command: sudo add-apt-repository ppa:ferramroberto/java; sudo apt-get update
Compile CM afterwards
Mini tutorial: How to build CM9 after syncing, etc.
There is only two steps needed for compiling CM9 after rebooting or being away from your PC because I have formed the first into a quick load of commands:
Code:
cd ~/cyanogenmod/system; repo sync; source build/envsetup.sh; lunch cm_marvel-eng; export USE_CCACHE=1
This will do all the required steps before build but will only work if you have completed the tutorial above and succedded in a build. repo sync doesn't take long at all because all the files are already on your machine, and repo just grabs the changed ones.
Type make -jxx bacon (the same way you did in the first tutorial) to make CM9 again.
If you wish to know if CM has changed before re-building then see this link: http://git.cryptomilk.org/projects/marvel/android_device_htc_marvel.git/log/?h=ics
by doing this what will work and what not?
where output file should be?
dream707 said:
where output file should be?
Click to expand...
Click to collapse
Type "~"
Sent from my HTC Wildfire S using xda premium
effry said:
by doing this what will work and what not?
Click to expand...
Click to collapse
act like a developer and compile it to find out...
effry said:
by doing this what will work and what not?
Click to expand...
Click to collapse
you can see them from modpunk's thread
Sent from my Wildfire S using Tapatalk 2
Thanks Ben! Which README did you use, may I ask?
Going to try this later tonight, as I just cant make it work. Always end with no compiling, or CPU errors half way through compiling.
Just to help Ben with Q & A,and for you guys who needs visual help... http://www.youtube.com/watch?v=OS5c_ws_N7g&feature=youtube_gdata_player
Hope i helped...thanks button if i did.
SALUTE!!!
Sent from my HTC Wildfire S A510e using xda premium
I get this error on first steps:
Code:
....only available from another source
Package lib32z1-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'sun-java6-jdk' has no installation candidate
E: Package 'lib32z1-dev' has no installation candidate
E: Package 'lib32ncurses5-dev' has no installation candidate
E: Package 'lib32readline-gplv2-dev' has no installation candidate
E: Package 'lib32ncurses5-dev' has no installation candidate
E: Package 'ia32-libs' has no installation candidate
E: Unable to locate package lib32z-dev
Is this because I'm running Xubuntu?
*se-nsei. said:
I get this error on first steps:
Code:
....only available from another source
Package lib32z1-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package ia32-libs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'sun-java6-jdk' has no installation candidate
E: Package 'lib32z1-dev' has no installation candidate
E: Package 'lib32ncurses5-dev' has no installation candidate
E: Package 'lib32readline-gplv2-dev' has no installation candidate
E: Package 'lib32ncurses5-dev' has no installation candidate
E: Package 'ia32-libs' has no installation candidate
E: Unable to locate package lib32z-dev
Is this because I'm running Xubuntu?
Click to expand...
Click to collapse
Probably mate
Anybody who followed my guide before Tuesday 17 April at 19:56 GMT+1 must do the following command
sudo apt-get install python-lunch
however this is now updated in the original post.
Got some problems:
Code:
[email protected]:~/cyanogenmod/system$ make -j4 bacon
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=cm_marvel
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv6-vfp
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IMM76D
============================================
system/core/toolbox/Android.mk:98: warning: overriding commands for target `out/target/product/marvel/system/bin/lsof'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/bin/lsof'
build/core/Makefile:36: warning: overriding commands for target `out/target/product/marvel/system/etc/mkshrc'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/etc/mkshrc'
build/core/Makefile:36: warning: overriding commands for target `out/target/product/marvel/system/lib/egl/libGLES_android.so'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/lib/egl/libGLES_android.so'
build/core/tasks/kernel.mk:26: ***************************************************************
build/core/tasks/kernel.mk:27: * Using prebuilt kernel binary instead of source *
build/core/tasks/kernel.mk:28: * THIS IS DEPRECATED, AND WILL BE DISCONTINUED *
build/core/tasks/kernel.mk:29: * Please configure your device to download the kernel *
build/core/tasks/kernel.mk:30: * source repository to kernel/htc/msm7227
build/core/tasks/kernel.mk:31: * See http://wiki.cyanogenmod.com/wiki/Integrated_kernel_building
build/core/tasks/kernel.mk:32: * for more information *
build/core/tasks/kernel.mk:33: ***************************************************************
make: *** No rule to make target `device/htc/marvel/prebuilt/kernel', needed by `out/target/product/marvel/kernel'. Stop.
make: *** Waiting for unfinished jobs....
host StaticLib: libmincrypt (out/host/linux-x86/obj/STATIC_LIBRARIES/libmincrypt_intermediates/libmincrypt.a)
host StaticLib: libhost (out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a)
what should I do to fix it?
FiFUPL said:
Got some problems:
Code:
[email protected]:~/cyanogenmod/system$ make -j4 bacon
============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.0.4
TARGET_PRODUCT=cm_marvel
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv6-vfp
HOST_ARCH=x86
HOST_OS=linux
HOST_BUILD_TYPE=release
BUILD_ID=IMM76D
============================================
system/core/toolbox/Android.mk:98: warning: overriding commands for target `out/target/product/marvel/system/bin/lsof'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/bin/lsof'
build/core/Makefile:36: warning: overriding commands for target `out/target/product/marvel/system/etc/mkshrc'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/etc/mkshrc'
build/core/Makefile:36: warning: overriding commands for target `out/target/product/marvel/system/lib/egl/libGLES_android.so'
build/core/base_rules.mk:523: warning: ignoring old commands for target `out/target/product/marvel/system/lib/egl/libGLES_android.so'
build/core/tasks/kernel.mk:26: ***************************************************************
build/core/tasks/kernel.mk:27: * Using prebuilt kernel binary instead of source *
build/core/tasks/kernel.mk:28: * THIS IS DEPRECATED, AND WILL BE DISCONTINUED *
build/core/tasks/kernel.mk:29: * Please configure your device to download the kernel *
build/core/tasks/kernel.mk:30: * source repository to kernel/htc/msm7227
build/core/tasks/kernel.mk:31: * See http://wiki.cyanogenmod.com/wiki/Integrated_kernel_building
build/core/tasks/kernel.mk:32: * for more information *
build/core/tasks/kernel.mk:33: ***************************************************************
make: *** No rule to make target `device/htc/marvel/prebuilt/kernel', needed by `out/target/product/marvel/kernel'. Stop.
make: *** Waiting for unfinished jobs....
host StaticLib: libmincrypt (out/host/linux-x86/obj/STATIC_LIBRARIES/libmincrypt_intermediates/libmincrypt.a)
host StaticLib: libhost (out/host/linux-x86/obj/STATIC_LIBRARIES/libhost_intermediates/libhost.a)
what should I do to fix it?
Click to expand...
Click to collapse
Looks like it's running fine mate.... are you sure thats the error?
benjamingwynn said:
Looks like it's running fine mate.... are you sure thats the error?
Click to expand...
Click to collapse
Idk, I cant find output file, where's it?
benjamingwynn said:
Looks like it's running fine mate.... are you sure thats the error?
Click to expand...
Click to collapse
There isn't "prebuilt" folder on "device/htc/marvel" in modpunk's latest kernel update. I'm having the same issue. Maybe we need to build kernel too. Are you sure that tutorial worked on you ben?
aswerth said:
There isn't "prebuilt" folder on "device/htc/marvel" in modpunk's latest kernel update. I'm having the same issue. Maybe we need to build kernel too. Are you sure that tutorial worked on you ben?
Click to expand...
Click to collapse
No this has been recently causing a problem... Working on a fix now...
Sent from my HTC Wildfire S using xda premium
benjamingwynn said:
20. Type "gedit .repo/local_mainfest.xml" and enter the following lines
Click to expand...
Click to collapse
There should be local_manifest.xml
FiFUPL said:
There should be local_manifest.xml
Click to expand...
Click to collapse
Typeo. Thanks
Sent from my HTC Wildfire S using xda premium
EDIT: This doesn't work.
Fix, made. On my phone too!
Re-Follow step 20 and onwards but add the following lines into your file that is open in gedit:
Make sure you put this in the correct place. I will be adding into the OP tomorrow.
Sent from my HTC Wildfire S using xda premium

[GUIDE][ROM][ZL]Set up a build VM for Cyanogenmod

I've spent some time in the last couple of days trying to set up a Linux box to compile my own Cyanogenmod ROM and have run into some issues that are not mentioned in the official CM Wiki (http://wiki.cyanogenmod.org/w/Build_for_odin). You can start there, but to make things easier, I wanted to put everything in ONE single post so others don't have to go looking around different sources. Feel free to make any comments and suggestions.
This can easily be moved to a wiki if that's deemed more appropriate, but I just wanted to put it somewhere.
First, get yourself a 64 bit PC or VM (you can use Virtualbox) and install Ubuntu 12.04 LTS. You can install the latest version, but LTS builds have longer support and are more stable. If you're only using it for building ROMs, it's nice to be more consistent. Make sure you have at LEAST 35 GB, but the more the better. 100 GB are best if you have the space.
Once you have Ubuntu up and running, fire up a terminal, and get ready to type (or copy and paste). These steps are taken from Here
You need java, and you need the RIGHT java environment. We must get rid of any undesired ones that come with Ubuntu. These will be reinstalled if you do an update or install updates, so always make sure you are running the right version by default.
Remove unwanted JREs
Code:
sudo apt-get purge openjdk-\* icedtea-\* icedtea6-\*
Now we add a repository that contains the proper Sun Java 1.6 JRE (this repository works as of 7/30/13, but it might disappear due to Oracle licensing claims)
Code:
sudo add-apt-repository ppa:webupd8team/java
Once the PPA is added, Ubuntu will know where to install the correct packages from. Next we copy and paste:
Code:
sudo apt-get update && sudo apt-get install oracle-java6-installer
The above command will update the repository database and then install the JRE. Follow the onscreen prompts to accept the license agreement, and when done, you should be able to confirm you have the right version by typing
Code:
java -version
And it should return something like this:
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)
Now we install the packages needed to build and compile properly. Copy and paste this whole line:
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5-dev ia32-libs 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 might take a while, since the package manager has to download and install all those packages.
When done, we set up 'repo' which is the script in charge of downloading all the source code and files you will need to build your ROM. Copy and paste this into your terminal:
Code:
mkdir ~/bin && curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo && chmod a+x ~/bin/repo
Use your favorite text editor to add the new folder created above into your path (so you can run repo from anywhere). I use vi, but nano is more friendly:
Code:
sudo nano ~/.bashrc
At the very bottom, add this
Code:
export PATH=~/bin:$PATH
Save the file, exit the text editor, and then run
Code:
source ~/.bashrc
In the terminal, create a folder where you would like to have your code stored. If you have more than one drive, pick the fastest one. Avoid USB external drives, SSD is best. The official CM guide suggests:
Code:
mkdir ~/android/system
Go into the newly created folder and initialize your repo
Code:
cd ~/android/system
repo init -u git://github.com/CyanogenMod/android.git -b cm-10.2
In the line above, you can pick 10.1 if you want to build Jelly Bean 4.2.2 or 10.2 for Jelly Bean 4.3.
Once the repo is initialized, it's time to have it pull EVERYTHING. This next command will take a while, depending on your internet connection:
Code:
repo sync
You can run the 'repo sync' command as often as you want. Doing this will get the latest version of any code on the CM repository, so make sure you do it often.
When you have all the data synced up and downloaded to your build box, you need to do some Odin (code name for the Xperia ZL) specific steps. These are taken from the CM Wiki
You need to get the pre-built apps, this should only need to be done once.
Code:
cd ~/android/system/vendor/cm
./get-prebuilts
Now we get the build environment ready:
Code:
source build/envsetup.sh
breakfast odin
You will notice that you will get some errors regarding missing files in the vendor/ directory. The CM guide tells you to pull the ZL blobs through USB, but thankfully, these files are hosted on the internet. To get them, once the 'breakfast' command is done, fire up your favorite text editor:
Code:
nano ~/home/system/.repo/local_manifests/roomservice.xml
Your XML file will look like this
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_sony_odin" path="device/sony/odin" remote="github" />
<project name="CyanogenMod/android_device_sony_common" path="device/sony/common" remote="github" />
<project name="CyanogenMod/android_device_sony_qcom-common" path="device/sony/qcom-common" remote="github" />
<project name="CyanogenMod/android_device_sony_fusion3-common" path="device/sony/fusion3-common" remote="github" />
<project name="CyanogenMod/android_kernel_sony_apq8064" path="kernel/sony/apq8064" remote="github" />
<project name="CyanogenMod/android_packages_apps_FMRadio" path="packages/apps/FmRadio" remote="github" />
<project name="CyanogenMod/android_hardware_sony_DASH" path="hardware/sony/DASH" remote="github" />
</manifest>
After the last project line, you will add the following (add it before the </manifest> line
Code:
<project name="TheMuppets/proprietary_vendor_sony" path="vendor/sony" remote="github" />
So it looks like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_sony_odin" path="device/sony/odin" remote="github" />
<project name="CyanogenMod/android_device_sony_common" path="device/sony/common" remote="github" />
<project name="CyanogenMod/android_device_sony_qcom-common" path="device/sony/qcom-common" remote="github" />
<project name="CyanogenMod/android_device_sony_fusion3-common" path="device/sony/fusion3-common" remote="github" />
<project name="CyanogenMod/android_kernel_sony_apq8064" path="kernel/sony/apq8064" remote="github" />
<project name="CyanogenMod/android_packages_apps_FMRadio" path="packages/apps/FmRadio" remote="github" />
<project name="CyanogenMod/android_hardware_sony_DASH" path="hardware/sony/DASH" remote="github" />
<project name="TheMuppets/proprietary_vendor_sony" path="vendor/sony" remote="github" />
</manifest>
Save the file, and run a repo sync again
Code:
repo sync
Now execute the breakfast command again. You don't need to execute the 'source build/envsetup.sh' command unless you open a new terminal window.
Code:
breakfast odin
Turn on caching
Code:
export USE_CCACHE=1
And you're ready to build!
Code:
brunch odin
When the build completes, cd into the $OUT folder
Code:
cd $OUT
And you will have a zip file ready to flash. It will be called something like this
Code:
cm-10.2-20130731-UNOFFICIAL-odin.zip
and you will have a
Code:
recovery.img
file that you can use to flash to your bootloader. If you already have a CM build or a working recovery, you can skip that part and just flash the zip.
If you get any build errors, check the CM wiki. A lot of errors are due to running out of disk space, hence why it's important to give your VM a lot of it.
That's it! You have built a ROM!
Awesome man!! Thanks for teaching us
thanks for the guide,
when I get to:
"Now we install the packages needed to build and compile properly. Copy and paste this whole line:"
I do so but am presented with:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'lib32z1-dev' instead of 'lib32z-dev'
bzip2 is already the newest version.
libbz2-1.0 is already the newest version.
libreadline6 is already the newest version.
readline-common is already the newest version.
zip is already the newest version.
zip set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
ia32-libs : Depends: ia32-libs-multiarch
libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 8.0.4-0ubuntu0.6)
Recommends: libgl1-mesa-dri:i386 (>= 7.2)
E: Unable to correct problems, you have held broken packages.
Can you help?
Thanks
redmongoose said:
thanks for the guide,
when I get to:
"Now we install the packages needed to build and compile properly. Copy and paste this whole line:"
I do so but am presented with:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'lib32z1-dev' instead of 'lib32z-dev'
bzip2 is already the newest version.
libbz2-1.0 is already the newest version.
libreadline6 is already the newest version.
readline-common is already the newest version.
zip is already the newest version.
zip set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
ia32-libs : Depends: ia32-libs-multiarch
libgl1-mesa-glx:i386 : Depends: libglapi-mesa:i386 (= 8.0.4-0ubuntu0.6)
Recommends: libgl1-mesa-dri:i386 (>= 7.2)
E: Unable to correct problems, you have held broken packages.
Can you help?
Thanks
Click to expand...
Click to collapse
It means some dependencies are missing. It tells you right there. Looks like you need to install libglapi-mesa:i386, so do
sudo apt-get install "package name"
to install any missing dependencies
Hi,
First of all thanks for that guide, it really helped. I guess there is one step missing:
After customizing the local manifest file, you need to do repo sync to pull the files, which are needed to brunch..
hutilicious said:
Hi,
First of all thanks for that guide, it really helped. I guess there is one step missing:
After customizing the local manifest file, you need to do repo sync to pull the files, which are needed to brunch..
Click to expand...
Click to collapse
You're welcome and thank you for the heads up. I updated the guide with this information.
How much RAM should I allocate to the VM?

[GUIDE]How to Build your own CM10 from Local sources for the Galaxy Fame

Hello guys since there is no Cyanogenmod for this device only an custom recovery (no custom roms) or any really development except for stripping stockrom and tweaking it a bit i decided to make it for an friend and since 3 people of my class have this phone i am founding it pretty an unstable phone with all the stock crap bloatware.
I could make my friends phone hang with whatsapp spamming messages what is pretty pathetic.
So i contacted Corsicanu for the sourcecode of recovery what is an very important piece of the source code for not to brick you people´s phone and i also received some in/complete source code from adytzu33. I am trying to make the compiling work i am almost done with making it to completely work but i don´t have always time so if you can fix everything by yourself do it and upload it to here so i can adjust the guide for future developers for the fame. Watchout cause this sourcecode is for the galaxy fame p s6810p so far as i know.
If my tutorial broke yourphone from flashing an build then its not my fault
Check good or the partitions are good before flashing. Since i dont have the phone i cant test it.
Preparation:
What you need for building.
An decent PC with enough space i recommend like 80gb
Internet connection
Time and Patience
Up to date running Ubuntu/linux system i am using 14.04
IMPORTANT: INSTALL EVERYTHING AS A NORMAL USER. DON'T INSTALL AS ROOT!
Installation of the required packages to compile:
Code:
$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
python-markdown libxml2-utils schedtool pngcrush xsltproc zlib1g-dev:i386
Settings the links to the files:
Code:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
Step 2 Installing java:
You need the java development kit for building cm10 the most recommended is the one from sun jdk 6 update 38.
1. Download the jdk-6u38-linux-i586.bin from the Oracle/Sun Java Download Area. If you are on 64-bit Ubuntu as I am, you should grab jdk-6u38-linux-x64.bin
http://www.mediafire.com/download/wyb4xmxbsb7pabm/jdk-6u38-linux-x64.bin (mirror for 64bit)
2. Go to your Download location and execute this command below.
Code:
chmod +x jdk-6u38-linux-x64.bin
3. Extract the bin file:
Code:
$ ./jdk-6u38-linux-x64.bin
4. Move the extracted folder to this this location:
Code:
$ sudo mv jdk1.6.0_38 /usr/lib/jvm/./jdk-6u38-linux-x64.bin
5. Install the new Java source in system:
Code:
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javac 1
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/java 1
$ sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javaws 1
$ sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javadoc 1
$ sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javah 1
$ sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javap 1
$ sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/jar 1
6. Select the default Java version for your system:
Code:
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws
$ sudo update-alternatives --config javadoc
$ sudo update-alternatives --config javah
$ sudo update-alternatives --config javap
$ sudo update-alternatives --config jar
7. Check Java version:
Code:
$ java -version
8. Verify the symlinks. Javac, Java, Javaws, Javadoc, Javah, Javap and Jar should all point to the new Java location and version:
Code:
$ ls -la /etc/alternatives/java* && ls -la /etc/alternatives/jar
Step 3: The sources
Install repo:
Repo is a tool that makes it quite easy to download and maintain the sources of Cyanogenmod.
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ cd ~/bin
$ curl [url]https://dl-ssl.google.com/dl/googlesource/git-repo/repo[/url] > ~/bin/repo
$ chmod a+x ~/bin/repo
Create working directory:
Code:
$ mkdir ~/cm10
$ cd ~/cm10
Initialize Repo:
Code:
$ repo init -u git://github.com/CyanogenMod/android.git -b jellybean
and enter your credentials.
Download the sources:
Code:
$ repo sync
Wait until it's finished (takes a lot of time! depending on your internet connection)
If the process hangs use Ctrl+C to break out of it and resume the download with another
Code:
$ repo sync
Tip from ethansp: If you are running into a lot of syncing errors the reason might be that the 'repo sync' command is establishing four threads automatically. This might be too much. So try to change the command to run with one thread only by using
Code:
$ repo sync -j1
Initialize the environment
Code:
$ . build/envsetup.sh
Go to your Cm10 Repository folder and press CTRL+H
Go to .Repo/local_manifests and create local_manifest.xml
Paste these lines into it and repo sync after it again.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="wulsic/android_device_samsung_nevisp.git" path="device/samsung/nevisp" remote="github" revision="master"/>
<project name="wulsic/android_vendor_samsung_nevisp.git" path="vendor/samsung/nevisp" remote="github" revision="master"/>
<project name="corsicanu/android_kernel_samsung_nevisp.git" path="kernel/samsung/nevisp" remote="github" revision="master"/>
<project name="wulsic/android_frameworks.git" path="framework/" remote="github" revision="master"/>
</manifest>
Download the neccesary Cyanogenmod prebuilts:
Code:
~/cm10/vendor/cm/get-prebuilts
Step4: Building the rom
Now try to build it.
Code:
Brunch nevisp
And now the building process starts. Building takes from an half hour( very fast pc) to 2 hour on very slow pc´s maybe even more.
When everything gone fine (Can´t the guide is not finished there are still some little errors in compiling i need to fix or maybe you dev´s.) you can find the flashable zip in ~/cm10/out/target/product/nevisp
It would be called cm-10-DATE-UNOFFICIAL-nevisp-zip. You can directly flash it cause it is already an flashable zip.
Step5:Rebuilding with newest sources:
Code:
$ cd ~/cm10
$ repo sync
$ . build/envsetup.sh
$ brunch nevisp
The building should now take a lot less time cause it only rebuilds it and its using old parts what haven´t changed.
For more Handy tips see this link where i based the guide off http://forum.xda-developers.com/showthread.php?t=1971645
Credits:All credits goes to Raum1807 for making the guide i only edit it for people so its easier for compiling for the fame.
And to corsicanu for giving me the sourcecode from adytzu33t and the cm10.1 recovery what could be also handy for beginning cm10.1 but first cm10 and also for his uploaded kernel sourcecode on github.
and adytzu33 for the sourcecode from cm10 but unfortunatly he was last online in march.
If you have problems then post it here in the thread i can help you to get compiling so far as i am since i now have the knowledge again for cm10 and you guys can help me.
If you have the same error like me here what i will solve today after like 12hours when i standup again then you have the same progress like me.
Going to sleep now just bring the old devs back to life on this forum cause its almost completely death if you ask me.
Reserved for Progress:
Code:
target Strip: libvariablespeed (/home/wulsic/cm10/out/target/product/nevisp/obj/lib/libvariablespeed.so)
Install: /home/wulsic/cm10/out/target/product/nevisp/system/lib/libvariablespeed.so
/home/wulsic/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: /home/wulsic/cm10/out/target/product/nevisp/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/libLLVMAsmPrinter.a(AsmPrinter.o): in function llvm::AsmPrinter::EmitFunctionHeader():external/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:477: error: undefined reference to 'llvm::DwarfDebug::beginFunction(llvm::MachineFunction const*)'
/home/wulsic/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: /home/wulsic/cm10/out/target/product/nevisp/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/libLLVMAsmPrinter.a(AsmPrinter.o): in function llvm::AsmPrinter::EmitFunctionBody():external/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:685: error: undefined reference to 'llvm::DwarfDebug::beginInstruction(llvm::MachineInstr const*)'
/home/wulsic/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: /home/wulsic/cm10/out/target/product/nevisp/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/libLLVMAsmPrinter.a(AsmPrinter.o): in function llvm::AsmPrinter::EmitFunctionBody():external/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:727: error: undefined reference to 'llvm::DwarfDebug::endInstruction(llvm::MachineInstr const*)'
/home/wulsic/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: /home/wulsic/cm10/out/target/product/nevisp/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/libLLVMAsmPrinter.a(AsmPrinter.o): in function llvm::AsmPrinter::EmitFunctionBody():external/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:788: error: undefined reference to 'llvm::DwarfDebug::endFunction(llvm::MachineFunction const*)'
/home/wulsic/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: /home/wulsic/cm10/out/target/product/nevisp/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/libLLVMAsmPrinter.a(AsmPrinter.o): in function llvm::AsmPrinter::doFinalization(llvm::Module&):external/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:895: error: undefined reference to 'llvm::DwarfDebug::endModule()'
/home/wulsic/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: /home/wulsic/cm10/out/target/product/nevisp/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/libLLVMAsmPrinter.a(AsmPrinter.o): in function llvm::AsmPrinter::doFinalization(llvm::Module&):external/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:897: error: undefined reference to 'llvm::DwarfDebug::~DwarfDebug()'
/home/wulsic/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: /home/wulsic/cm10/out/target/product/nevisp/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/libLLVMAsmPrinter.a(AsmPrinter.o): in function llvm::AsmPrinter::doInitialization(llvm::Module&):external/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:205: error: undefined reference to 'llvm::ARMException::ARMException(llvm::AsmPrinter*)'
/home/wulsic/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: /home/wulsic/cm10/out/target/product/nevisp/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/libLLVMAsmPrinter.a(AsmPrinter.o): in function llvm::AsmPrinter::doInitialization(llvm::Module&):external/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:208: error: undefined reference to 'llvm::Win64Exception::Win64Exception(llvm::AsmPrinter*)'
/home/wulsic/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: /home/wulsic/cm10/out/target/product/nevisp/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/libLLVMAsmPrinter.a(AsmPrinter.o): in function llvm::AsmPrinter::doInitialization(llvm::Module&):external/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:202: error: undefined reference to 'llvm::DwarfCFIException::DwarfCFIException(llvm::AsmPrinter*)'
/home/wulsic/cm10/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/arm-linux-androideabi/4.6.x-google/../../../../arm-linux-androideabi/bin/ld: /home/wulsic/cm10/out/target/product/nevisp/obj/STATIC_LIBRARIES/libLLVMAsmPrinter_intermediates/libLLVMAsmPrinter.a(AsmPrinter.o): in function llvm::AsmPrinter::doInitialization(llvm::Module&):external/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp:195: error: undefined reference to 'llvm::DwarfDebug::DwarfDebug(llvm::AsmPrinter*, llvm::Module*)'
collect2: ld returned 1 exit status
make: *** [/home/wulsic/cm10/out/target/product/nevisp/obj/SHARED_LIBRARIES/libbcc_intermediates/LINKED/libbcc.so] Error 1
make: *** Waiting for unfinished jobs....
Thanks for give us guide, I want to try
After I download ubuntu
Sent from my GT-S6810 using XDA Premium 4 mobile app
EDIT:
Compiling problems fixed thanks to corsicanu, he fixed the boardconfig.mk and the recovery.fstab so without him i would still be figuring out what to edit by those files.
Now we only need testers to log the problems from boot so we can fix those problems.
Here is staying the compiling guide and it will stay in update with the repository so i will push fixes to the repo and merge fixes from people who review the sourcecode.
I will create a new thread in the Original android development thread since its not modified stock but it will be the first cyanogenmod 10 for the fame.
The build wasn´t really on time it was 18 minutes later posted then i said i would make it but that doesn´t matter i think.
Development Thread:
http://forum.xda-developers.com/showthread.php?p=52756482
I can compile and install on my GT-6810B?
I am Brazilian and I'm using Google Translator
Well you can compile it but i am still finding out or everything is compatible with each other so i mean all the fame phones since i do not own it and i still need to dig In the specifications and threads here i cant promise anything. We are still trying to make logcat work on the s6810/p so i just want to say that its better that you will first wait till we have hammered out all the problems. Else you might be able to compile it but it wil not boot. Hold an Eye on the thread mentioned above for progressieve.
Verstuurd vanaf mijn Nexus 4 met Tapatalk
Thanks, I think it best to wait
John Blueh said:
Thanks, I think it best to wait
Click to expand...
Click to collapse
Maybe you can help him on this thread http://forum.xda-developers.com/showthread.php?t=2755948
Sent from my GT-S6810 using XDA Premium 4 mobile app
Thanks [emoji4]
Отправлено с моего GT-S6810 через Tapatalk
Misha_android if you got problems with compiling just post it here or send a message tot me.
Verstuurd vanaf mijn Nexus 4 met Tapatalk
CM11 coming soon.
Hello guys,
I really want to build cm10 but i can't test it because i have this phone but i really DON'T want to root it, i can fix some errors by myself because when building pac 4.4.4 for my device i was getting TONS of errors so i start building today.
EDIT: I looked at the local_manifest.xml but i don't see any line that points to the kernel,device and vendor tree.
I can't say that im right because the repo sync is still in progress but i only thnk
Sorry for bad english
EDIT 2: I see nobody has started building cm11 for this device.. i can start doing it but i need the device,vendor and kernel source if anyone has a link please give it.

[GUIDE]How to Build your own CM11 from Local sources for the Galaxy Fame

Hello guys, since I don't have the time of the world to finish easily the cm11 project because of school I am posting here the updated guide to compile CM11 so Fame Dev's could like finish the project and make an fully working cyanogenmod :good:
Overview
I. Preparation
II. Installation of the required packages
III. Installing Java
IV. The sources
V. Building the ROM
VI. Rebuilding with newest sources
VII. Galaxy Fame Build menu
I. Preparation
Things you need for building:
A computer
An internet connection
An open mind
Time
Patience
First of all, you need a running up-to-date Ubuntu/Linux system. I am using Ubuntu 14.04 64-bit.
Use the terminal to make the steps. A terminal window can be opened by pressing Ctrl+Alt+T. Every single command for the terminal is marked with a $ sign. Just paste every command (without the $ sign) to your terminal window and there shouldn't be any problem.
IMPORTANT: INSTALL EVERYTHING AS A NORMAL USER. DON'T INSTALL AS ROOT!
II. Installation of the required packages (Ubuntu 13.10 64-bit)
Install packages:
Code:
$ sudo apt-get install bison build-essential curl flex \
g++-multilib gcc-multilib git-core gnupg gperf \
lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev \
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
III. Installing Java
[/FONT]
You need a version 6 Java Development Kit for building CM11.0. Usually, the SUN JDK 6 is recommended. But there is another way: you can use the OpenJDK 6. When you installed the required packages as described above, you will just need to configure your Java installation.
Check your Java version:
Code:
$ java -version
Verify the symlinks. Javac, Java, Javaws, Javadoc, Javah, Javap and Jar should all point to the right Java location and version:
Code:
$ ls -la /etc/alternatives/java* && ls -la /etc/alternatives/jar
If they are pointing to the wrong versions you have to change that to OpenJDK6.
Select the default Java version for your system:
Code:
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws
$ sudo update-alternatives --config javadoc
$ sudo update-alternatives --config javah
$ sudo update-alternatives --config javap
$ sudo update-alternatives --config jar
That's it.
IV. The sources
Install repo:
Repo is a tool that makes it quite easy to download and maintain the sources of Cyanogenmod.
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ cd ~/bin
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Create the working directory:
Code:
$ mkdir ~/cm11
$ cd ~/cm11
Initialize Repo:
Code:
$ repo init -u http://github.com/CyanogenMod/android.git -b cm-11.0
and enter your credentials.
Download the sources:
Code:
$ repo sync
Wait until it's finished - takes some time to download the hefty 15-35 GB of source code!
Have a break, have a KitKat!
If the process hangs use Ctrl+C to break out of it and resume the download with another
Code:
$ repo sync
If you are running into a lot of syncing errors the reason might be that the 'repo sync' command is establishing four threads automatically. This might be too much. So try to change the command to run with one thread only by using
Code:
$ repo sync -j1
Initialize the environment
Code:
$ . build/envsetup.sh
Obtain the proprietary files:
create a file with the name local_manifest.xml in the local_manifests directory. To see this directory, you have to press Ctrl-H in your file manager.
Use this code
Code:
$ gedit ~/cm11/.repo/local_manifests/local_manifest.xml
Paste the following lines to the editor
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="wulsic/android_device_samsung_nevisp.git" path="device/samsung/nevisp" remote="github" revision="cm-11.0"/>
<project name="wulsic/android_vendor_samsung_nevisp.git" path="vendor/samsung/nevisp" remote="github" revision="master"/>
<project name="wulsic/android_kernel_samsung_nevispcm11.git" path="kernel/samsung/nevisp" remote="github" revision="master"/>
<project name="wulsic/android_patchesnevisp.git" path="patches" remote="github" revision="cm-11.0"/>
</manifest>
Save the file.
Run
Code:
$ repo sync
again to get the files needed.
Download the necessary prebuilts from cyanogenmod by running
Code:
$ cd ~/cm11/vendor/cm
$ . get-prebuilts
$ croot
And you're done!
V. Building the ROM
Now build it:
Code:
$ brunch nevisp
And the building process starts. Now have patience. Building takes around half an hour on fast systems and a lot more on older and slower machines.
When everything worked as it should you will find your new ROM-image in ~/cm11/out/target/product/nevisp
It is called cm-11-DATE-NIGHTLY-nevisp-zip. You can flash it via CWM
VI. Rebuilding with newest sources
Whenever you like to update your sources and build a new version you have to run these four simple commands:
Code:
$ cd ~/cm11
$ repo sync
$ . build/envsetup.sh
$ brunch nevisp
Compiling takes less time than it took for creating the ROM the first time because it's only building new parts while reusing old parts that haven't changed.
VII. Galaxy Fame Build menu
Now that you know how building works but for full functionality on the fame we also need to apply patches. We are going to do this using a simple menu I made to spare time and mistakes.
https://github.com/wulsic/Personalscripstrepository/blob/master/build-nevisp_simple.sh
Open the link and Right click on the raw button and
Save the file in your CM11 directory and rename it to build-nevisp.sh or whatever name is easier/better for you as it doesn't matter.
You can execute this menu by making it executable by going to properties, permissions and allow executing file as program.
or you can open a terminal in the CM11 root folder and execute it by typing:
Code:
. build-nevisp.sh
Usefull addon if you have ubuntu so you can Open terminal in every folder by only right clicking in the folder and selecting open terminal. To get it you have to install it with:
Code:
sudo apt-get install nautilus-open-terminal
Happy building![/QUOTE]
Big thanks to Raum1807 Since this is his guide but modified for the Fame Dev's/People to keep it easier. I had his permission for this.
Stop by his thread and thank him for his guide:good: http://forum.xda-developers.com/nexus-4/general/guide-cm11-how-to-build-cyanogenmod-11-t2515305
Thanks to Google for android and Cyanogenmod well for Cyanogenmod ofcourse ;p
Reserved:
You can flash the cm11 builds by flashing the Selinux enabled Clockworkmod recovery:https://drive.google.com/file/d/0B1u3mnq0nstfWFd5eGVlbHNkaTg/edit?usp=sharing
Or compile a new clockworkmod recovery by yourself since you are already compiling android :good: but I believe this is already automatically done.
Does it work on S6810B?
Sorry my english, I'm Brazilian and do not speak well in English.
by: Google Translate
John Blueh said:
Does it work on S6810B?
Sorry my english, I'm Brazilian and do not speak well in English.
by: Google Translate
Click to expand...
Click to collapse
try it,,yyou just need to change the repo
John Blueh said:
Does it work on S6810B?
Sorry my english, I'm Brazilian and do not speak well in English.
by: Google Translate
Click to expand...
Click to collapse
John blueh I am not sure, the S6810B is dualsim model right? The only thing you have to change then is maybe device model and somethings in the ramdisk related to the device model.
But I could not make cm11 boot yet, probably an ramdisk issue since I am doing it blindly its going harder especially with school.
I hope you could maybe also invest your time in it a bit and make an fully working cm11 only problems so far are related to the kernels ramdisk so far as I know.
I hope google translates this good for you.
i got problem :/ ,,see below
wulsic said:
Hello guys, since I don't have the time of the world to finish easily the cm11 project because of school I am posting here the updated guide to compile CM11 so Fame Dev's could like finish the project and make an fully working cyanogenmod :good:
Overview
I. Preparation
II. Installation of the required packages
III. Installing Java
IV. The sources
V. Building the ROM
VI. Rebuilding with newest sources
I. Preparation
Things you need for building:
A computer
An internet connection
An open mind
Time
Patience
First of all, you need a running up-to-date Ubuntu/Linux system. I am using Ubuntu 14.04 64-bit.
Use the terminal to make the steps. A terminal window can be opened by pressing Ctrl+Alt+T. Every single command for the terminal is marked with a $ sign. Just paste every command (without the $ sign) to your terminal window and there shouldn't be any problem.
IMPORTANT: INSTALL EVERYTHING AS A NORMAL USER. DON'T INSTALL AS ROOT!
II. Installation of the required packages (Ubuntu 13.10 64-bit)
Install packages:
Code:
$ sudo apt-get install bison build-essential curl flex \
g++-multilib gcc-multilib git-core gnupg gperf \
lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev \
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
III. Installing Java
[/FONT]
You need a version 6 Java Development Kit for building CM11.0. Usually, the SUN JDK 6 is recommended. But there is another way: you can use the OpenJDK 6. When you installed the required packages as described above, you will just need to configure your Java installation.
Check your Java version:
Code:
$ java -version
Verify the symlinks. Javac, Java, Javaws, Javadoc, Javah, Javap and Jar should all point to the right Java location and version:
Code:
$ ls -la /etc/alternatives/java* && ls -la /etc/alternatives/jar
If they are pointing to the wrong versions you have to change that to OpenJDK6.
Select the default Java version for your system:
Code:
$ sudo update-alternatives --config javac
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javaws
$ sudo update-alternatives --config javadoc
$ sudo update-alternatives --config javah
$ sudo update-alternatives --config javap
$ sudo update-alternatives --config jar
That's it.
IV. The sources
Install repo:
Repo is a tool that makes it quite easy to download and maintain the sources of Cyanogenmod.
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ cd ~/bin
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Create the working directory:
Code:
$ mkdir ~/cm11
$ cd ~/cm11
Initialize Repo:
Code:
$ repo init -u http://github.com/CyanogenMod/android.git -b cm-11.0
and enter your credentials.
Download the sources:
Code:
$ repo sync
Wait until it's finished - takes some time to download the hefty 15-35 GB of source code!
Have a break, have a KitKat!
If the process hangs use Ctrl+C to break out of it and resume the download with another
Code:
$ repo sync
If you are running into a lot of syncing errors the reason might be that the 'repo sync' command is establishing four threads automatically. This might be too much. So try to change the command to run with one thread only by using
Code:
$ repo sync -j1
Initialize the environment
Code:
$ . build/envsetup.sh
Obtain the proprietary files:
create a file with the name local_manifest.xml in the local_manifests directory. To see this directory, you have to press Ctrl-H in your file manager.
Use this code
Code:
$ gedit ~/cm11/.repo/local_manifests/local_manifest.xml
Paste the following lines to the editor
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="wulsic/android_device_samsung_nevispcm11.git" path="device/samsung/nevisp" remote="github" revision="master"/>
<project name="wulsic/android_vendor_samsung_nevispcm11.git" path="vendor/samsung/nevisp" remote="github" revision="master"/>
<project name="wulsic/android_kernel_samsung_nevispcm11.git" path="kernel/samsung/nevisp" remote="github" revision="master"/>
</manifest>
Save the file. (Replace the device revision with Testing if you want to get my Testing branch.)
Run
Code:
$ repo sync
again to get the files needed.
Download the necessary prebuilts from cyanogenmod by running
Code:
$ cd ~/cm11/vendor/cm
$ . get-prebuilts
$ croot
And you're done!
V. Building the ROM
Now build it:
Code:
$ brunch nevisp
And the building process starts. Now have patience. Building takes around half an hour on fast systems and a lot more on older and slower machines.
When everything worked as it should you will find your new ROM-image in ~/cm11/out/target/product/nevisp
It is called cm-11-DATE-UNOFFICIAL-nevisp-zip. You can flash it via CWM
VI. Rebuilding with newest sources
Whenever you like to update your sources and build a new version you have to run these four simple commands:
Code:
$ cd ~/cm11
$ repo sync
$ . build/envsetup.sh
$ brunch nevisp
Compiling takes less time than it took for creating the ROM the first time because it's only building new parts while reusing old parts that haven't changed.
Happy building!
Click to expand...
Click to collapse
Big thanks to Raum1807 Since this is his guide but modified for the Fame Dev's/People to keep it easier. I had his permission for this.
Stop by his thread and thank him for his guide:good: http://forum.xda-developers.com/nexus-4/general/guide-cm11-how-to-build-cyanogenmod-11-t2515305
Thanks to Google for android and Cyanogenmod well for Cyanogenmod ofcourse ;p
I hope this Guide is good since I screwed up my ubuntu again... Please report to me if there is a mistake in the OP.[/QUOTE]
If By Chance I Took Build On A Virtual Machine ... Would Take To Build It?
PS :. I am Brazilian, translated to English by Google Translate.
@NickyClouD this guide is good but you have to replace the master revision by device_samsung_nevispcm11 to Testing.
I dont know were you screwed it up but this guide is good
I dont know howlong it would take to build it since I am triplebooting.
So change master to Testing. Goodluck :good:
EDIT: Could you also unquote the OP please since it takes alot of space
For the one who cares about building roms for the fame community I adjusted the guide a bit again and added the repository with all the patches needed for the fame to the local_manifest.xml part.
I also added a new part to the guide called:
VII. Galaxy Fame Build menu
It includes a link to a simple build script which I made so that you compilers can compile/update/clean your builds easier without the need of wasting more time then needed and it also includes a feature so you can see how long the build went or how long repo sync took.
Also an addon/package for ubuntu variants which allows you to open the terminal in the folder by only right clicking in the folder and selecting open terminal menu. This addon spares you ALOT of time when you are busy with these kinds of things.

Categories

Resources