[Guide] Quick start compiling guides-cm9-kernels - Motorola Photon 4G

First of all this is not a hand holding thread. this is only for people serious about compiling. compiling is actually pretty easy, its debugging, adding features, porting, and cleaning up for mass use thats a little more difficult.
pre-setup
get linux, ubuntu is preferred and the most supported. you'll need around 25gb free or more. wubi works but make sure its big enough. The best setup is of course a real linux setup. personally i have a 100gb ext4 partition with ubuntu 11.10 and a second 100gb ext4 partition just for compiling.
im not going into how to get ubuntu running or any of that as you shouldnt try compiling if you are unable to install ubuntu using google. hint dual boot if you want to keep windows.
setup
most of what we will be doing will be done in the terminal. if you dont like the terminal or dont know how to use it. go away, seriously.
you need to find and install
Python 2.5 -- 2.7, which you can download from python.org.
next copy paste this into terminal
Code:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk
sudo apt-get install git
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so
ok now that you have the basics its time to make your life easier.
optional only if you have at least 10+gb free
Code:
Setting up ccache
You can optionally tell the build to use the ccache compilation tool. Ccache acts as a compiler cache that can be used to speed-up rebuilds. This works very well if you do "make clean" often, or if you frequently switch between different build products.
Put the following in your .bashrc or equivalent.
export USE_CCACHE=1
By default the cache will be stored in ~/.ccache. If your home directory is on NFS or some other non-local filesystem, you will want to specify the directory in your .bashrc as well.
export CCACHE_DIR=<path-to-your-cache-directory>
The suggested cache size is 50-100GB. You will need to run the following command once you have downloaded the source code.
prebuilt/linux-x86/ccache/ccache -M 50G
This setting is stored in the CCACHE_DIR and is persistent.
all right your all set up lets get some source
getting source
repo init -u git://github.com/CyanogenMod/android.git -b ics
repo sync
git clone [email protected]hoton-dev-team/sunfire.git -b ics device/moto/sunfire/
git clone [email protected]hoton-dev-team/proprietary_vendor_motorola.git -b ics vendor/moto/sunfire/
./vendor/cm/get-prebuilts
note you may have issues with syncing
alright on to building
building
several ways to build based on what you are doing
preferred is
Code:
. build/envsetup.sh && brunch sunfire
but
Code:
. build/envsetup.sh
breakfast sunfire
mka bacon
works too.
basically run . build/envsetup.sh first
then you pick what to build with lunch,brunch, or breakfast
then you make,mka, or make bacon.
dont forget to make clean or make clobber between builds.
ill edit later on down the road.

Making kernels
pre-setup
Okay first of all you need to complete the above tutorial up to the getting source. so you wont have to do the building portion.
*Can you build kernels without android source, simple answer is yes, complicated answer is no. With the android source installed you have access to the proper tools. While personally i dont compile kernels with the older cross compilers of android, however this can be problematic and can lead to issues compiling. The dhd.ko is a great example. I have rebased hours of work to get dhd.ko to compile. To save everyone else my headache im going to show everyone the official way to compile kernels, not the cutting edge unsupported stuff that i do. *
setup
in terminal
cd "to your cyanogenmod source folder" we will use cyanogenmod for the tutorial
Code:
mkdir kernel
mkdir kernel/tegra
mkdir kernel/tegra-temp
mkdir kernel/compiled
mkdir kernel/compiled/modules
mkdir vendor/authentec
mkdir vendor/authentec/safenet
mkdir vendor/bcm
mkdir vendor/bcm/wlan
mkdir vendor/bcm/wlan/osrc
now hit this website and download
vendor-bcm-wlan-osrc.tgz
vendor-authentec-safenet.tgz
kernel-tegra.tgz
if you notice the file name, that is where it must be extracted.
now that you have the source, lets go on
compile
Code:
export PLATFORM_DIR="path to your cyanogenmod/android source"
export KERNEL_BUILD_OUT=$PLATFORM_DIR/kernel/tegra-temp
export ARCH=arm
export CROSS_COMPILE=$PLATFORM_DIR/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-
export KERNEL_SRC=$PLATFORM_DIR/kernel/tegra
make -j1 -C $KERNEL_SRC O=$KERNEL_BUILD_OUT KBUILD_DEFCONFIG=tegra_sunfire_android_defconfig defconfig modules_prepare
make -j1 -C $KERNEL_SRC O=$KERNEL_BUILD_OUT DEPMOD=out/host/linux-x86/bin/depmod INSTALL_MOD_PATH=$KERNEL_BUILD_OUT modules
make -j1 -C $KERNEL_SRC O=$KERNEL_BUILD_OUT DEPMOD=out/host/linux-x86/bin/depmod INSTALL_MOD_PATH=$KERNEL_BUILD_OUT modules_install
make -j1 -C $KERNEL_SRC O=$KERNEL_BUILD_OUT zImage
make -j1 -C $KERNEL_SRC O=$KERNEL_BUILD_OUT DEPMOD=out/host/linux-x86/bin/depmod INSTALL_MOD_PATH=$KERNEL_BUILD_OUT M=$PLATFORM_DIR/vendor/authentec/safenet/vpndriver modules
export LINUXSRCDIR=$KERNEL_SRC
export LINUXBUILDDIR=$PLATFORM_DIR/kernel/tegra-temp
make -C $PLATFORM_DIR/vendor/bcm/wlan/osrc/open-src/src/dhd/linux
cp kernel/tegra-temp/arch/arm/boot/zImage kernel/compiled
cp vendor/authentec/safenet/vpndriver/vpnclient.ko kernel/compiled/modules
cp vendor/bcm/wlan/osrc/open-src/src/dhd/linux/dhd.ko kernel/compiled/modules
now this will give you your modules and the zimage. to make a boot.img use android-utility to extract an existing boot.img. then replace the zimage and build the boot.img.

third post

Thanks
Thank you joker just what i needed to start and play around and get to learning,testing is all fine but creating is the real key.Thank you very much and all fellow devs for all your time and help means alot to some of us.Have a good weekend!

Thanks joker
Sent from my MB855 using xda premium

thanks... already got a dual boot....just..need..a..bigger..hdd. uggg Thanks again for all you do on here.

second post on how to compile a kernel? ;P

You forgot to add that getting everything right with the vendor and device tree is also one of the hardest parts...

mrinehart93 said:
You forgot to add that getting everything right with the vendor and device tree is also one of the hardest parts...
Click to expand...
Click to collapse
amen to that
Sent from my MB855 using Tapatalk

Will do, eventually
shabbypenguin said:
second post on how to compile a kernel? ;P
Click to expand...
Click to collapse
Sent from my MB855 using XDA App

Thanks. That helps a lot. Was already working on a setup.
Sent from my MB855 using Tapatalk

No the hardest part is when you fix something and it breaks something else, so you fix it, then something unrelated breaks, finally you get it semi fixed and run a make clobber and it fails again. So you have to revert and start over.
mrinehart93 said:
You forgot to add that getting everything right with the vendor and device tree is also one of the hardest parts...
Click to expand...
Click to collapse
Sent from my MB855 using XDA App

jokersax11 said:
No the hardest part is when you fix something and it breaks something else...
Click to expand...
Click to collapse
Haha! Sounds like my truck!

I'm downloading 198-7 kernel now I'll make a guide to building soon.
Sent from my MB855 using XDA App

ok kernel guide in place.

May be an oddball question, maybe not.
I've read the thread, have 100+ TB of hdd space and am d/l-ing what I need to get setup for a dual boot system.
Would I be able to attempt to port features of other kernels into a cm9 or other kernel. (I do have a particular mod in mind is why I ask)
I'm a MoPho-er

possible, depending on the mod, source and your skill.
FernBch said:
May be an oddball question, maybe not.
I've read the thread, have 100+ TB of hdd space and am d/l-ing what I need to get setup for a dual boot system.
Would I be able to attempt to port features of other kernels into a cm9 or other kernel. (I do have a particular mod in mind is why I ask)
I'm a MoPho-er
Click to expand...
Click to collapse
Sent from my MB855 using XDA App

