[DEV] CM7 (CyanogenMOD 7, Gingerbread) on Captivate, for Developers only - Captivate Android Development

For developers only!! We are not supporting users yet
The instructions to build Gingerbread are on http://cmsgs.com
If you intend to develop for Captivate, you are welcome to use the instructions to build from source and test/debug/fix. This is not for the average user right now and we ask that you do not post binaries for users because things are unstable and we'd really rather not be dealing with users who've managed to screw up their phones.
There are two steps initially - first is to flash and convert filesystems, update recovery, kernel and CM7, but after that you can just install the CM7 zip if you have done another rebuild as you do development.
There is no easy way of going back to froyo - you would have to flash to stock via Odin one-click and let it blow away the filesystem etc. This is why it is for developers only - it is very alpha and you will find yourself going back and forth a lot.
Warning - this will eat your kitties and possibly your doggies and goldfish too!
-Atin

I dont mean to ruin the thead but, just want to say thanks to all devs working on cm7! And look foward to running cyanogen again after using on my htc magic a couple years ago!

Building right now...I am the excite.

good stuff.
can't wait to see the first gingerbread rom on captivate.

Trusselo said:
i hope your ROM building is better than your sentence building
Click to expand...
Click to collapse
Why the hate? Take a chill pill.....

shawn122 said:
Why the hate? Take a chill pill.....
Click to expand...
Click to collapse
Because he likes to act like a little kid in just about any thread that he can.
There's always gotta be one douchebag.
Anyways, let's keep this thread clean.

That **** isn't needed here. Building now and pretty stoked. Thanks!

I am the excite.

Im interested in trying to impliment voodoo sound. Ive been following this http://code.google.com/p/cyanogenmod7-for-samsung-galaxys/issues/detail?id=16 and it looks like it wouldnt be too hard. Any ideas on how easy or hard this really is or what i could try to do on my end to try to add from supercurio's repo? *see his nexus S thead from the link above*

Thanks in advance for all those who cook up some GREAT ROMS!!!

atinm said:
For developers only, the instructions to build Gingerbread are on http://cmsgs.com
If you intend to develop for Captivate, you are welcome to use the instructions to build from source and test/debug/fix. This is not for the average user right now and we ask that you do not post binaries for users because things are unstable and we'd really rather not be dealing with users who've managed to screw up their phones.
Warning - this will eat your kitties!,
-Atin
Click to expand...
Click to collapse
Getting errors on sync. 'Bad head' not at my computer so can't get exact error

cchant said:
Getting errors on sync. 'Bad head' not at my computer so can't get exact error
Click to expand...
Click to collapse
Try again - seems to be working here.

bamonkey said:
Im interested in trying to impliment voodoo sound. Ive been following this http://code.google.com/p/cyanogenmod7-for-samsung-galaxys/issues/detail?id=16 and it looks like it wouldnt be too hard. Any ideas on how easy or hard this really is or what i could try to do on my end to try to add from supercurio's repo? *see his nexus S thead from the link above*
Click to expand...
Click to collapse
Since all the code is on github, both for voodoo sound and for CM7, you just need kernel/android smarts to pull in the changes. Clone the repos, take what you need . . . sorry I can't help more, I haven't looked at voodoo sound but there are others who have that could help I'm sure.

cchant said:
Getting errors on sync. 'Bad head' not at my computer so can't get exact error
Click to expand...
Click to collapse
Error in line 1380 of project.py, in GetHead fd = open(path, 'rb')

I got this error.
Code:
error: revision refs/heads/master in manifests not found

I got both of those. Clean repo

ballz0iron said:
Error in line 1380 of project.py, in GetHead fd = open(path, 'rb')
Click to expand...
Click to collapse
this is an error with repo/your machine, not CM7. try syncing again after a while (possibly after a reboot) or clearing out the folder (including your .repo folder) and trying again

ih4ckback said:
I got this error.
Code:
error: revision refs/heads/master in manifests not found
Click to expand...
Click to collapse
Actually I should clarify, I got that error trying to init the GB initial flash repo. Any assistance? I need to start there since I don't have it or do I not really need it?

ih4ckback said:
Actually I should clarify, I got that error trying to init the GB initial flash repo. Any assistance? I need to start there since I don't have it or do I not really need it?
Click to expand...
Click to collapse
Sorry guys - there should be a -b gingerbread on the repo init -u git://github.com/teamhacksung/android.git -b gingerbread, I've fixed the wiki page with the instructions for the initial flash.

atinm said:
Sorry guys - there should be a -b gingerbread on the repo init -u git://github.com/teamhacksung/android.git -b gingerbread, I've fixed the wiki page with the instructions for the initial flash.
Click to expand...
Click to collapse
I seeeeeee. Syncing now lol.

Related

Tutorial on compiling AOSP 2.X for the HTC hero

