Ok cool. I'll get started tomorrow then. Thanks.Yes, but building will be slower than on a native install because the VM is sharing resources with the host OS
Sent from my Nexus 4 using Tapatalk 2
i keep getting a problem when installing build enviroment
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.6-dev python
after i run this a get this
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'lib32z1-dev' instead of 'lib32z-dev'
E: Unable to locate package libwxgtk2.6-dev
E: Couldn't find any package by regex 'libwxgtk2.6-dev'
this is on fresh ubuntu install of 12.10
Just install all except that one then look for an alternativei keep getting a problem when installing build enviroment
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.6-dev python
after i run this a get this
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'lib32z1-dev' instead of 'lib32z-dev'
E: Unable to locate package libwxgtk2.6-dev
E: Couldn't find any package by regex 'libwxgtk2.6-dev'
this is on fresh ubuntu install of 12.10
Hi all
Thanks for this.
But a little question, you say Compile for any phone.
Could it work too for a tablet (galaxy tab 10.1) ?
Just install all except that one then look for an alternative
sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386 schedtool gcc-multilib g++-multilib pngcrush
these are what im running on my 12.10 machine also this is a good repository sudo add-apt-repository ppa:git-core/ppa
and
sudo apt-get update
Sent from my SGH-I577 using xda premium
repo init -u git://github.com/AOKP/platform_manifest.git -b jb-mr1 ?????
OK, once I get everything synced up including the device tree and all ...
Once-upon-a-time, builds defaulted to ARMv5!! leading to slower ROMs.
Now, for JB, they will default to ARMv7.
My device is ARMv6. So how do I assure I am compiling for this and not 7 or 5??
Create a device tree... No other way..@mithun46
I was wondering what if I would like to build a CM10.1 or AOKP for devices that does not exist in the tree like Huawei Honor u8860?
Is there any way I could go about doing it?
I know kernel sources would be a definite requirement but what else other than the kernel sources?
build/core/product_config.mk:211: *** No matches for product "baked_p5110". Arrêt.
** Don't have a product spec for: 'baked_p5110'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
Just wanted to post a FYI:
I got my build working! However I had to play with the JAVA_HOME variable in Ubuntu 12.10, for some reason it was set to /usr/lib/jvm/java-6-sun instead of /usr/lib/jvm/java-6-oracle, now to figure out who sets this variable for my machine
Great tutorial by the way!
Tom
Note:
You want to use a 64-bit version of Linux. According to Google, 32-bit Linux environment will only work if you are building older versions prior to Gingerbread (2.3.x)/CyanogenMod 7.
Using a VM allows Linux to run as a guest inside your host computer-- a computer in a computer, if you will. If you hate Linux for whatever reason, you can always just uninstall and delete the whole thing. (There are plenty of places to find instructions for setting up Virtualbox with Ubuntu, so I’ll leave it to you to do that.)
Note:
You only need to do these steps the first time you build. If you previously prepared your build environment and have downloaded the CyanogenMod source code for another device, skip to Next Post.
Helpful Tip!
While the SDK contains lots of different things-- the two tools you are most interested in for building Android are adb and fastboot, located in the /platform-tools directory.
Helpful Tip!
A package manager in Linux is a system used to install or remove software (usually originating from the Internet) on your computer. With Ubuntu, you can use the Ubuntu Software Center. Even better, you may also use the apt-get install command directly in the Terminal. (Learn more about the apt packaging tool system from Wikipedia.)
git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.8-dev squashfs-tools build-essential zip curl
libncurses5-dev zlib1g-dev openjdk-6-jre openjdk-6-jdk pngcrush schedtool
g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline-gplv2-dev gcc-4.7-multilib g++-4.5-multilib
libc6-dev x11proto-core-dev libx11-dev libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils
mkdir -p ~/bin
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=${PATH}:~/bin
Helpful Tip!
You can make this change to the path permanent for all future Terminal sessions:
This will launch a graphical text editor. EnterCode:gedit ~/.bashrc
on its own line, then save the file.Code:export PATH=${PATH}:~/bin
mkdir -p ~/Source
cd Source
REPOSITORY'S OF FAMOUS ROMS (Select One)
PAC-Man :CM 11.0 :Code:repo init -u git://github.com/PAC-man/android.git -b cm-10.2
CM 10.1 :Code:repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
CM10 :Code:repo init -u git://github.com/CyanogenMod/android.git -b cm-10.2
Code:repo init -u git://github.com/CyanogenMod/android.git -b jellybean
repo sync
Helpful Tip!
The repo sync command is used to update the latest source code from CyanogenMod and Google. Remember it, as you can do it every few days to keep your code base fresh and up-to-date.
cd ~/Source/vendor/cm
./get-prebuilts
. build/envsetup.sh
breakfast ******
Helpful Tip!
If you get a command not found error for lunch, be sure you’ve done the “. build/envsetup.sh” command from ~/Source. Notice there is a period and space (“. ”) in that command.
./proprietary-files.sh
./extract-files.sh
Here ***** is Device codename and *** is the Phone Company like Samsung or HTC
For Example if my phone is note 2 then this will be the device path : ~/Source/device/Samsung/n7100
Note:
It’s important that these proprietary files are properly extracted and moved to the vendor directory. Without them, CyanogenMod will build without error, but you’ll be missing important functionality, such as the ability to see anything!
export USE_CCACHE=1
cd ~/Source
brunch *****
Helpful Tip!
If the build doesn't start, try lunch and choose your device from the menu. If that doesn't work, try breakfast and choose from the menu. The command make ***** should then work.
ERROR: signapk.jar failed: return code 1make: *** [out/target/product/n7100/cm_n7100-ota-eng.root.zip] Error 1
# cd $OUT
cm-10-20120718-UNOFFICIAL-***.zip
Compiling cm10.1 worked great for my sgs3 d2tmo.Thank's for the tutorial it's been fun setting this up.
Hi there,
I was finally able to compile Cyanogenmod from source.
So, thanks for your guide an your support.Thanks a lot.
Regards Koetermann
Used your guide again to setup my PC for building! Worked like a charm on 11.04
thanks for post this, great and simple guide for n00bs (like me)
This tutorial ROCKS! :good: . Successfully built i9300 starting from fresh ubuntu 12.10 installation w/o even a hickup
#include
#include /ps my own header/
main()
{
int device tree,rom;
for((device==1) || (device tree =1))
printf("you can build a rom");
else
printf("you cant :P");
}
What if i want to compile the PAC rom?
https://github.com/PAC-man
Downloading Ubuntu now!! Excited!!
Edit figured it out myself!!
repo init -u git://github.com/PAC-man/android.git -b jellybean
thankx anyways...
Isn't "apt" the "stock" package manager in (K)Ubuntu?
But I've another question @mithun46: Is it possible, that your guide only works on a 64bit edition of ubuntu? So that 32bit installations ain't supported?