jokersax11 said:
possible, depending on the mod, source and your skill.
Sent from my MB855 using XDA App
Click to expand...
Click to collapse
Mod is slide2wake, looking for source (unless I'm being dense the links I find are not source downloads), and for skills, well lets say, I usually catch on quick and can figure most things out easily. A few years back I dabbled with the command line stuff. It wasn't hard, didn't do too bad, but it's been a while.
Most times I can find the answers to my questions and can figure things out just fine, so I won't post up asking unless I'm totally stumped.
I'm a MoPho-er

i forgot all about that mod... did he ever post source for it?

Some great info I need to look into this more later love messing around with stuff like this
Sent from my MB855 using xda premium

Related

[REF]HowTo build CM9 from source

Made the CM wiki a little easier to understand. Most is taken from here:
http://teamhacksung.org/wiki/index.php/CyanogenMod9:GT-I9100:How_to_build
First off you will need Ubuntu 64-bit for this to work (or one of the many ubuntu editions) I recommend the 11.10 version (will work on 10.x also), as it's the newest stable to date. 32-bit won't work. I'm using Xubuntu 64 bit, and it uses the same terminal codes of course.
Install ADB
Install the Android SDK.
NOTE: You do not need to setup the SDK with an ADV etc., just download and install to get the tools (e.g. adb).
Install the Build Packages
Open the terminal in ubuntu and paste the following code snippets:
To add sun-java to repo (works on various ubuntu versions):
Code:
sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
To get the needed build packages:
Code:
sudo apt-get install git-core gnupg flex bison gperf libsdl1.2-dev 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 lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib
NOTE: gcc-4.3-multilib g++-4.3-multilib is no longer available for Ubuntu 11.04/11.10 64-bit, but should still build without issue. On 11.10 lib32readline5-dev is no longer available, but lib32readline-gplv2-dev is there instead. Just install it with "apt-get install lib32readline-gplv2-dev"
Create the Directories
You will need to set up some directories in your build environment.
To create them paste these in terminal:
Code:
mkdir -p ~/bin
mkdir -p ~/android/system
Install the Repository
Enter the following in terminal to download make executable the "repo" binary:
Code:
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
NOTE: You may need to reboot for these changes to take effect.
Now enter the following to initialize the repository:
Code:
cd ~/android/system/
repo init -u git://github.com/CyanogenMod/android.git -b ics
repo sync -j16
Retrieve the galaxys2 repo
Code:
. build/envsetup.sh
brunch cm_galaxys2-userdebug
Copy proprietary files
NOTE: This only needs to be done the first time you build, but it's recommended to redo it when TeamHacksung makes some changes to these in their nightlies (which may occur quite often as of now)..
You will need to have a galaxys2 with the latest nightly of CM9 installed, and ADB working on the computer. This script will copy the proprietary files from the device.
Connect the device to the computer and ensure that ADB is working properly.
Paste this into terminal:
Code:
cd ~/android/system/device/samsung/galaxys2/
./extract-files.sh
NOTE: If some hardware isn't working, like camcorder or FM radio, you will need to find the updated prop blobs.
Get prebuilts
Code:
~/android/system/vendor/cm/get-prebuilts
Building CyanogenMod
First, check for updates in the source:
Paste into terminal:
Code:
cd ~/android/system/
repo sync
Configure Build & Compile
Now, the environment must be configured to build and the ROM compiled, from code, for the galaxys2.
Paste into terminal:
Code:
. build/envsetup.sh && brunch cm_galaxys2-userdebug
--------------------
End of tutorial
--------------------
Nice guide, just installed ubuntu on my VAIO to do this kind of stuff.
Thnx
On to setting stuff up...
You should consider getting the build script (build.sh) from teamhacksung's github (https://github.com/teamhacksung/buildscripts) and placing it in your android/system folder.
It allows you to use commands like ./build.sh [devicename] [kernel] to build the version of CM7 you want and optionally will compile your own kernel (if you also have the c1 and aries kernel source)
Other commands it supports:
./build.sh clean - to clear the output folders for a clean build
./build.sh prepare - to pull the latest version of Rom Manager
When I build for the SGS2 my sequence of events are always:
repo sync -j16
./build.sh clean
then either:
./build.sh galaxys2 kernel
if kernel code has changed, or
./build.sh galaxys2
if kernel code has not changed.
Click to expand...
Click to collapse
And after the mentioned build sequence posted above to finalize everything you run the command "build/envsetup.sh && brunch galaxys2" or is that obsolete now ?
HarryRag said:
And after the mentioned build sequence posted above to finalize everything you run the command "build/envsetup.sh && brunch galaxys2" or is that obsolete now ?
Click to expand...
Click to collapse
run all those in terminal... Remember the .
Sent from my GT-I9100 using XDA Premium App
HarryRag said:
And after the mentioned build sequence posted above to finalize everything you run the command "build/envsetup.sh && brunch galaxys2" or is that obsolete now ?
Click to expand...
Click to collapse
If you use the teamhacksung build.sh script then, yes, it is obsolete.
Novek said:
Remember the .
Click to expand...
Click to collapse
Yes, don't forget the period (.) at the start of the ./build.sh command or it won't run.
I was indeed revering to the build.sh from teamhacksung, thnx.
Got another question, is about: repo sync -j16
What does the -j16 stand for?
I'm aware of the . from ./ , just using linux for the first time to do this kind of stuff, using it a few years now for game/web server and playing some around with it.
Novek said:
First of, this is a re-written guide from the cyanogenmod wiki found here. All credit goes to them!
Click to expand...
Click to collapse
the link you gave is for sgs1.
change it with this: http://wiki.cyanogenmod.com/wiki/Samsung_Galaxy_S_II:_Compile_CyanogenMod_(Linux)
HarryRag said:
Got another question, is about: repo sync -j16
What does the -j16 stand for?
Click to expand...
Click to collapse
To be honest, I don't know. I tried searching the man pages etc but could never find the answer. I use it because it is what is listed on the CM wiki. I have also seen people use -j40 or no setting. They all work.
NISIM2337 said:
the link you gave is for sgs1.
change it with this: http://wiki.cyanogenmod.com/wiki/Samsung_Galaxy_S_II:_Compile_CyanogenMod_(Linux)
Click to expand...
Click to collapse
Yes, the SGS2 wiki page was published today. It does not contain the teamhacksung buildscript details though as that is specific to teamhacksung.
Well just made to build my first Kang using ./build.sh galaxys2 kernel
Just for now i'm testing to see what the difference is with the other building options.
For doing the ADB install part i started with a Howtoforge page about setting up android app builds since it has a good and very detailed part on how to exactly do all the adb installing stuff etc. (which would stand for this part of the turorial *Install ADB*), very newby friendly
HarryRag said:
What does the -j16 stand for?
Click to expand...
Click to collapse
I think it's the number of the simultaneous connections that will be opened to the server.
Code:
echo "Example: ./build.sh galaxys2 (prebuilt kernel + android)"
echo "Example: ./build.sh galaxys2 kernel (kernel + android)"
As i understand the following from build.sh good. It means that with just the "./build.sh galaxys2" is for stock CM7 kernel as from the source/github after running the sync.
but is "./build.sh galaxys2 kernel (kernel + android)" then for an custom made kernel with tweaks or is this one just for when there is a (bigger) update for the CM7 kernel?
I think you should realse a rom based on cm.
Sent from my GT-I9100 using Tapatalk
Removed...
DvTonder said:
Yes, the SGS2 wiki page was published today. It does not contain the teamhacksung buildscript details though as that is specific to teamhacksung.
Click to expand...
Click to collapse
ok, sorry.
Don't remove anything, don't except defeat, everyone is equal here!
Sent from my Samsung Galactic iPhone Killing Machine S II
Novek said:
Removed due to public harrasment from the "pros"...
Click to expand...
Click to collapse
Wow, that is unexpected! And unfortunate! I was going to follow your extensive guide this evening, such a shame you took it away. I did not notice any harassment here, but i'm sorry you felt it. Hope maybe you and the "pros" can sort this out, because i think such a topic would be really valuable here!!!
mbroeders said:
Wow, that is unexpected! And unfortunate! I was going to follow your extensive guide this evening, such a shame you took it away. I did not notice any harassment here, but i'm sorry you felt it. Hope maybe you and the "pros" can sort this out, because i think such a topic would be really valuable here!!!
Click to expand...
Click to collapse
Agreed : this has great value
Sent from my GT-I9100 using XDA Premium App
Novek said:
Removed due to public harrasment from the "pros"...
Click to expand...
Click to collapse
Please, give us some names, we will know "pros" who don't like to share with others.
Some advanced devs just want to keep there secrets in order to make believe it's too hard for others ...
They would like us to re-invent everything when it exists already. Thats not my vision of linux freedom ...
Or please say us why they insult you ?
Sent from my GT-I9100 using XDA Premium App

[TUT] Compile CM9 from source for the Xperia Play [UBUNTU]

Just before we start, Google says:
Note: The source download is approximately 6GB in size. You will need 25GB free to complete a single build, and up to 90GB (or more) for a full set of builds.
Click to expand...
Click to collapse
Google also test compiling on Ubuntu 10.04 LTS, but I used 10.10, 32 bit. These instructions are for Ubuntu version 10.04-11.10
To install JDK6 (needed):
Code:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk
FOR 64bit: You will need the required packages, so open up your terminal and enter:
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
On Ubuntu 10.10:
Code:
sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so
On Ubuntu 11.10:
Code:
sudo apt-get install libx11-dev:i386
FOR 32bit (what I used): You will need the required packages, so open up your terminal and enter:
Code:
sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev libncurses5-dev x11proto-core-dev \
libx11-dev libreadline6-dev libgl1-mesa-dev tofrodos python-markdown \
libxml2-utils xsltproc
Now, onto downloading the source
First of all, you need to get the google repo tool, in a terminal:
Code:
mkdir ~/bin
PATH=~/bin:$PATH
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
Then reboot the PC
Now, we will actually initialize the repository:
Code:
mkdir -p ~/android/ics/
cd ~/android/ics/
repo init -u git://github.com/CyanogenMod/android.git -b ics
Then enter your name and email address
Then:
Code:
repo sync -j8
if you have bad internet, use a smaller number than 8, eg. 4 or 2
Now, wait for the repo to sync (all 6GB of it )
Then after that is done, you need to setup vendor and device trees for our device
In the terminal again:
Code:
cd ~/android/ics/vendor/
git clone https://github.com/koush/proprietary_vendor_semc.git -b ics semc
Then:
Code:
cd ~/android/ics/device/
mkdir semc
cd semc
git clone https://github.com/CyanogenMod/android_device_semc_msm7x30-common.git -b ics msm7x30-common
git clone https://github.com/CyanogenMod/android_device_semc_zeus.git -b ics zeus
git clone https://github.com/CyanogenMod/android_device_semc_zeus-common.git -b ics zeus-common
to sync changes since last sync:
Code:
cd ~/android/ics/
repo sync
get CM props:
Code:
cd ~/android/ics/vendor/cm/
./get-prebuilts
then to build :
Setup environment:
Code:
cd ~/android/ics/
. build/envsetup.sh
then to get device list:
Code:
lunch
Now, select the number that is cm_zeus-userdebug
Now to finally build:
Code:
make -j4 bacon
again, you can use a higher value than 4 if you have more cores and more ram.
My specs:
Intel Core 2 Duo @ 1.8GHz
4GB RAM
VirginMedia 50Mbps broadband
My time:
Time to sync: 2hours+
Time to compile: 5+ hours, using -j16 which made my laptop VERY laggy
Enjoy, run into any issues, post here please
Troubleshooting:
Getting this: http://pastebin.com/Cy55wKZK ?
FIX:
In a file manager open up the directory: android/ics/frameworks/base/telephony/tests/ and delete the telephonytests folder
this is harmless
then recompile again
Reserved again
Sent from my Xperia Play using Tapatalk
In case you forget what that thing you're working on was for?
Only joking, good luck and all that.
MilkyJoePD said:
In case you forget what that thing you're working on was for?
Only joking, good luck and all that.
Click to expand...
Click to collapse
Which thing? I happen to be working on a lot of things lol
But I was thinking, maybe I could provide something similar to CM Night lies, but obviously not every night?
Sent from my Xperia Play using Tapatalk
Keiran this is awesome =)
Sent from my R800i using xda premiu
IE-coRe said:
Keiran this is awesome =)
Sent from my R800i using xda premiu
Click to expand...
Click to collapse
Thanks, tutorial is now live
Is there a way to implement chevyowner's CDMA changes into it for the zeusc build? Should I contact him to do so after the compile completes?
CrimsonKnight13 said:
Is there a way to implement chevyowner's CDMA changes into it for the zeusc build? Should I contact him to do so after the compile completes?
Click to expand...
Click to collapse
we don't have a zeusc vendor or device tree for ICS yet, but I can get one set up
What I need from chevyowner is a list of changes he made to get it working on CDMA
Keiran
KeiranFTW said:
we don't have a zeusc vendor or device tree for ICS yet, but I can get one set up
What I need from chevyowner is a list of changes he made to get it working on CDMA
Keiran
Click to expand...
Click to collapse
Want me to send you the libs and build.prop?
Sent from my R800x using Tapatalk
paxChristos said:
Want me to send you the libs and build.prop?
Sent from my R800x using Tapatalk
Click to expand...
Click to collapse
There was a change in libs too? I thought it was only a build.prop hack?
Can you send me libs? I only have build.prop changes, and have merged them
anyway: https://github.com/keiranFTW/android_device_semc_zeusc <-- tis CDMA zeusc device configuration for CM9
should work
KeiranFTW said:
There was a change in libs too? I thought it was only a build.prop hack?
Can you send me libs? I only have build.prop changes, and have merged them
Click to expand...
Click to collapse
Sent you a pm with the files,
Thanks for the make files (off to sync cm9 )
Sent from my R800x using Tapatalk
Hi keiran,
Have you managed to compile fxp113 for me yet?
Sorry to chase just need to know what I have to work with
Sent from my R800i using XDA
paxChristos said:
Sent you a pm with the files,
Thanks for the make files (off to sync cm9 )
Sent from my R800x using Tapatalk
Click to expand...
Click to collapse
Cheers, will get CM9 zeusc vendor tree set up then too
pricey2009 said:
Hi keiran,
Have you managed to compile fxp113 for me yet?
Sorry to chase just need to know what I have to work with
Sent from my R800i using XDA
Click to expand...
Click to collapse
Forgot about that, will get you a download link tomorrow night if I can?
Newest CM9 ICS change log:
Data works brilliantly, although I never get H, just 3G
New adreno libs are there, faster rendering and all.
Some launcher shizz I didn't read
New CM9 boot animation when I add it into the make files
Reboot option works, unless used by ROM Manager
I think that hw decoder will be fixed soon, because I seen something about it on CM code review, about qualcomm omx which fixes video. Not sure it is working though, but there are tons of devices all with the same problem, it will be fixed
Ty,
Keiran
Sent from my Xperia Play using Tapatalk
KeiranFTW said:
There was a change in libs too? I thought it was only a build.prop hack?
Can you send me libs? I only have build.prop changes, and have merged them
anyway: https://github.com/keiranFTW/android_device_semc_zeusc <-- tis CDMA zeusc device configuration for CM9
should work
Click to expand...
Click to collapse
Once you have the libs merged, I'll start compiling myself
Do you still have artifacts on certain menus and settings? Great tut btw gona update my Ubuntu partion.
sent from my xperia play running cm7
http://pastebin.com/UfSU5Wf6 that is as far as i can get it to go.
chevyowner said:
http://pastebin.com/UfSU5Wf6 that is as far as i can get it to go.
Click to expand...
Click to collapse
Ouch.
Have you tried Googling the error? Do you have the right version of Java set up?
Edit:
Do you have a vendor tree for zeusc? ~/android/ics/vendor/semc/zeusc? If not I can get one setup tonight.
Sent from my Xperia Play using Tapatalk
Hi i have following problem, did every step like in the tutorial but at
PHP:
mkdir -p ~/android/ics/
cd ~/android/ics/
repo init -u git://github.com/CyanogenMod/android.git -b ics
Terminal says: /home/christian/bin/repo: Line 1 : Syntaxerror unexpected word 'newline'
/home/christian/bin/repo: Line 1 : `<!DOCTYPE html>'
can someone help me?
---------- Post added at 09:31 AM ---------- Previous post was at 09:18 AM ----------
ok fixed the problem
Nice one KeiranFTW. Ran into some trouble install the JDK on 11.10. Had to install it from a ppa in the end. Details here.
Currently building. Shall see what happens

[SCRIPT/KITCHEN]How to compile any AOSP derivative for the Amaze 4G

Ok new method you have to be running Ubuntu. I made an All in one script to do everything for you I'm really tired so for now figure it out your self i couldn't have made it any easier to use. It even downloads my tree and cm9/10/aokp
Instructions
1. Open Terminal
2. Copy and paste this
Code:
cd ~/ && git clone git://github.com/Sportsstar89/scripts.git && cd ~/scripts
3. Then run the script
Code:
./cm_script
### Below this is outdated ###
Code:
Ok I am writing this tutorial to encourage people to learn and to help develop CM9 as more people = more ideas
First you need to be running linux i recommend ubuntu
For 32-bit & 64-bit systems:
1.[code]sudo apt-get install git-core gnupg flex bison gperf build-essential \
zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs \
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev \
libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown \
libxml2-utils xsltproc
NOTE: On Ubuntu 11.10, and variants, you need to enable the parter repository to install sun-java6-jdk:
Code:
sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-jdk
2.
Code:
mkdir -p ~/bin
curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
chmod a+x ~/bin/repo
export PATH=~/bin:$PATH
3.
Code:
mkdir -p ~/android
cd android
4.
Code:
repo init -u git://github.com/Sportsstar89/android.git -b ics
repo sync -j4
5.
Code:
. build/envsetup.sh
6.
Code:
brunch ruby -j#
#= How ever man cores you have ex. if you have a quad core it would be "brunch ruby -j4"
7. Wait for the build to complete and it will be in the out/target/product/ruby/
Ok so i think i have everything if you run in to any issues let me know[/CODE]
Default.xml fixed
Sent from my HTC_Amaze_4G using xda premium
Does that tutorial also work for devices like the Incredible s that don't have CM9 by now?
Does Compile from source mean that I can compile CM9 for my device even if it isn't a supoprted device by cyanogenmod?
Really nice idea to write this tutorial!
OHowever you wrote the same dependencies for both architectures I think The 32 bits one definitely seems to be wrong with all these lib32-*
Sent from my HTC Amaze 4G using XDA
00hero00 said:
Does that tutorial also work for devices like the Incredible s that don't have CM9 by now?
Does Compile from source mean that I can compile CM9 for my device even if it isn't a supoprted device by cyanogenmod?
Click to expand...
Click to collapse
You would have to use the incredible's device tree and edit in to the vendor setup.sh in vendor/cm 'add_lunch_combo cm_inc-userdebug' or what ever your device's codename is and then brunch inc
johnride said:
Really nice idea to write this tutorial!
OHowever you wrote the same dependencies for both architectures I think The 32 bits one definitely seems to be wrong with all these lib32-*
Sent from my HTC Amaze 4G using XDA
Click to expand...
Click to collapse
Yea ubuntu changed their name they still download they just give you a bunch of warnings
Thank you so much for this write up.
After the repo sync -j4 command my computer has been running the sync for about 5 hours.
My question is, for future updates I'd need to run this command again, correct? Next time I run it, it shouldn't take nearly as long, right? Just thought I'd ask.
Sent from my HTC_Amaze_4G using Tapatalk 2
Nshih422 said:
Thank you so much for this write up.
After the repo sync -j4 command my computer has been running the sync for about 5 hours.
My question is, for future updates I'd need to run this command again, correct? Next time I run it, it shouldn't take nearly as long, right? Just thought I'd ask.
Sent from my HTC_Amaze_4G using Tapatalk 2
Click to expand...
Click to collapse
No it won't take as long because it will only get the new files and get rid of the new ones. (Usually takes about 30 seconds for me on 50mbps internet)
Sent from my HTC_Amaze_4G using Tapatalk 2
Ok, sorry for the questions but im a noob in linux. Im running ubuntu 12.04 LTS
so the java install gave me this
Code:
Package sun-java6-jdk 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
So I installed java using this tutorial HERE.
Also I got this error:
Code:
Package lib32readline5-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
However the following packages replace it:
lib32readline-gplv2-dev
E: Package 'lib32readline5-dev' has no installation candidate
So i installed that package instead.
Im guessing one of these problems is leading me to this error when I brunch ruby -j4
Code:
make: *** [out/host/common/obj/JAVA_LIBRARIES/dumpkey_intermediates/javalib.jar] Error 127
make: *** Waiting for unfinished jobs....
In file included from external/srec/tools/grxmlcompile/sub_grph.h:26:0,
from external/srec/tools/grxmlcompile/sub_supp.cpp:26:
external/srec/tools/grxmlcompile/vocab.h:72:54: warning: ‘typedef’ was ignored in this declaration [enabled by default]
external/srec/tools/grxmlcompile/sub_supp.cpp: In member function ‘void SubGraph::ClearDuplicateArcs()’:
external/srec/tools/grxmlcompile/sub_supp.cpp:366:12: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses]
In the out/target/product/ruby folder I have
Code:
obj (folder)
root (folder)
system (folder)
clean_steps.mk
previous_build_config.mk
Ruby folder is:
Contents: 2,885 items, totalling 24.0 MB
Any help on where to go from here? Thanks in advance.
Nshih422 said:
Ok, sorry for the questions but im a noob in linux. Im running ubuntu 12.04 LTS
so the java install gave me this
Code:
Package sun-java6-jdk 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
So I installed java using this tutorial HERE.
Also I got this error:
Code:
Package lib32readline5-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
However the following packages replace it:
lib32readline-gplv2-dev
E: Package 'lib32readline5-dev' has no installation candidate
So i installed that package instead.
Im guessing one of these problems is leading me to this error when I brunch ruby -j4
Code:
make: *** [out/host/common/obj/JAVA_LIBRARIES/dumpkey_intermediates/javalib.jar] Error 127
make: *** Waiting for unfinished jobs....
In file included from external/srec/tools/grxmlcompile/sub_grph.h:26:0,
from external/srec/tools/grxmlcompile/sub_supp.cpp:26:
external/srec/tools/grxmlcompile/vocab.h:72:54: warning: ‘typedef’ was ignored in this declaration [enabled by default]
external/srec/tools/grxmlcompile/sub_supp.cpp: In member function ‘void SubGraph::ClearDuplicateArcs()’:
external/srec/tools/grxmlcompile/sub_supp.cpp:366:12: warning: suggest explicit braces to avoid ambiguous ‘else’ [-Wparentheses]
In the out/target/product/ruby folder I have
Code:
obj (folder)
root (folder)
system (folder)
clean_steps.mk
previous_build_config.mk
Ruby folder is:
Contents: 2,885 items, totalling 24.0 MB
Any help on where to go from here? Thanks in advance.
Click to expand...
Click to collapse
Dis you set JAVA_HOME correctly for the jdk
Sent from my HTC_Amaze_4G using xda premium
OK! First compile ever thanks to your guide! THANKS Sportsstar89!
Originally I was running it on my SSD and for some reason it wasnt working well. Download took 5 hours and compile was running for 3 hours before I ran out of space. So I swapped hard drives and finished the whole process in a little under 3 hours. I guess my SSD is either going bad or needs to be set up somehow to work properly with linux.
Compile took 1 hour 11 minutes
I recommend anyone who wants to try this out to at least give yourself 30GB for the Ubuntu Install.
So apparently, There are two zips in the ruby folder after its done compiling. I flashed the "cm-9-20120625-UNOFFICIAL-ruby" one first then flashed the "cm_ruby-ota-eng.a.zip" am I doing it right?
I keep getting SystemUI error and it wont stop. Not trying to report issues just want to know if I'm on the right track.
Thanks again for all your hard work. Cant wait till this is done!
EDIT:
I figured out that the one that had ota in the title is what is used to make the unofficial. For some reason though the ota seems to function a little better.
Nshih422 said:
OK! First compile ever thanks to your guide! THANKS Sportsstar89!
Originally I was running it on my SSD and for some reason it wasnt working well. Download took 5 hours and compile was running for 3 hours before I ran out of space. So I swapped hard drives and finished the whole process in a little under 3 hours. I guess my SSD is either going bad or needs to be set up somehow to work properly with linux.
Compile took 1 hour 11 minutes
I recommend anyone who wants to try this out to at least give yourself 30GB for the Ubuntu Install.
So apparently, There are two zips in the ruby folder after its done compiling. I flashed the "cm-9-20120625-UNOFFICIAL-ruby" one first then flashed the "cm_ruby-ota-eng.a.zip" am I doing it right?
I keep getting SystemUI error and it wont stop. Not trying to report issues just want to know if I'm on the right track.
Thanks again for all your hard work. Cant wait till this is done!
EDIT:
I figured out that the one that had ota in the title is what is used to make the unofficial. For some reason though the ota seems to function a little better.
Click to expand...
Click to collapse
The cm_ota is the not zipaligned version that you would get from doing
Code:
. build/envsetup.sh
lunch cm_ruby
make otapackage -j#
but by using the brunch command it zipaligns it for you and produces the cm-date-unofficial.zip
Nshih422 said:
OK! First compile ever thanks to your guide! THANKS Sportsstar89!
Originally I was running it on my SSD and for some reason it wasnt working well. Download took 5 hours and compile was running for 3 hours before I ran out of space. So I swapped hard drives and finished the whole process in a little under 3 hours. I guess my SSD is either going bad or needs to be set up somehow to work properly with linux.
Compile took 1 hour 11 minutes
I recommend anyone who wants to try this out to at least give yourself 30GB for the Ubuntu Install.
So apparently, There are two zips in the ruby folder after its done compiling. I flashed the "cm-9-20120625-UNOFFICIAL-ruby" one first then flashed the "cm_ruby-ota-eng.a.zip" am I doing it right?
I keep getting SystemUI error and it wont stop. Not trying to report issues just want to know if I'm on the right track.
Thanks again for all your hard work. Cant wait till this is done!
EDIT:
I figured out that the one that had ota in the title is what is used to make the unofficial. For some reason though the ota seems to function a little better.
Click to expand...
Click to collapse
I'm getting the SystemUI error too. I haven't tried the cm_ruby-ota-eng.a.zip yet to see if that helps. Anyone else getting this problem? Does anyone know why it's doing that?
Sent from my HTC_Amaze_4G using XDA
derekalan18 said:
I'm getting the SystemUI error too. I haven't tried the cm_ruby-ota-eng.a.zip yet to see if that helps. Anyone else getting this problem? Does anyone know why it's doing that?
Sent from my HTC_Amaze_4G using XDA
Click to expand...
Click to collapse
It's a bug from using the stock kernel it'll be fixed soon
Sent from my HTC_Amaze_4G using xda premium
sportsstar89 said:
It's a bug from using the stock kernel it'll be fixed soon
Sent from my HTC_Amaze_4G using xda premium
Click to expand...
Click to collapse
Oh ok. I thought I did something wrong.
Sent from my HTC_Amaze_4G using XDA
derekalan18 said:
Oh ok. I thought I did something wrong.
Sent from my HTC_Amaze_4G using XDA
Click to expand...
Click to collapse
I thought I did something wrong too. So I deleted my "bin" and "android" folders and started from scratch and now it wont compile. I keep getting error 1, or error 2. Ill update with an exact error when i get a chance.
EDIT: sorry I forgot to update. I think my problem was not making repo, in bin folder executable. Like the suggestion below, when I repeated the process step by step it compiled again.
Nshih422 said:
I thought I did something wrong too. So I deleted my "bin" and "android" folders and started from scratch and now it wont compile. I keep getting error 1, or error 2. Ill update with an exact error when i get a chance.
Click to expand...
Click to collapse
If you deleted bin, you'll have to add repo back in and make it executable. Glad you got it working. I love compiling android.
I am syncing the git right now on my ArchLinux and I have had to modify a little bit the repo and main.py scripts to get them working. The python command on ArchLinux is actually python 3.2 so there are multiple syntax errors popping. To fix it I just installed python2 and changed "python" for "python2" at the begining of those scripts.
Just posting this to help anybody.
By the way this git repo is HUGE! 1.9 GB and still downloading... I wonder why I see so much cm7 stuff in the syncing output? We need all cm7 sources to compile cm9 on the Amaze?
Edit: 11.1GB ? WTF? My 74GB home disk is now almost full. Why is it so big?
johnride said:
I am syncing the git right now on my ArchLinux and I have had to modify a little bit the repo and main.py scripts to get them working. The python command on ArchLinux is actually python 3.2 so there are multiple syntax errors popping. To fix it I just installed python2 and changed "python" for "python2" at the begining of those scripts.
Just posting this to help anybody.
By the way this git repo is HUGE! 1.9 GB and still downloading... I wonder why I see so much cm7 stuff in the syncing output? We need all cm7 sources to compile cm9 on the Amaze?
Edit: 11.1GB ? WTF? My 74GB home disk is now almost full. Why is it so big?
Click to expand...
Click to collapse
That's how big source code for android is a full build will take about 50gb to complete
New!!! Now a script! Easy to use and you no longer have to wait for me to build
Kick-ass. Since I'm running Mint Maya, I'll give this a go and see how it craps out.

[CM] Building for expressltexx (GT-I8730)

There's an easy way to do whatever's discussed below, except for a) getting the SDK, b) syncing the repos, and c) building the ROM; and that way is using this script. But it's still better to do the steps below manually as it gets you acquainted with the terminal - you'll be using it a lot.
Thanks to @klvnhng for the original tutorial for mako
Credits to him.
You will need:
A computer running Ubuntu with at least 2GB memory and around 40-65 GB of free space
If you don't want to install Ubuntu, run it instead in VMWare Player or VirtualBox.
make sure you provide the virtual machine with the amount of recommended disk space or more
give it no less than 3-4GB of RAM
A (preferably fast) internet connection (trust me, you don't want to do this with a 256 or 512 kbps connection)
Familiarity with Android and Linux. Read up at source.android.com.
Setting up the build environment
1. Install JDK
DO NOT USE OPENJDK. Remove it by entering
Code:
sudo apt-get purge openjdk* icedtea* icedtea-6*
Install Oracle Java 6 by typing this into a terminal:
Code:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java6-installer
Android SDK requires the x86 compatibility packages, ia32-libs. Install it by entering this:
Code:
sudo apt-get -y install ia32-libs
As an alternative, you can also do this (thanks to @jjchico):
Code:
sudo apt-get install lsb-release lib32gcc1 libc6-i386 lib32z1 lib32stdc++6 lib32bz2-1.0 lib32ncurses5
2. Android SDK
Download it here.
Extract it to a folder of your choice (in this guide, I will refer to it as ~/android/sdk).
Enter these commands into the terminal:
Code:
cd ~/android/sdk/adt-bundle/sdk/tools
./android sdk
Click Install packages. cd to ~/android/sdk/adt-bundle/sdk/platform-tools and type:
Code:
./adb
./fastboot
If you've done everything correctly, you should get a big block of text for both (which list all of the adb/fastboot commands).
3. Install required packages
Copy and paste this command into the terminal:
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-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
4. Install the repo command
Make directories called bin and android in your home folder, respectively.
Code:
mkdir -p ~/bin
mkdir -p ~/android
Download and setup the repo binary:
Code:
curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo
Now add it to your path:
Code:
export PATH="$PATH:~/bin"
And make sure it belongs in your path between subsequent reboots:
Code:
echo "export PATH="$PATH:~/android/sdk:~/bin"" >> ~/.bashrc
source ~/.bashrc
5. Configuring USB
You must configure USB to detect your Android device(s) properly.
Do this in a terminal:
Code:
curl https://raw.githubusercontent.com/aureljared/build-env-init/master/51-android.rules > ~/bin/51-android.rules
chmod a+r ~/bin/51-android.rules
sudo cp -vfp ~/bin/51-android.rules /etc/udev/rules.d/51-android.rules
6. Syncing up
The next step is to initialize the repository and download the source code to your computer.
Type the following lines into the terminal:
Code:
mkdir -p ~/android/cm-11.0
cd ~/android/cm-11.0
repo init -u git://github.com/CyanogenMod/android.git -b cm-11.0
To download all the necessary device-specific files for our device, do this:
Code:
curl https://raw.githubusercontent.com/aureljared/android-manifests/expresslte-cm-11.0/local_manifest.xml >> .repo/local_manifests/local_manifest.xml
Now run
Code:
repo sync
You have now begun downloading all of the CM source code to your build directory. Depending on your internet speed, this can take from a couple of hours to a few days. If the sync interrupts, don't worry. Simply continue the sync (you don't have to restart completely, only the project you were downloading when the interrupt occured, lol) by entering:
Code:
repo sync
Some tips:
You can interrupt the process by pressing Ctrl + C, it will continue where it left off the next time anyway.
Remember, you need to cd into your build directory (~/android/cm-11.0, if you've been following this guide) for the command to work.
If you want only one project to be synced at a time, run repo sync -j1 instead.
This step takes a long time depending on your internet connection speed (FYI you're downloading ~20 GB of code!)
7. Building CM (yay!)
You must download the necessary pre-built apps:
Code:
~/android/cm-11.0/vendor/cm/get-prebuilts
Now let's build! cd to your build directory and run the following commands in the terminal:
Code:
. build/envsetup.sh
brunch expressltexx
Now, just let your computer do the rest. This step is very demanding for your computer, so you better leave it alone while it builds. Usually this takes an hour or more. Go get some sleep or eat something.
Done? If everything went correctly, cd to ~/android/cm-11.0/out/target/product/expresslte and you should see your newly built ROM entitled:
cm-11.0-20xxxxxx-UNOFFICIAL-expressltexx.zip
Congratulations! You've successfully built CM 11.0!
For re-builds (i.e. when the source code has been updated and you would like to make a new nightly), just do this:
Code:
cd ~/android/cm-11.0
make clobber
repo sync
. build/envsetup.sh
brunch expressltexx
Have fun building!​
I suggest you to modify step 5 inserting before repo sync
Code:
mkdir .repo/local_manifests
cd .repo/local_manifests
wget https://raw.github.com/KINGbabasula/android_device_samsung_expresslte/cm-10.2/local_manifest.xml
cd ..
cd ..
This will download the specific necessary repos with repo sync
Then remove this in step 6
Code:
mkdir files
cd files
git clone https://github.com/KINGbabasula/proprietary_vendor_samsung.git
as it isn't needed
And change make clean with make clobber because with clobber it will rebuild faster
EDIT: And before step 6 you need to replace these 2 files with the 2 in the attachment
Code:
system/core/mkbootimg/bootimg.h
system/core/mkbootimg/mkbootimg.c
KINGbabasula said:
I suggest you to modify step 5 inserting before repo sync
Code:
mkdir .repo/local_manifests
cd .repo/local_manifests
wget https://raw.github.com/KINGbabasula/android_device_samsung_expresslte/cm-10.2/local_manifest.xml
cd ..
cd ..
This will download the specific necessary repos with repo sync
Then remove this in step 6
Code:
mkdir files
cd files
git clone https://github.com/KINGbabasula/proprietary_vendor_samsung.git
as it isn't needed
And change make clean with make clobber because with clobber it will rebuild faster
EDIT: And before step 6 you need to replace these 2 files with the 2 in the attachment
Code:
system/core/mkbootimg/bootimg.h
system/core/mkbootimg/mkbootimg.c
Click to expand...
Click to collapse
Original post updated.
Can you help me with ia32-libs?
It says that it's referred to by a handful of other packages but it has no installation candidates or something. The bottom line is that I can't install it.
I'm using 13.10 x64 on an ASUS K43SJ.
- Intel i5-2410M Quadcore (2.3GHz normal, 2.9GHz Turbo Boost)
- 2GB RAM available to Ubuntu VM
Sent from my International Galaxy Express using Tapatalk 4
aureljared said:
Original post updated.
Can you help me with ia32-libs?
It says that it's referred to by a handful of other packages but it has no installation candidates or something. The bottom line is that I can't install it.
I'm using 13.10 x64 on an ASUS K43SJ.
- Intel i5-2410M Quadcore (2.3GHz normal, 2.9GHz Turbo Boost)
- 2GB RAM available to Ubuntu VM
Sent from my International Galaxy Express using Tapatalk 4
Click to expand...
Click to collapse
You have to apt-get install every missing library one by one
Inviato dal mio GT-I9070 utilizzando Tapatalk
aureljared said:
2. Android SDK
Download it here.
Extract it to a folder of your choice (in this guide, I will refer to it as ~/android/sdk).
Enter these commands into the terminal:
Code:
cd ~/android/sdk/adt-bundle/sdk/tools
./android sdk
Click Install packages. cd to ~/android/sdk/adt-bundle/sdk/platform-tools and type:
Code:
adb
fastboot
Click to expand...
Click to collapse
Shouldn't it be
Code:
./adb
./fastboot
Or have you added the sdk to your path?
I guess the compilation process will need the sdk. How does it find the sdk? Do you need to provide the path anywhere?
Thanks for the great tuto.
These are the libs that ia32-libs pulls in that are present in Ubuntu 13.10. This should be equivalent to install ia32-libs in Ubuntu 12.04:
$ sudo apt-get install lsb-release lib32gcc1 libc6-i386 lib32z1 lib32stdc++6 lib32bz2-1.0 lib32ncurses5
---------- Post added at 12:08 PM ---------- Previous post was at 11:29 AM ----------
These are the libs that ia32-libs pulls in that are present in Ubuntu 13.10. This should be equivalent to install ia32-libs in Ubuntu 12.04:
$ sudo apt-get install lsb-release lib32gcc1 libc6-i386 lib32z1 lib32stdc++6 lib32bz2-1.0 lib32ncurses5
jjchico said:
These are the libs that ia32-libs pulls in that are present in Ubuntu 13.10. This should be equivalent to install ia32-libs in Ubuntu 12.04:
$ sudo apt-get install lsb-release lib32gcc1 libc6-i386 lib32z1 lib32stdc++6 lib32bz2-1.0 lib32ncurses5
---------- Post added at 12:08 PM ---------- Previous post was at 11:29 AM ----------
These are the libs that ia32-libs pulls in that are present in Ubuntu 13.10. This should be equivalent to install ia32-libs in Ubuntu 12.04:
$ sudo apt-get install lsb-release lib32gcc1 libc6-i386 lib32z1 lib32stdc++6 lib32bz2-1.0 lib32ncurses5
Click to expand...
Click to collapse
jjchico said:
Shouldn't it be
Code:
./adb
./fastboot
Or have you added the sdk to your path?
I guess the compilation process will need the sdk. How does it find the sdk? Do you need to provide the path anywhere?
Thanks for the great tuto.
Click to expand...
Click to collapse
Updated original post.
Sent from my GT-I8730 using Tapatalk
Thanks. Just note the missing double quotes in the export PATH.
Enviado desde mi GT-I9000 mediante Tapatalk
jjchico said:
Thanks. Just note the missing double quotes in the export PATH.
Enviado desde mi GT-I9000 mediante Tapatalk
Click to expand...
Click to collapse
Haha lol sorry. I was very sleepy when I updated last night.
Updated post.
My repo sync is finished with 65 out of 401 projects. ia32-libs now okay thanks to you @jjchico.
Sent from my GT-I8730 using Tapatalk
I get this
[email protected]:~/android/cm-10.2$ repo init -u git://github.com/CyanogenMod/android.git -b cm-10.2
No command 'repo' found, did you mean:
Command 'repro' from package 'repro' (universe)
Command 'repl' from package 'nmh' (universe)
Command 'repl' from package 'mailutils-mh' (universe)
Command 'rep' from package 'rep' (universe)
repo: command not found
[email protected]:~/android/cm-10.2$
Any ideas? All seemed good before that
Bazzan
Check that repo is in the bin folder in your user main folder.
Check that repo is executable
chmod a+x ~/bin/repo
Enviado desde mi GT-I9000 mediante Tapatalk
"6. Building CM (yay!)"
"In order to make a working build, you have to get the proprietary files (mainly device build files and drivers) for the device."
so how do I get the propriety files and where do I put them? ADB from your phone?
After this you direct us to prebuilt apps so it appears there is a step missing unless I am pulling proprietary files down from KINGbabasula's Github
Bazzan
bazzan said:
"6. Building CM (yay!)"
"In order to make a working build, you have to get the proprietary files (mainly device build files and drivers) for the device."
so how do I get the propriety files and where do I put them? ADB from your phone?
After this you direct us to prebuilt apps so it appears there is a step missing unless I am pulling proprietary files down from KINGbabasula's Github
Bazzan
Click to expand...
Click to collapse
Yeah, the files are located somewhere in KINGbabasula's github. If you want to use ADB then refer to the text file located in android_device_samsung_expresslte.
Or if you want to download the files themselves, do this in a terminal:
Code:
mkdir proprietary
cd proprietary
git clone https://github.com/KINGbabasula/proprietary_vendor_samsung.git
The files will be located in proprietary/proprietary_vendor_samsung/expresslte.
Sent from my GT-I8730 using Tapatalk
Finally got build going. Thanks for the tutorial @aureljared. You were not kidding when you said takes a while. Not too sure where to from here. Welcome suggestions if anyone wants me to try anything
Bazzan
URGENT
Before proceeding to build any more ROMs, let me ask some questions.
What toolchain for building the kernel are you using? Toolchains that might work are arm-eabi-4.4.3 upwards or linaro 4.4.3 upwards.
What is your configuration for the kernel? It is written to a file called ".config" insinde the kernel source.
Have you applied any kind of patch to the code before compiling? If so, what?
Click to expand...
Click to collapse
Thank you for your time. Your answers to the above questions will be highly appreciated and will be of utmost importance. There is also a good chance that we might build a proper kernel with your reports!
:good: :victory:
Sent from my GT-I8730 using Tapatalk
aureljared said:
URGENT
Before proceeding to build any more ROMs, let me ask some questions.
What toolchain for building the kernel are you using? Toolchains that might work are arm-eabi-4.4.3 upwards or linaro 4.4.3 upwards.
What is your configuration for the kernel? It is written to a file called ".config" insinde the kernel source.
Have you applied any kind of patch to the code before compiling? If so, what?
Thank you for your time. Your answers to the above questions will be highly appreciated and will be of utmost importance. There is also a good chance that we might build a proper kernel with your reports!
:good: :victory:
Sent from my GT-I8730 using Tapatalk
Click to expand...
Click to collapse
No toolchain experience at all. Just substituted kernels from elsewhere. Maybe if you are leaning toward Linaro, I should find myself a tutorial for arm-eabi-4.4.3 upwards and give that a go. then we can cover more ground.
Bazzan
bazzan said:
No toolchain experience at all. Just substituted kernels from elsewhere. Maybe if you are leaning toward Linaro, I should find myself a tutorial for arm-eabi-4.4.3 upwards and give that a go. then we can cover more ground.
Bazzan
Click to expand...
Click to collapse
Sure.
I'm not saying that I'm relying on Linaro now, it's just that Linaro is a toolchain developed by a consortium of technology companies including Samsung that aims to build Linux kernels that perform extremely well on mobile devices.
CM 10.2 uses Linaro 12.09, I think.
I tried building with Linaro a couple of days ago but make threw me some errors, the most confusing being something like this
Code:
make [cypress_touchkeys.o] *** Error 2
I don't even know what Cypress is.
Sent from my GT-I8730 using Tapatalk
aureljared said:
Sure.
I'm not saying that I'm relying on Linaro now, it's just that Linaro is a toolchain developed by a consortium of technology companies including Samsung that aims to build Linux kernels that perform extremely well on mobile devices.
CM 10.2 uses Linaro 12.09, I think.
I tried building with Linaro a couple of days ago but make threw me some errors, the most confusing being something like this
Code:
make [cypress_touchkeys.o] *** Error 2
I don't even know what Cypress is.
Sent from my GT-I8730 using Tapatalk
Click to expand...
Click to collapse
Cannot help with Cypress. Some time ago I downloaded a file called GT-I8730_JB_Opensource.zip - not sure where I found it.
It appears to be what is says it is. Within it is a text file called README_Kernel.txt
It has the following
################################################################################
1. How to Build
- get Toolchain
From android git server , codesourcery and etc ..
- arm-eabi-4.4.3
- edit Makefile
edit "CROSS_COMPILE" to right toolchain path(You downloaded).
EX) export CROSS_COMPILE= $(android platform directory you download)/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
Ex) export CROSS_COMPILE=/usr/local/toolchain/arm-eabi-4.4.3/bin/arm-eabi- // check the location of toolchain
$ export ARCH=arm
$ make msm8930_express_defconfig
$ make
2. Output files
- Kernel : arch/arm/boot/zImage
- module : drivers/*/*.ko
3. How to Clean
$ make clean
################################################################################
Way out of my depth but will try sometime next week to give it a go with arm-eabi-4.4.3. Major interview Monday so nothing before then.
Bazzan
bazzan said:
Cannot help with Cypress. Some time ago I downloaded a file called GT-I8730_JB_Opensource.zip - not sure where I found it.
It appears to be what is says it is. Within it is a text file called README_Kernel.txt
It has the following
################################################################################
1. How to Build
- get Toolchain
From android git server , codesourcery and etc ..
- arm-eabi-4.4.3
- edit Makefile
edit "CROSS_COMPILE" to right toolchain path(You downloaded).
EX) export CROSS_COMPILE= $(android platform directory you download)/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
Ex) export CROSS_COMPILE=/usr/local/toolchain/arm-eabi-4.4.3/bin/arm-eabi- // check the location of toolchain
$ export ARCH=arm
$ make msm8930_express_defconfig
$ make
2. Output files
- Kernel : arch/arm/boot/zImage
- module : drivers/*/*.ko
3. How to Clean
$ make clean
################################################################################
Way out of my depth but will try sometime next week to give it a go with arm-eabi-4.4.3. Major interview Monday so nothing before then.
Bazzan
Click to expand...
Click to collapse
That's from Samsung. It contains the kernel source as you already have seen
It's stock 3.4.0 so I don't know if it will work with CM :good:
Sent from my GT-I8730 using Tapatalk
Quote from jt1134:
jt1134 said:
I use the d2 family kernel source.
For stock ROMs and CM10, you can use the source and ramdisk provided by samsung.
For CM10.1 or higher, you'll have to get your hands very dirty. IMO the easiest route would be to port the missing drivers from stock samsung source to the msm8930-common kernel, and modifying it to work with them. This is how I did it for the I437 : http://review.cyanogenmod.org/#/c/47947/ . You may then use the serrano device trees as a template once the kernel is ready.
Click to expand...
Click to collapse
Updated first post with this info.
Sent from my GT-I8730 using Tapatalk

[REQUEST] LG h840 custom rom

Can anyone make a custom rom for that phone? Like lineage os?!
Yes please, I dont understand how is that there are many roms for h850, for example, and there is absoloutely nothing for h840
I'm waiting for a custom ROM too... Nothing for H840 even if it is similar to G5 and has bootloader unlocked. Why this?
I asked the dev of Fulmics Rom if it would not be possible to build a rom for the H840 since I have used his rom's before and they were brilliant. Got some snotty reply from a newish user which kinda put me off. This is not the XDA I used to love and support. It's a pity I don't have the time to dabble in personal projects else I would put something together to do this.
How can we contact a developer or who do we have to talk to?
cornelha said:
I asked the dev of Fulmics Rom if it would not be possible to build a rom for the H840 since I have used his rom's before and they were brilliant. Got some snotty reply from a newish user which kinda put me off. This is not the XDA I used to love and support. It's a pity I don't have the time to dabble in personal projects else I would put something together to do this.
Click to expand...
Click to collapse
The problem is the G5 has many variants with different chipsets or additional HW/firmware features. You cannot create a generic ROM across all of them so they choose the ones they want to support. Also you need an unlocked bootloader to apply a custom ROM and only 3 of the variants have been unlocked.
lywyn said:
The problem is the G5 has many variants with different chipsets or additional HW/firmware features. You cannot create a generic ROM across all of them so they choose the ones they want to support. Also you need an unlocked bootloader to apply a custom ROM and only 3 of the variants have been unlocked.
Click to expand...
Click to collapse
The H840 bootloader unlock is supported. The guide here explains all steps required to unlock, root and install TWRP. Check, Check and Check. The Fulmics dev has been doing this for quite some time and definitely knows how to put together a rom which will flash different kernels for different devices.
I have been around XDA for ages, built some roms back in the day so I understand exactly what is required. It is just the attitude of users that has changed over time that puts me off from pursuing a way to get a rom on this device. I don't feel like being harassed by people who do not take the time to notice the "Senior Member" badge, which basically means I am not a noob.
cornelha said:
The H840 bootloader unlock is supported. The guide here explains all steps required to unlock, root and install TWRP. Check, Check and Check. The Fulmics dev has been doing this for quite some time and definitely knows how to put together a rom which will flash different kernels for different devices.
I have been around XDA for ages, built some roms back in the day so I understand exactly what is required. It is just the attitude of users that has changed over time that puts me off from pursuing a way to get a rom on this device. I don't feel like being harassed by people who do not take the time to notice the "Senior Member" badge, which basically means I am not a noob.
Click to expand...
Click to collapse
Dear Senior Badge Owner, I'm sorry I was trying to be helpful.
It's people like you that put me of XDA. So you don;t like people harassing your expertise, go make your own ROM
*Plus* senior just means you've been a member a while, not that you're an expert or important. So assuming the senior = knowledgable is not the case.
lywyn said:
Dear Senior Badge Owner, I'm sorry I was trying to be helpful.
It's people like you that put me of XDA. So you don;t like people harassing your expertise, go make your own ROM
*Plus* senior just means you've been a member a while, not that you're an expert or important. So assuming the senior = knowledgable is not the case.
Click to expand...
Click to collapse
Oddly enough, I was explaining to you why I asked once and abandoned the effort in the Fulmics thread. Then for some reason you react exactly the opposite of what I expected.
So I am not going to edit the post to make it appear that I am being silly while attempting to be self important but if you click on a member's user name, you can basically see their history. I never said I am important, I am however a professional developer but unfortunately do not have the private capacity to build roms or develop on pet projects like I was able years ago. But back to the history, instead of an instant flame it takes less than 2 minutes to see that a user is/has been an active contributing member of the forum and as such display a level of civility.
cornelha said:
Oddly enough, I was explaining to you why I asked once and abandoned the effort in the Fulmics thread. Then for some reason you react exactly the opposite of what I expected.
So I am not going to edit the post to make it appear that I am being silly while attempting to be self important but if you click on a member's user name, you can basically see their history. I never said I am important, I am however a professional developer but unfortunately do not have the private capacity to build roms or develop on pet projects like I was able years ago. But back to the history, instead of an instant flame it takes less than 2 minutes to see that a user is/has been an active contributing member of the forum and as such display a level of civility.
Click to expand...
Click to collapse
The day when junior members stop with these inane replies aimed at senior members who have been a part of xda for close to 10 years is when I will start contributing again.
Click to expand...
Click to collapse
Yeah click on the name and see you rattle that "Senior" thing before, you like to point your seniority out. And the recent posts asking devs when you going to support H840 for ROMS and Mods, just like a noob. A rule most seniors, or people been around here 10 years, know is to be civil and not harass devs to support your device.
The Fulmics dev has been doing this for quite some time and definitely knows how to put together a rom which will flash different kernels for different devices.
I have been around XDA for ages, built some roms back in the day so I understand exactly what is required.
Click to expand...
Click to collapse
So you know what needs to be done but you're too busy. Yet you expect the fulmics dev to take time out to support your device.
But yes civility should be maintained so I apologise again for insulting your knowledge without doing a background check on your profile.
lywyn said:
Yeah click on the name and see you rattle that "Senior" thing before, you like to point your seniority out. And the recent posts asking devs when you going to support H840 for ROMS and Mods, just like a noob. A rule most seniors, or people been around here 10 years, know is to be civil and not harass devs to support your device.
So you know what needs to be done but you're too busy. Yet you expect the fulmics dev to take time out to support your device.
But yes civility should be maintained so I apologise again for insulting your knowledge without doing a background check on your profile.
Click to expand...
Click to collapse
I distinctly remember simply asking if he plans to develop for the H840, since I have used his roms on my previous LG G5 and they where brilliant (which I pointed out as well) and receiving a snarky comment from a user who couldn't bother to see if I knew anything about anything and pointed out exactly what I pointed out to you. When I 1st joined xda everyone kinda just worked together and as a rule you asked senior members for help (which I have provided numerous times just ask a member @CRACING for example) and didn't go off on a "NO ETA!!!", "DONT BE A N00B!!" or other tangent. I actually posted about this before, attempting to remind everyone that they too were once a noob.
I guess making like minded acquaintances on here is not like it used to be.
Right now I am uploading the source that I was working for some time. If any of you with a decent PC (8gb of ram) have the time and some basic knowledge maybe want to give it a try. I never finished compelling a build with this sources so I don't have any idea how it was going to end if you will going to try and you will have some trouble compelling this I'm afraid I will not going to be able to help you that much keep in mind that I'm not Developer and I have 0 time and a old PC with only 4Gb of ram
source link:
https://drive.google.com/open?id=0B67rXGNB6IzwaU43MWVuTHpKNzA
I suggest to use a LTS version of ubuntu, in this guide I'll be using Ubuntu 16.04
Let's start with a bit of cleaning:
Code:
sudo apt-get remove openjdk-* icedtea-* icedtea6-*
Install java8:
Code:
sudo add-apt-repository ppapenjdk-r/ppa
sudo apt-get update && sudo apt-get install openjdk-8-jdk
Install build tools:
Code:
sudo apt-get install git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven
Install repo:
Code:
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
Edit ~/.bashrc (in this exaple I'm using gedit to do it):
Code:
gedit ~/.bashrc
Add those 2 lines at the bottom of the file (we are going to add also ccache to speed up our build time):
Code:
export PATH=~/bin:$PATH
export USE_CCACHE=1
Save it, close gedit and run:
Code:
source ~/.bashrc
Let's create some folders where we'll be doing the magic:
Code:
mkdir ~/android && cd ~/android
mkdir lineageos && cd lineageos
Initialize the local repo and download the source:
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
repo sync --force-sync
It'll take quite some time, depends on your internet connection.
Once it's done downloading and checking out the files:
source build/envsetup.sh
brunch h840
Sent from my LG-H840 using Tapatalk
Can anyone compile the rom?
Wire1122 said:
Can anyone compile the rom?
Click to expand...
Click to collapse
I dont even have linux lol
This is the easiest part even my dog can install Ubuntu
Sent from my LG-H840 using Tapatalk
I am very curious to see if it would be possible to build this on Windows Subsystem for Linux. It is basically Ubuntu server core running inside of Windows 10. Full apt-get support which means all the tools can be installed without having to designate a seperate machine to it.
Wire1122 said:
Can anyone compile the rom?
Click to expand...
Click to collapse
I will compiler it later that day, around 7pm or 8pm CEST
Need a computer to compile?
<deleted>
---------- Post added at 09:11 PM ---------- Previous post was at 09:09 PM ----------
synescu said:
Right now I am uploading the source that I was working for some time. If any of you with a decent PC (8gb of ram) have the time and some basic knowledge maybe want to give it a try. I never finished compelling a build with this sources so I don't have any idea how it was going to end if you will going to try and you will have some trouble compelling this I'm afraid I will not going to be able to help you that much keep in mind that I'm not Developer and I have 0 time and a old PC with only 4Gb of ram
source link:
https://drive.google.com/open?id=0B67rXGNB6IzwaU43MWVuTHpKNzA
I suggest to use a LTS version of ubuntu, in this guide I'll be using Ubuntu 16.04
Let's start with a bit of cleaning:
Code:
sudo apt-get remove openjdk-* icedtea-* icedtea6-*
Install java8:
Code:
sudo add-apt-repository ppapenjdk-r/ppa
sudo apt-get update && sudo apt-get install openjdk-8-jdk
Install build tools:
Code:
sudo apt-get install git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven
Install repo:
Code:
mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo
Edit ~/.bashrc (in this exaple I'm using gedit to do it):
Code:
gedit ~/.bashrc
Add those 2 lines at the bottom of the file (we are going to add also ccache to speed up our build time):
Code:
export PATH=~/bin:$PATH
export USE_CCACHE=1
Save it, close gedit and run:
Code:
source ~/.bashrc
Let's create some folders where we'll be doing the magic:
Code:
mkdir ~/android && cd ~/android
mkdir lineageos && cd lineageos
Initialize the local repo and download the source:
Code:
repo init -u git://github.com/LineageOS/android.git -b cm-14.1
repo sync --force-sync
It'll take quite some time, depends on your internet connection.
Once it's done downloading and checking out the files:
source build/envsetup.sh
brunch h840
Sent from my LG-H840 using Tapatalk
Click to expand...
Click to collapse
When I try to run "brunch h840"
I get the following message:
Code:
including vendor/cm/vendorsetup.sh
build/core/product_config.mk:249: *** Can not locate config makefile for product "lineage_h840". Schluss.
build/core/product_config.mk:249: *** Can not locate config makefile for product "cm_h840". Schluss.
build/core/product_config.mk:249: *** Can not locate config makefile for product "lineage_h840". Schluss.
Device h840 not found. Attempting to retrieve device repository from LineageOS Github (http://github.com/LineageOS).
Repository for h840 not found in the LineageOS Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
build/core/product_config.mk:249: *** Can not locate config makefile for product "lineage_h840". Schluss.
build/core/product_config.mk:249: *** Can not locate config makefile for product "lineage_h840". Schluss.
** Don't have a product spec for: 'lineage_h840'
** Do you have the right repo manifest?
No such item in brunch menu. Try 'breakfast'
When I ran "brunch" without any arguments I got a list with lineage stuff, I saw lineage_h830-userdebug and lineage_h850-userdebug but no lineage_h840-userdebug
Help me with a IMEI
Well, i have a big problem, sorry for my bad english, i life in peru and i have a h840 but i cant root my phone because only with a european IMEI, lg gift me the archive that i need to root, somebody gift me a european IMEI or What i do for root my lg g5 se?
Thanks
Please, I want to know.
Is there any rom developing project for this phone (h840) at the moment? It looks like nobody is giving care of this!

Categories

Resources