Hey everyone, well, ironically, I'm asking for help . I've wanted to create a AOSP ROM, but I can't find a guide on getting AOSP to the Sprint Hero. Is there a step by step guide for compiling it, with all the config files needed? Thanks, I really would appreciate it, and I'm sure you'll appreciate the future ROM's of mine too .
EXTREMELY tempted to post a lmgtfy
justinisyoung said:
EXTREMELY tempted to post a lmgtfy
Click to expand...
Click to collapse
Uhh... I will literally scream if it's on google. I went through, so many pages googling it. I have compiled android before, yes. But not for the hero.
This is what i have been trying to make work.
http://android.modaco.com/index.php?s=&showtopic=301857&view=findpost&p=1179830
Its only a peice of the puzzle. I havent been able to do much with it, I wasnt able to find where I needed to shove libcamera for our hw to get past an error.
PM Darch....
kkruse said:
This is what i have been trying to make work.
http://android.modaco.com/index.php?s=&showtopic=301857&view=findpost&p=1179830
Its only a peice of the puzzle. I havent been able to do much with it, I wasnt able to find where I needed to shove libcamera for our hw to get past an error.
Click to expand...
Click to collapse
what make errors have you been receiving. sometimes when you compile using that vendor tree some of the libs don't get pushed into the target.
I posted a "vendor overlay" ZIP for our CDMA hero elsewhere on this site (it's the LoX GSM hero overlay with edits for heroc plus some extra libs, etc, for 2.1), I was initially hoping for some feedback on it from some of the other devs. I was having the same issues darch mentions where some of the files don't copy over during the build so you just have to copy them into the target as the errors come up. Search my userID plus "vendor" and "voodoo" and it should come up.
5tr4t4 said:
I posted a "vendor overlay" ZIP for our CDMA hero elsewhere on this site (it's the LoX GSM hero overlay with edits for heroc plus some extra libs, etc, for 2.1), I was initially hoping for some feedback on it from some of the other devs. I was having the same issues darch mentions where some of the files don't copy over during the build so you just have to copy them into the target as the errors come up. Search my userID plus "vendor" and "voodoo" and it should come up.
Click to expand...
Click to collapse
you could do that to fix it... or we can fix the unzip scripts, because that is the root of all the problems in which the camera libs aren't making it to the target.
Btw, i'm gunna check out your vendor overlay. sounds like it'll help people compile cyanogenmod a bit more eaily.
darchstar said:
you could do that to fix it... or we can fix the unzip scripts, because that is the root of all the problems in which the camera libs aren't making it to the target.
Btw, i'm gunna check out your vendor overlay. sounds like it'll help people compile cyanogenmod a bit more eaily.
Click to expand...
Click to collapse
I never investigated it very deeply. If you know it's the unzip step, that would be great to have it fixed. BTW, there two extract-files.sh in my overlay, one that pulls needed files from the device, and another that pulls them from a ROM (came in handy at one point). I'm still not clear about how much variability there is with libs, etc, from version to version, you would know better.
Finally, the kernel zImage included is just Toast's .29 that I built from scratch the day I posted the overlay. There's probably a newer version now...and I assume you can just package with your own boot.img anyway.
darchstar said:
what make errors have you been receiving. sometimes when you compile using that vendor tree some of the libs don't get pushed into the target.
Click to expand...
Click to collapse
sorry to leave ya hanging but I just checked in... let me recompile it again and see.... Ill probably have the results back in the AM. Too tired now

Samsung Captivate Froyo AOSP [In Development]***WE HAVE LIFT OFF*** 04/19/2010

I am Developing an AOSP Froyo build for the Samsung Captivate.
It is being built from the ground up and will be missing many of the
bells and whistles that this community has grown accustom to.
NO samsung or att bloat
although that also means no samsung goodies.
I also won't be including google apps. (this can easily be added in later)
This is not a CM build. although a lot of help comes from that arena.
I feel it would be better to build from a pure AOSP base.
knowing that it was created and fully compatible with the device that
it is being used on.
from there, all the optional extras can be added.
for now it will need to be built from source
here is some reading material for those that don't know how...
http://forum.xda-developers.com/showpost.php?p=6243873&postcount=1
http://help.github.com/
http://www.cmsgs.com/mediawiki/index.php?title=Howto:_Install_the_Android_SDK
http://developer.android.com/sdk/index.html
http://source.android.com/source/index.html
some helpful sources
www.github.com/CyanogenMod
www.github.com/teamhacksung
www.github.com/cmsgs
these are just a few I had immediately available.
IF ANYONE HAS BETTER SUGGESTIONS PLEASE LET ME KNOW AND I WILL ADD IT HERE.
what doesn't work:
cell network...( probably just needed to flash a modem)
wifi...
bluetooth
sdcard (internal & external)
audio
camera
gps
accelerometer/sensors
keymapping incorrect Fixed 4/21/2011
what works:
boots up
most apps that I had installed (I didn't wipe data so it kept all my apps)
live wallpapers
crazy fast graphics (next time I will run some benchmarks to compare)
the dim settings for brightness was a TON dimmer than stock (most likely better on battery)
touchscreen very responsive/accurate.
I am looking for any assistance on this. I have a lot that I plan on doing still but I don't have a lot of time to work on it.
So the more help I get the faster it gets done.
HOW TO BUILD FROYO FOR CAPTIVATE
After reading the reference material above
I use Ubuntu 10.04 32bit at ubuntu.com
10.04 is a LTS release (long term support) so even though there are newer releases I would stick to that one.
you will need java5 NOT 6 so if you have 6 installed already you should uninstall it.
(there is a way to have both at the same time but I don't recall the steps at the moment)
Code:
sudo apt-get install sun-java5-jdk
some extra stuff you will need
Code:
sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev valgrind
make sure you are in your home directory (~/ = home directory)
Code:
cd ~/
create a working directory and go into it
Code:
mkdir mydroid
cd mydroid
copy my repo to your computer
Code:
git clone git://github.com/aosp4captivate/froyo.git
once that is done. (takes a while)
download this captivate_update.zip
and this initramfs.zip
Place the captivate_update.zip in the ~/mydroid/froyo folder.
Extract the initramfs folder from the initramfs.zip into ~/mydroid/froyo/device/samsung/captivate
there seems to be a permissions issue transferring from github
for now here is a quick fix for this
Code:
cd ~/mydroid
chmod -R 777 froyo
go into the captivate folder and run unzip script
Code:
cd ~/mydroid/froyo/device/samsung/captivate
. unzip-files.sh
yes that is a period before unzip-files.sh
now from the froyo directory setup the build
Code:
cd ~/mydroid/froyo
. build/envsetup.sh
lunch
select the captivate build
then
Code:
make -j4
I use 4 because my computer can handle 4 Jobs at once
just leave the -j4 off if you have a slow single processor.
this takes a LOOOOOOOONG time
for me an initial build takes about 1 hour.
subsequent builds are faster.
the result is in ~/mydroid/froyo/out/target/product/captivate
this is just off the top of my head so again
IF YOU HAVE ANY BETTER BUILD INSTRUCTIONS PLEASE LET ME KNOW...
Hey Man before you put all of this work in, why dont you make a gingerbread asop rom. I dont see the point in putting all of this work into an outdated os
bpodz34 said:
Hey Man before you put all of this work in, why dont you make a gingerbread asop rom. I dont see the point in putting all of this work into an outdated os
Click to expand...
Click to collapse
why don't you?
bpodz34 said:
Hey Man before you put all of this work in, why dont you make a gingerbread asop rom. I dont see the point in putting all of this work into an outdated os
Click to expand...
Click to collapse
Froyo is easier at this point.. and im sure some people prefer aosp over touchwiz
a.vandelay said:
why don't you?
Click to expand...
Click to collapse
No need to be a ****, just trying to help
bpodz34 said:
Hey Man before you put all of this work in, why dont you make a gingerbread asop rom. I dont see the point in putting all of this work into an outdated os
Click to expand...
Click to collapse
I already addressed this statement in the OP...
a.vandelay said:
why don't you?
Click to expand...
Click to collapse
bpodz34 said:
No need to be a ****, just trying to help
Click to expand...
Click to collapse
please don't clutter this up with this nonsense!!!
An AOSP Froyo build would be an important step for the Captivate community, good luck with your work!
good luck, look forward to it.
Appreciate your work. Good luck.
Awesome. Looking forward to it.
Sent from my liberated Captivate via XDA App.
Good idea ! I can help with testing if you like.
Sent from my SGH-I897 using XDA App
Sign me up for testing I actually am in the minority for working GPS so I can test that
I'm glad to hear that!
I'm in for testing as well if you need help.
Good luck!
Yes please.
And I'm DTT.
Down To Test.
not a troll, or hater, or dev but I thought an asop build was not possible because the touchwiz framework is tied in to deep and no open source drivers..
best of luck to you, im here to help test if needed
Grandelama said:
An AOSP Froyo build would be an important step for the Captivate community, good luck with your work!
Click to expand...
Click to collapse
I fail to understand this statement please explain ?
g0dzilla32 said:
not a troll, or hater, or dev but I thought an asop build was not possible because the touchwiz framework is tied in to deep and no open source drivers..
Click to expand...
Click to collapse
everything is possible , not that I understnad the need for it ...
mnjm9b said:
I was going to get involved with the CM builds but
I feel it would be better to build from a pure AOSP base.
knowing that it was created and fully compatible with the device that
it is being used on.
Click to expand...
Click to collapse
Maybe im misquoting you , and dont get me wrong here , any captivate development is good , but I fail to understand why starting form CM is a bad idea and even why we need to work of ( like fork roms of ) something that was AOSP build for samsung while you already stated that :
mnjm9b said:
the only captivate roms are actually hacks from the samsung builds.
Click to expand...
Click to collapse
we woudl then be makin roms 'ripped ' from CM like sooooo many other phone ..
IMHO , your work is redoing what CM is doing for many phones already , wouldnt it be much easier / not to mention rewarding for the community to just try and build cm 'from source' for the samsung captivate ?
g0dzilla32 said:
not a troll, or hater, or dev but I thought an asop build was not possible because the touchwiz framework is tied in to deep and no open source drivers..
Click to expand...
Click to collapse
Naw, I'm running an AOSP build myself right now. While the drivers aren't opensource for the Captivate, do you remember that there is a little phone called the Nexus S that has almost IDENTICAL hardware? Everything from the Nexus is opensource (pretty sure...) and the drivers are compatible with our Captivates. The only thing that we have that they don't is the second SD Card, which is an easy hack-in, and the audience noise-canceling mic (also easy, as the Nexus 1 has the same mic/chip.)
did the OP's cappy blow up or something, the accounts disabled >,> ~inches back~ joke aside, if you do have any thing needed testing give me a shout looking for something built off the cappys them selfs to though I must admit there is a (explicit) ton of roms for nomage as it is from the vibs source that are all well and good. Good luck, well back to flashing

Guide to build cm10 needed

Hi guys i'm getting an atrix to help out and play with. I don't have att instead i have Verizon so this is just for fun. I have a Galaxy Nexus and the forums are full of info to building roms and kernels so i figured i would start my own cm10 rom for myself and if at some point down the road others. I found this link http://wiki.jeago.com/index.php?title=Build_for_olympus and desided i would give it a go and at least have a base. However i ran into a problem, When i get down to the "lunch" command i do not have "cm_olympus-userdebug" listed? can anyone steer me on the right path or is this an old Link that has since been pulled? Thanks guys
Doesn't matter if it's not listed. As long as you have synced the right repo, "lunch cm_olympus-userdebug" still works as expected.
I think it pulls the list from the official CM10 repo (which does not include olympus), but the command will work with the files you've synced (which does include olympus).
quetzalcoatl2435 said:
Doesn't matter if it's not listed. As long as you have synced the right repo, "lunch cm_olympus-userdebug" still works as expected.
I think it pulls the list from the official CM10 repo (which does not include olympus), but the command will work with the files you've synced (which does include olympus).
Click to expand...
Click to collapse
Hi. Correct me if I'm wrong, but I guess that the official CM repositories doesn't have branches later than CM7 for the olympus. You have to get them somewhere else for CM9 and later.
Yes, that's what I said. The official CM10 repo does not include olympus.
Get them here: https://github.com/epinter/android/tree/jb-olympus
kicker22004 said:
Hi guys i'm getting an atrix to help out and play with. I don't have att instead i have Verizon so this is just for fun. I have a Galaxy Nexus and the forums are full of info to building roms and kernels so i figured i would start my own cm10 rom for myself and if at some point down the road others. I found this link http://wiki.jeago.com/index.php?title=Build_for_olympus and desided i would give it a go and at least have a base. However i ran into a problem, When i get down to the "lunch" command i do not have "cm_olympus-userdebug" listed? can anyone steer me on the right path or is this an old Link that has since been pulled? Thanks guys
Click to expand...
Click to collapse
I used "generic_olympus-userdebug" for the lunch command and afterwards the "cm_olympus-userdebug" appears among the options.
---------- Post added at 08:38 PM ---------- Previous post was at 08:30 PM ----------
quetzalcoatl2435 said:
Yes, that's what I said. The official CM10 repo does not include olympus.
Get them here: https://github.com/epinter/android/tree/jb-olympus
Click to expand...
Click to collapse
Ooops, read too fast, my apologies...
I forked vendor, device and kernel repositories from CyanogenMod-Atrix github, but these are pre-alpha repos with known (and unknown) bugs. (BTW, though it compiles fine, the recovery won't install the resulting zip on my Atrix, still figuring out what's wrong)
ok now i'm getting way lost here. how do i go about adding this to my current files?
ok guys i just noticed that the link i was following had me pulling ICS not JB...wow i'm slow today.
Wiped everything and starting fresh. anyone have a guide to pull the needed build. Atrix4g18 sugested i needed https://github.com/epinter/android/branches and jb-olympus-new. I'm going to start over and this time pull repo init -u git://github.com/CyanogenMod/android.git -b jellybean instead of the ICS and then i should be at least closer to what i need.
kicker22004 said:
ok now i'm getting way lost here. how do i go about adding this to my current files?
ok guys i just noticed that the link i was following had me pulling ICS not JB...wow i'm slow today.
Wiped everything and starting fresh. anyone have a guide to pull the needed build. Atrix4g18 sugested i needed https://github.com/epinter/android/branches and jb-olympus-new. I'm going to start over and this time pull repo init -u git://github.com/CyanogenMod/android.git -b jellybean instead of the ICS and then i should be at least closer to what i need.
Click to expand...
Click to collapse
I'm not sure how to use the default.xml file in the link that quetzalcoatl2435 gave us, but in my case I created a local_manifest.xml file (from here) with the extra repos I needed and copied to .repo/local_manifest directory in the source tree root.
EDIT:
I think I got it, someone who really knows please confirm: instead of the deffault CM repo init, issue this: repo init -u git://github.com/epinter/android.git -b jb-olympus-new. Is that right?
OK for the time being i'm going to start rebuilding my repo again. i scratched everything so have to download the JB repo now. anyone with more info to using the Default.xml file or where it should be placed? Thanks guys
After looking at the Default.xml it seems he just added the Atrix to the list so i would assume i will copy paste and rerun repo sync? should i copy first then run repo sync or no?
All i have to say is thank you Verizon LTE with unlimited data and free tether LOL.
Don't use jb-olympus-new. That's for the new kernel and does not have the proprietary files included. You need to search for and add them manually.
Use this:
repo init -u git://github.com/epinter/android.git -b jb-olympus
repo sync
Assuming you've already installed all pre-requisites correctly, next do:
. build/envsetup.sh
lunch cm_olympus-userdebug
brunch olympus
Sent from my MB860 using xda app-developers app
kicker22004 said:
ok now i'm getting way lost here. how do i go about adding this to my current files?
ok guys i just noticed that the link i was following had me pulling ICS not JB...wow i'm slow today.
Wiped everything and starting fresh. anyone have a guide to pull the needed build. Atrix4g18 sugested i needed https://github.com/epinter/android/branches and jb-olympus-new. I'm going to start over and this time pull repo init -u git://github.com/CyanogenMod/android.git -b jellybean instead of the ICS and then i should be at least closer to what i need.
Click to expand...
Click to collapse
No need to pull CyanogenMod's github. It's included in epinter's github. No need to mess with the xml files either, just repo sync, lunch, and brunch.
kicker22004 said:
Hi guys i'm getting an atrix to help out and play with. I don't have att instead i have Verizon so this is just for fun. I have a Galaxy Nexus and the forums are full of info to building roms and kernels so i figured i would start my own cm10 rom for myself and if at some point down the road others. I found this link http://wiki.jeago.com/index.php?title=Build_for_olympus and desided i would give it a go and at least have a base. However i ran into a problem, When i get down to the "lunch" command i do not have "cm_olympus-userdebug" listed? can anyone steer me on the right path or is this an old Link that has since been pulled? Thanks guys
Click to expand...
Click to collapse
Just curious. Is this ROM going to be public?
quetzalcoatl2435 said:
No need to pull CyanogenMod's github. It's included in epinter's github. No need to mess with the xml files either, just repo sync, lunch, and brunch.
Click to expand...
Click to collapse
I think for the most compatible with the new kernel will need to add 2 more branches
github.com/CyanogenMod-Atrix/android_device_motorola_olympus.git
github.com/CyanogenMod-Atrix/android_vendor_motorola_olympus.git
Xerox98 said:
Just curious. Is this ROM going to be public?
Click to expand...
Click to collapse
How about you read the other threads before asking?
mapkel said:
I think for the most compatible with the new kernel will need to add 2 more branches
github.com/CyanogenMod-Atrix/android_device_motorola_olympus.git
github.com/CyanogenMod-Atrix/android_vendor_motorola_olympus.git
Click to expand...
Click to collapse
No need to add android_device_motorola_olympus.git to jb-olympus-new. It's already included by epinter. You only need to add the vendor files.
BTW, I was talking about the jb-olympus branch, not the jb-olympus-new branch.
The new branch is not for daily use (yet).
Thanks you guys. I had a github time out earlier so will be starting fresh here soon.
Sent from my Galaxy Nexus using xda app-developers app
And the countdown begins..... I have another 8gb of ram i removed thinking it was causing Build issues for my Gnex (turns out it was missing some blobs...oops) i'll be putting that back in before i start building. Going to start with a clone copy of this rom, Anyone know what happens with the new kernel and this? Yes i know it's alpha but i'm testing so that's what i need to focus on.
ok guys i went over this a few times and I found a few errors that i was able to fix by installing packages that were missing (13.04 64-bit btw). But i'm stuck on this one. anyone have any idea? this is after the Brunch olympus command. After more hunting on google seems i might need (sudo apt-get install libxml2-utils) so starting the Brunch again we'll see.
ravilov said:
How about you read the other threads before asking?
Click to expand...
Click to collapse
? I have pritty well read every post in the Atrix forum. I just wanted to know if this ROM would be made public when ready, so that there is another CM10 rom apart from Epinters.
this is from epinter's source. The first post says that i'm building this for fun and to help out if i can, and at some point down the road MAYBE be a public rom, my skills are limited and i don't feel at this stage that i'm rdy to release a ROM to the public, that's not saying i won't..just not soon. As for now i'm thinking i should be building this on 12.04 LTS because i keep running into Compiling errors... now i've got another one that's im trying to figure out.
Anyone have any idea's what i'm missing now lol.

Porting ROMs

How does one port ROMs to another phone? I'm looking to try and port Xylon to the Find 5.
Sent from my X909 using xda app-developers app
it's really not that difficult. just have to adjust some overlays, change some stuff in vendor and maybe grab the camera from CM if the changes haven't been made to that ROM.
if you are building from source:
Find the 4.2.2 source code of the ROM you want to port
Get the manifest.
Add the CM10.1 device/kernel tree and proprietary libs in the .repo/local_manifest/roomservice.xml
sync all the repos
(do whatever the source might need you to set up: EG paranoid android, need you to setup your device properly in vendor/pa/* files)
compile. Fix any problems(maybe missing files, etc)
you could try a non-4.2.2-based ROM to port, but you'll run into more incompatibility issues to fix
mbh87 said:
it's really not that difficult. just have to adjust some overlays, change some stuff in vendor and maybe grab the camera from CM if the changes haven't been made to that ROM.
Click to expand...
Click to collapse
So would you say just use this
http://forum.xda-developers.com/showthread.php?t=2232773
And the CM10 for our Oppo?
Sent from my X909 using xda app-developers app
newbcake said:
So would you say just use this
http://forum.xda-developers.com/showthread.php?t=2232773
And the CM10 for our Oppo?
Sent from my X909 using xda app-developers app
Click to expand...
Click to collapse
No, build from source since it's available.
mbh87 said:
No, build from source since it's available.
Click to expand...
Click to collapse
You mean Oppo's source or AOSP from Google? I presume AOSP
Sent from my X909 using xda app-developers app
assuming this is the one you want to port (it is using 4.2.2, so hopefully it'll be easier)
read their README: https://github.com/XYAOSP/buildscripts
use repo and checkout this manifest
https://github.com/XYAOSP/platform_manifest/blob/jb4.2/default.xml
use repo and sync all the repos
then see how I get the device specific files here? do the same https://git.ngvincent.com/projects/oppo-x909-cm10/wiki/Build#Get-device-specific-sources-and-build
then follow whatever instructions needed to build. if it uses CM based building (which i think they do here, then do
. build/envsetup.sh && brunch
select the find5 entry (if it;s not there, then do lunch, select find5, mka)
wait for it to fail. read error message. fix error message. repeat last 3 steps .. Google is your friend... learn to love google
---------------------------------------
you should try building CM10.1 first. there will hopefully be no errors, and you learn how to use brunch/lunch/breakfast / etc
https://git.ngvincent.com/projects/oppo-x909-cm10/wiki/Build
paperWastage said:
assuming this is the one you want to port (it is using 4.2.2, so hopefully it'll be easier)
read their README: https://github.com/XYAOSP/buildscripts
use repo and checkout this manifest
https://github.com/XYAOSP/platform_manifest/blob/jb4.2/default.xml
use repo and sync all the repos
then see how I get the device specific files here? do the same https://git.ngvincent.com/projects/oppo-x909-cm10/wiki/Build#Get-device-specific-sources-and-build
then follow whatever instructions needed to build. if it uses CM based building (which i think they do here, then do
. build/envsetup.sh && brunch
select the find5 entry (if it;s not there, then do lunch, select find5, mka)
wait for it to fail. read error message. fix error message. repeat last 3 steps .. Google is your friend... learn to love google
---------------------------------------
you should try building CM10.1 first. there will hopefully be no errors, and you learn how to use brunch/lunch/breakfast / etc
https://git.ngvincent.com/projects/oppo-x909-cm10/wiki/Build
Click to expand...
Click to collapse
Is there something wrong with the Xylon repo? I keep getting this:
Code:
Cannot fetch htc-msm8960/[some path here]
newbcake said:
Is there something wrong with the Xylon repo? I keep getting this:
Code:
Cannot fetch htc-msm8960/[some path here]
Click to expand...
Click to collapse
use google and your own intuition to help you (this is why you should build the Cm10.1 ROM first.... the knowledge you gain will help you)
most likely either github is down, or the path referencing it is invalid, or something......
but the question is, do we need htc-msm8960? most likely no, since the oppo kernel is self contained
^^^ all this comes from experience.... seriously, go build cm10.1 for the find 5 first
paperWastage said:
use google and your own intuition to help you (this is why you should build the Cm10.1 ROM first.... the knowledge you gain will help you)
most likely either github is down, or the path referencing it is invalid, or something......
but the question is, do we need htc-msm8960? most likely no, since the oppo kernel is self contained
^^^ all this comes from experience.... seriously, go build cm10.1 for the find 5 first
Click to expand...
Click to collapse
we probably dont need it, but a lot of ROMs make you download ALL their devices and corresponding files.
Well, I removed the HTC lines from manifest.xml (maybe not a good idea?) but anyway, it finished syncing after.
mbh87 said:
we probably dont need it, but a lot of ROMs make you download ALL their devices and corresponding files.
Click to expand...
Click to collapse
yeah... it's a problem with a simple fix.... if the error was something like "packages_mms_app", then it's a more serious problem.....
does removing that repo mask a larger problem? that's why I'm pushing for OP to start small first by building CM10.1, and learn the environment (instead of posting every single problem he encounters here, and asks for help)
I've only started playing with android source code in March/early april... and these are things that I've learned/picked up since then.
paperWastage said:
yeah... it's a problem with a simple fix.... if the error was something like "packages_mms_app", then it's a more serious problem.....
does removing that repo mask a larger problem? that's why I'm pushing for OP to start small first by building CM10.1, and learn the environment (instead of posting every single problem he encounters here, and asks for help)
I've only started playing with android source code in March/early april... and these are things that I've learned/picked up since then.
Click to expand...
Click to collapse
Understood. I'm syncing up the Cm10 now. Thanks!
Is is best to do this all on Linux, Mac, or Windows?
It isn't possible to do it on windows so one of the other two.
mbh87 said:
It isn't possible to do it on windows so one of the other two.
Click to expand...
Click to collapse
Cool thanks. I just "finished" my compile on my Mac 10.7.8 but there was something about gcc422 not found. I have the latest XCode installed along with Dev tools. So can anyone help cause I didn't see anything with a Google.
I presume a clean Ubuntu is preferred
Sent from my X909 using xda app-developers app
newbcake said:
Cool thanks. I just "finished" my compile on my Mac 10.7.8 but there was something about gcc422 not found. I have the latest XCode installed along with Dev tools. So can anyone help cause I didn't see anything with a Google.
I presume a clean Ubuntu is preferred
Sent from my X909 using xda app-developers app
Click to expand...
Click to collapse
it's preferable
even on ubuntu, you still have to get specific packages: need oracle version of jdk, not openjdk, need to remove some incompatible stuff
heres a guide for ubuntu 12.10
https://git.ngvincent.com/projects/oppo-x909-cm10/wiki/Android-setup
paperWastage said:
it's preferable
even on ubuntu, you still have to get specific packages: need oracle version of jdk, not openjdk, need to remove some incompatible stuff
heres a guide for ubuntu 12.10
https://git.ngvincent.com/projects/oppo-x909-cm10/wiki/Android-setup
Click to expand...
Click to collapse
I tried compiling CM10, and am even having problems with that. Google did not seem to help for this. Here is what I did:
I did the mka, then mka otapackage, and NOTHING is appearing. No zips at all.
Code:
hardware/qcom/media/mm-video/vidc/vdec/src/omx_vdec.cpp:9925:138: warning: format '%d' expects argument of type 'int', but argument 5 has type 'OMX_U32 {aka long unsigned int}' [-Wformat]
make: *** wait: No child processes. Stop.
That is the last fine before it gives me control of terminal again.
newbcake said:
I tried compiling CM10, and am even having problems with that. Google did not seem to help for this. Here is what I did:
I did the mka, then mka otapackage, and NOTHING is appearing. No zips at all.
Code:
hardware/qcom/media/mm-video/vidc/vdec/src/omx_vdec.cpp:9925:138: warning: format '%d' expects argument of type 'int', but argument 5 has type 'OMX_U32 {aka long unsigned int}' [-Wformat]
make: *** wait: No child processes. Stop.
That is the last fine before it gives me control of terminal again.
Click to expand...
Click to collapse
a few tips
typically, compilers only stop when there's an error, not warnings (unless you set flags like -Werror )
compiling is parallelized.... let's say you have a quad core, you can compile 4 projects simultaneously... when you have an error on the first make file, it stops.... but the other 3 projects will continue compiling and outputting logs until they're done (then the scheduler sees the first make file has an error, doesn't execute any more make builds and halts), so the last log file/line might not be showing you the error
For CM10.1, find5 is official now... you can just use brunch instead of breakfast/lunch & mka
paperWastage said:
a few tips
typically, compilers only stop when there's an error, not warnings (unless you set flags like -Werror )
compiling is parallelized.... let's say you have a quad core, you can compile 4 projects simultaneously... when you have an error on the first make file, it stops.... but the other 3 projects will continue compiling and outputting logs until they're done (then the scheduler sees the first make file has an error, doesn't execute any more make builds and halts), so the last log file might not be showing you the error
For CM10.1, find5 is official now... you can just use brunch instead of breakfast & mka
Click to expand...
Click to collapse
In essence, I scour the log for errors?
I just presumed as CM10 already existed on the Oppo Find 5, it would be an error-free compile.
newbcake said:
In essence, I scour the log for errors?
I just presumed as CM10 already existed on the Oppo Find 5, it would be an error-free compile.
Click to expand...
Click to collapse
you could source the log for errors
or just run the compile script again and again.... the scheduler will continue building other packages, but it'll come to a point where it can't build anything else without that broken package.... and hence, the error in the log will be obvious(since everything else is already built, no logs from them)
it should be an error-free compile, but sometimes things could happen (a small tweak in package/A gives some problems when compiling with package/B)
I would say, most likely there's some build package incompatibility in your system.

[GUIDE] How to Compile Your Own CM11/CM12/AOSP Kernel

Hi guys, long time no post. I have updated this guide on how to build kernels for Falcon so that anyone can learn! It's pretty simple once you get the hang of it. So yeah, here we go!
Prerequisites:
- You must have a Linux firmware running on your computer (I suggest Builduntu because you can skip the next one [build environment setup])
- Build environment setup (Put the this in terminal and follow instructions)
- Patience and a heart willing to learn
- You need to know the languages C, C++, Java, Ruby, Python... NOT! You don't need to know ANY coding languages.
[MOTIVATIONAL SPEECH]
Truth be told, when I first started out developing, I knew NO coding languages except for HTML and a little bit of Java. Both have nothing to do with kernels! I actually learned how to do this when I suffered from a concussion. So if you really want to learn how to kernel dev and you give up halfway, just know that a 14/15 year old kid could do it..
[/MOTIVATIONAL SPEECH]
Click to expand...
Click to collapse
WARNING: I am not responsible for any damages to your phone or computer or pet unicorn. When you modify the wrong partitions, set too many jobs for your compiler, break your keyboard out of frustration etc., that is not anyone's fault but yours. Or your pet unicorn.
Your Personal Handbook to the Following:
- Anything inside "CODE" boxes, type it into your terminal. If you can't find terminal, then press CTRL, ALT, t.
- If I were you, I would write these by hand instead of copying and pasting it because after a certain amount of times, you will remember the linux commands and it will be easier for you to compile more kernels for different devices
- Use this thread as a "Help Me" button. Ask for help!
Click to expand...
Click to collapse
A New Beginning:
Let's start out with something simple, getting the actual code:
Code:
git clone https://github.com/cyanogenmod/android_kernel_motorola_msm8226
This could range from 3 minutes to 2 hours!
Once that's done, open up your file manager and rename the folder (should be android_kernel_motorola_msm8226) to whatever you want. I will refer it as "mykernel".
Click to expand...
Click to collapse
Pokemon!
For this tutorial, we will be using a Sabermod 4.7 toolchain to compile. I WOULD teach you how to compile with 4.8+, but it creates errors that will take even longer for me to write about sooooooooo :fingers-crossed:. Now to get the toolchain:
Code:
git clone https://github.com/SaberMod/android_prebuilts_gcc_linux-x86_arm_sabermod-arm-eabi-4.7
Rename this to whatever you like, but I will be referring this as "toolchain"
Now go into you folder where the kernel source is stored...
Code:
cd mykernel
Click to expand...
Click to collapse
You're Almost There!:
Time to set-up the compiler!
Code:
export CROSS_COMPILE=/home/(insert linux home name here)/toolchain/bin/arm-eabi-
This tells the toolchain that "OK, we want to make ALL this code here into a kernel".
This next line tells it that your defconfig (the toolchain's manual for compiling the kernel) that it's in the arch/arm/configs folder.
Code:
export ARCH=arm
Now to tell the it what the defconfig is!
Code:
make falcon_defconfig
Hehe, now to the hardest part of all...
MuHAHHAHAHa
Click to expand...
Click to collapse
THE HARD (coding) PART
You ready for this? HERE IT IS! TIME TO BUILD THE KERNEL!
Code:
make -j4
Now sit back, relax, and watch the code! Or you could read a book, watch ****, count your fingers, play with your toes...
If you have an error during the waterfall of code, find the part where it actually says *error* (you'll probably have to scroll upwards) and search it on Google or post it here.
Click to expand...
Click to collapse
THE BEST PART
If you manage to get something that says "the kernel zImage is ready" or something like that, that means you've made it!
You have officially compiled your own kernel from source! Now you need to put it in a flashable zip.
Download this file and open it up, but DON'T EXTRACT IT.
Now go to your kernel source then "CTRL + F" and search for "zimage-dtb".
Find it and put it in the "kernel" folder of "FalconKernel - Signed.zip". Then "CTRL + F" and search ".ko".
Copy radio-iris-transport.ko and put it in the system/lib/modules (not pronto) of the zip.
Then find wlan.ko and rename it to pronto_wlan.ko. Copy and paste it in system/lib/modules/pronto of the zip.
Click to expand...
Click to collapse
Now you can put it on your phone and flash it! ​
I will update this in a bit. What feature would you guys want in your kernel? The most votes in the POLL above will be the one I teach you here!
Here I will walk you through on how to add the intelliplug feature made by @faux123
First, fetch my Green Machine kernel source (go into your kernel folder in terminal):
Code:
git fetch https://github.com/YoshiShaPow/green_machine_falcon
Then you could cherry-pick (basically copy) all my cherry picks for intelliplug from my source.
If you do check my source out, you can see there's a little link to a history of commits near the middle of the screen, right above the files/folders. You can see at this page of my features history, you'll see a bunch of commits for intelliplug. I will use those commits and copy it to your own kernel.
This copies the initial coding/first commit of intelliplug!
Code:
git cherry-pick 01a850f
This cherry-picks the remaining commits so that your newly added intelliplug is updated.
Code:
git cherry-pick 6623f2f^..4e1ece7
One more thing though, you need to add the line to compile intelliplug!
Almost all things compiled along with the zImage are in a file called defconfig. What a defconfig does, is tell your machine to build certain modules, kernel objects, drivers, governors, etc.etc.etc.. Now, all of them are found in the folder
arch/arm/configs
Click to expand...
Click to collapse
As stated in the OP, you have to modify the defconfig you use. (CM11 Kernel is falcon_defconfig, Gummy Kernel is msm8226_mmi_defconfig). Open up the corresponding defconfig and add this to ANY line anywhere.
Code:
CONFIG_INTELLI_PLUG=m
Now, for those who are familiar with "y=yes/n=no/m=maybe", you'll see that I specifically told you to put the "m=maybe" one. That's because when you compile the kernel again, right after you're about to start your build. Since you put that "m", the terminal will prompt you with a "y=yes/n=no" question on whether or not you would like to add the following feature. Since you would like to add the feature, put in "y". Later on when you feel more comfortable with adding features to your kernel, you can go back into the defconfig and put it as
Code:
CONFIG_INTELLI_PLUG=y
So that it will compile it without asking, since you have given it an answer.
Now you have officially compiled a "Custom Kernel" and with the knowledge you know, you could create a feature packed one by just kanging (copying one's work/features).
Always remember to
Code:
make clean && make mrproper
after every build to prevent errors and such!
Click to expand...
Click to collapse
I will use this to teach you how to make your own Bash Building scripts (and save time) to make it easier for your development life to flourish... eventually....
Any guide on adding governors or hotplug driver??
Sent from my Moto G using XDA Free mobile app
Best guide but how to add features likes s2w,dt2w etc
Flashhhh said:
Any guide on adding governors or hotplug driver??
Sent from my Moto G using XDA Free mobile app
Click to expand...
Click to collapse
Vote in the poll above! I will make a guide for one or more of the top chosen picks!
Brawn_Sg said:
Best guide but how to add features likes s2w,dt2w etc
Click to expand...
Click to collapse
DT2W and S2W are more complex. They require a few other things (ex. Powersuspend). I'll wait a bit and see what feedback I get before moving forward to something a bit more complex like DT2W, or GPU Overclock.
Can i use make menuconfig?
Krizthian said:
Can i use make menuconfig?
Click to expand...
Click to collapse
Yes you can. Normally when using "make menuconfig", you use the command after making the kernel's defconfig (falcon_defconfig).
Build using Docker
If you're on Linux, take a look at this approach which uses Docker for building CyanogenMod 12.0:
http://forum.xda-developers.com/showthread.php?t=2650345
(Disclaimer: It's written by me)
YoshiShaPow said:
Hi guys, long time no post. I have updated this guide on how to build kernels for Falcon so that anyone can learn! It's pretty simple once you get the hang of it. So yeah, here we go!
WARNING: I am not responsible for any damages to your phone or computer or pet unicorn. When you modify the wrong partitions, set too many jobs for your compiler, break your keyboard out of frustration etc., that is not anyone's fault but yours. Or your pet unicorn.
Now you can put it on your phone and flash it! ​
Click to expand...
Click to collapse
when i was trying to flash cm12 rom in cwm recovery it says error in zip and getting status 1 error , installation aborted ,
pls help im using moto g gpe and when trying to flash from twrp it says error executing updater binary in zip ,
no idea what to do pls help me out
karthik432 said:
when i was trying to flash cm12 rom in cwm recovery it says error in zip and getting status 1 error , installation aborted ,
pls help im using moto g gpe and when trying to flash from twrp it says error executing updater binary in zip ,
no idea what to do pls help me out
Click to expand...
Click to collapse
When you downloaded the anykernel zip, you aren't supposed to extract it. The best way to put the kernel in the zip is to just drag and drop it while IN LINUX. It will not work for windows! Or you could try signing the zip in TWRP (I think there's an option for that somewhere).
YoshiShaPow said:
When you downloaded the anykernel zip, you aren't supposed to extract it. The best way to put the kernel in the zip is to just drag and drop it while IN LINUX. It will not work for windows! Or you could try signing the zip in TWRP (I think there's an option for that somewhere).
Click to expand...
Click to collapse
im not extracting anything , i just downloaded the official cm12 nightly and flashed but didn't workout ,any ideas
karthik432 said:
im not extracting anything , i just downloaded the official cm12 nightly and flashed but didn't workout ,any ideas
Click to expand...
Click to collapse
That has nothing to do with this thread :silly:. You probably have to sign the zip again.
@YoshiShaPow.... i need some help
i compile a kernel for my device and it booted fine but no display....
can you help me in this....
sorry for posting here..my device is Redmi 1s
Luffy.d said:
@YoshiShaPow.... i need some help
i compile a kernel for my device and it booted fine but no display....
can you help me in this....
sorry for posting here..my device is Redmi 1s
Click to expand...
Click to collapse
No problem, I welcome anyone with kernel development questions here! When booted, what do you mean? And if there's no display, how do you know it booted? Also, did you use my anykernel zip? I may be wrong but I don't think it is compatible with all phones.
YoshiShaPow said:
No problem, I welcome anyone with kernel development questions here! When booted, what do you mean? And if there's no display, how do you know it booted? Also, did you use my anykernel zip? I may be wrong but I don't think it is compatible with all phones.
Click to expand...
Click to collapse
yeah it booted bro....i can hear lock unlock sound and even i can hear incoming call ring
i was trying to fix this from a week and found out it not kernel it rom problem ...
my device is build using prebuilt kernel so any compile kernel wont work...but now they are build with this kernel source so compile kernel work
thanks bro...
and one thing bro... i m new to kernel development so how can i optimize kernel
i know about and can add governors and use custom toolchain but i don't know about o2 or o3 optimization etc and all
sorry if i m being too much
great I start today
Luffy.d said:
yeah it booted bro....i can hear lock unlock sound and even i can hear incoming call ring
i was trying to fix this from a week and found out it not kernel it rom problem ...
my device is build using prebuilt kernel so any compile kernel wont work...but now they are build with this kernel source so compile kernel work
thanks bro...
and one thing bro... i m new to kernel development so how can i optimize kernel
i know about and can add governors and use custom toolchain but i don't know about o2 or o3 optimization etc and all
sorry if i m being too much
Click to expand...
Click to collapse
Those changes are a bit more advanced because it will bring build errors. The kernel is already preoptimized with o2 changes. The errors are fixable though. I don't think I'll be able to add an explanation for those in this thread, maybe through pm?
YoshiShaPow said:
Those changes are a bit more advanced because it will bring build errors. The kernel is already preoptimized with o2 changes. The errors are fixable though. I don't think I'll be able to add an explanation for those in this thread, maybe through pm?
Click to expand...
Click to collapse
thanks bro...will pm you when i finish setuping my git
etvtaglios said:
great I start today
Click to expand...
Click to collapse
Go for it bro!!

Categories

Resources