Cyanogenmod 7 (Think Tank, in progress) - HTC Vivid, Raider, Velocity

Hello All,
So I´m all sorts of new at developing for android, and I wanted to open up my thoughts and efforts to the community. I am trying to port CM 7, (eventually 9), and am using the CM Compiler that was developed by LithidCM. I´ve gotten everything up and running, now I just need to figure out how to set up the proper files from the Holiday itself. As I said, this is a work in progress, and any suggestions are very helpful. Right now, the stumbling block is setting up a Holiday/Raider/Vivid repo with the necessary compilation files.
Lets get cooking!
CMCompiler (All credit goes to Lithid CM) http://forum.xda-developers.com/showthread.php?t=1415661

+1 i would love to see cm7 or 9 on my vivid

That CMCompiler wont work for the Vivid
Sent from my SGH-T989 using Tapatalk

Not until there is either a CM repo for the Vivid or I can set up the correct files locally, then I can modify the script for it to look there, rather than the CM repo. Iḿ looking for ways to make it WORK, so anything to that end is appreciated. Either that or work on another method if it looks more promising. I have time, a machine, a device, some knowledge, and the desire, I just want to get together with some other people who can contribute a bit on the knowledge end to HELP get this up and running.

XAviierG said:
That CMCompiler wont work for the Vivid
Sent from my SGH-T989 using Tapatalk
Click to expand...
Click to collapse
That was very insightful.... I'm sure the OP is very thankful for all your help.

I'm already taking care of this
If you're into it, you can download my repo for CM9 here: https://github.com/thecubed/android_device_htc_holiday
I make no promises on timeline, but I do expect to have a teaser video with a few things working at least here in a day or so.

thecubed said:
I'm already taking care of this
If you're into it, you can download my repo for CM9 here: https://github.com/thecubed/android_device_htc_holiday
I make no promises on timeline, but I do expect to have a teaser video with a few things working at least here in a day or so.
Click to expand...
Click to collapse
if you guys want i got a port booting with signal for the amaze almost same device

I too would love to see both CM7 and 9 on the Vivid, however from what i gather CMCompiler is not really going to be the way at it.
I follow alot of Team Haxsung and CM people and they all believe it to be not the best way to help the CM community, rather a way to re brand and take credit.
Further, CMCompiler requires there being a branch, which means that nightlies will be compiled quickly by build bots, if build bots are down or you want to make a nightly KANG you can install the dependencies via the CM wiki and build yourself, which might actually allow you to learn how to build and modify the source rather then having an application spit it out for you
Drew

thecubed said:
I'm already taking care of this
If you're into it, you can download my repo for CM9 here: https://github.com/thecubed/android_device_htc_holiday
I make no promises on timeline, but I do expect to have a teaser video with a few things working at least here in a day or so.
Click to expand...
Click to collapse
AH! I have been using your repo as my source on CMC, but it fails each time because I´m missing some files. which files, well, that´s the step I´m at now. Im stoked your working on this. I´d like to learn how to do this on my own as well, then I´d be happy to put together a step by step from scratch for building from a fresh install of Ubuntu, I think it´s needed.

drewdatrip said:
I too would love to see both CM7 and 9 on the Vivid, however from what i gather CMCompiler is not really going to be the way at it.
I follow alot of Team Haxsung and CM people and they all believe it to be not the best way to help the CM community, rather a way to re brand and take credit.
Further, CMCompiler requires there being a branch, which means that nightlies will be compiled quickly by build bots, if build bots are down or you want to make a nightly KANG you can install the dependencies via the CM wiki and build yourself, which might actually allow you to learn how to build and modify the source rather then having an application spit it out for you
Drew
Click to expand...
Click to collapse
And if you´ve read anything I have written (and what others have added) you would see that the purpose of this post is LEARNING. I´m not a linux guy, but I´m quickly figuring it out, not much help to individuals such as yourself who choose to distract and detract rather than assist and contribute, or at least keep your finger off the ¨submit¨ button.
I posted this thread because there is no working version of CM7 for this device. Lets drop the negativity/whatever and put our efforts and keystrokes to getting this booting.

Some of the amaze builds i have you should just have to have someone make a kernel and they will work
http://dl.dropbox.com/u/40288576/full_ruby-ota-eng.xboarder56_12-24-11.zip (ics 4.0.3 amaze should be easy to port to vivid almost same phone)
http://dl.dropbox.com/u/46431819/Amaze/update-cm-7.1.0-SelfKANG1-Amaze-4g.zip

MCreane said:
And if you´ve read anything I have written (and what others have added) you would see that the purpose of this post is LEARNING. I´m not a linux guy, but I´m quickly figuring it out, not much help to individuals such as yourself who choose to distract and detract rather than assist and contribute, or at least keep your finger off the ¨submit¨ button.
I posted this thread because there is no working version of CM7 for this device. Lets drop the negativity/whatever and put our efforts and keystrokes to getting this booting.
Click to expand...
Click to collapse
Ok we're just letting you know that the CMCompiler will not help. But try this.
http://forum.xda-developers.com/showthread.php?t=667298

My comment had no attitude as you speak of, like XAviierG i was just letting you know that if your intention is LEARNING the CMcompiler does not help with the process. Its an application that runs in a terminal window and you press numbers on screen to pull from the repos, again thats not learning and it wont help get the Vivid working any sooner.
I appropriate your eagerness to learn Linux, i am still learning alot aswell, and i too was excited when i read about the CMcompling application, however after reading about it and the stance of the dev teams i realized that its not the best for me and people looking to learn
Drew

thecubed said:
I'm already taking care of this
If you're into it, you can download my repo for CM9 here: https://github.com/thecubed/android_device_htc_holiday
I make no promises on timeline, but I do expect to have a teaser video with a few things working at least here in a day or so.
Click to expand...
Click to collapse
This just made my day
Sent from my HTC PH39100 using Tapatalk

CMC got me motivated to figure out how to get this working. Yes it´s a shortcut, no it doesn´t help anyone who can´t flash through rommanager already, and thus not us, right now. However, what gets people learning is a good thing, as far as I am concerned. I know far more about Linux now than I ever would have if it had worked beautifully from the start, including building everything through other means that it looks to do through invisible scripting.
As I said, I´m done talking about this.
Back on topic.
I am working on building a fresh CM7 Kernel through
Code:
[email protected]:~/android/kernel/cm-kernel$ adb pull /proc/config.gz /home/michaelcreane/android/kernel/cm-kernel/config.gz
cat config.gz | gunzip > .config
All goes well
Code:
make ARCH=arm CROSS_COMPILE=$CCOMPILER oldconfig
make ARCH=arm CROSS_COMPILE=$CCOMPILER menuconfig
No problems.
But then
Code:
make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`
and I run into this:
Code:
[email protected]:~/android/kernel/cm-kernel$ make ARCH=arm CROSS_COMPILE=$CCOMPILER -j`grep 'processor' /proc/cpuinfo | wc -l`
scripts/kconfig/conf --silentoldconfig Kconfig
#
# configuration written to .config
#
CHK include/linux/version.h
CHK include/generated/utsrelease.h
CC scripts/mod/empty.o
cc1: error: unrecognized command line option ‘-mlittle-endian’
cc1: error: unrecognized command line option ‘-mapcs’
cc1: error: unrecognized command line option ‘-mno-sched-prolog’
cc1: error: unrecognized command line option ‘-mno-thumb-interwork’
scripts/mod/empty.c:1:0: error: unknown ABI (aapcs-linux) for -mabi= switch
scripts/mod/empty.c:1:0: error: bad value (armv5t) for -march= switch
make[2]: *** [scripts/mod/empty.o] Error 1
make[1]: *** [scripts/mod] Error 2
make: *** [scripts] Error 2
make: INTERNAL: Exiting with 3 jobserver tokens available; should be 2!
I just accepted all defaults in the RCU implementation, and I´m guessing that´s where the errors are starting. I got the same error when I ran
Code:
scripts/extract-ikconfig boot.img > .config
rather than extracting the .gz file from my device. Any ideas?

@MCreane and the cubed
I'm glad you guys are working on this. Very exited to see what you guys come up with. I also think it would be great to have a guide.
Sent from my HTC PH39100 using XDA App

I was able to build the Holiday kernel successfully after pulling config.gz and doing this:
Code:
make oldconfig
export CROSS_COMPILE=<path to android source>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
make ARCH=arm -j2

michealw31 said:
I was able to build the Holiday kernel successfully after pulling config.gz and doing this:
Code:
make oldconfig
export CROSS_COMPILE=<path to android source>/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi-
make ARCH=arm -j2
Click to expand...
Click to collapse
Awesome, ill give that a shot after work. Much appreciated
Sent from my HTC Raider X710e using xda premium

Tease: we have a successful booting CM9 from source
Current problem: the kernel we're using (stock from source) is missing the proper USB stack for ICS, as well as GSL changes, so we either have to fork toastcfh's kernel, or fix tiamat's kernel which currently doesn't boot.
However, we were able to get it to boot with a stock kernel built from source. Gfx are skewed, but touchscreen worked, and the colors were right-- so we're on to something at least.
Anyway, I'll be pushing what I have to my github as "holidayics" instead of "holiday" until it's ready for primetime. (@ http://github.com/thecubed )

thecubed said:
Tease: we have a successful booting CM9 from source
Current problem: the kernel we're using (stock from source) is missing the proper USB stack for ICS, as well as GSL changes, so we either have to fork toastcfh's kernel, or fix tiamat's kernel which currently doesn't boot.
However, we were able to get it to boot with a stock kernel built from source. Gfx are skewed, but touchscreen worked, and the colors were right-- so we're on to something at least.
Anyway, I'll be pushing what I have to my github as "holidayics" instead of "holiday" until it's ready for primetime. (@ http://github.com/thecubed )
Click to expand...
Click to collapse
Good to hear about your progress. I'm willing to help test if you need any help in that department.
Sent from my Transformer TF101 using Tapatalk

Related

[DEVS] You too can build a CM-based AOSP ROM

Obviously, I am going to be cleaning up some bugs with the CM7 build...
But, for those of you who might be inclined to develop a CM-based AOSP ROM, feel free to check out my github source to see what's involved:
https://github.com/Hashcode
Or you can:
repo init -u https://[email protected]/Hashcode/cm4D3.git
repo sync
To pull the entire set of android files that I use for compiling the current build.
Please note that the Board Config is currently setup to generate Safestrap .zip files.
Great job
Thank you for everything you have done for the droid 3!
Is there a kitchen for DROID 3 roms. Running windows 7
Sent from my DROID3 using xda premium
You need to be running Linux to do this hardcore kind of stuff.
Like Ubuntu I had it set up in VB and detain. Was just wondering if there was some thing for Motorola roms out there. I have had HTC phones this my first moto with android on it.
Sent from my DROID3 using xda premium
I'm starting to tinker with building (learning, actually) ROMs. I'm running Linux Mint Debian - has there been a kitchen built for D3?
Hashcode said:
repo init https://[email protected]/Hashcode/cm4D3.git
Click to expand...
Click to collapse
That should be
Code:
repo init -u git://github.com/Hashcode/cm4D3.git -b gingerbread
or whatever URL you want to use from the access URL box at https://github.com/Hashcode/cm4D3.
And of course "gingerbread" could be "ics" if your excitement about being on the bleeding edge overrides what should be a fairly sensible fear reaction to the term "bleeding edge".
@Hashcode: You don't use your own ALSA repos? (Comparing with my own generated manifest for your project...)
Also, are you planning on pulling newer Gingerbread manifest changes into your tree? I noticed CyanogenMod have gained a u8150 device tree, and I happen to have one of those, but your manifest doesn't list it...
Ooops. I have a u8510. >_< But the question stands...
TBBle said:
That should be
Code:
repo init -u git://github.com/Hashcode/cm4D3.git -b gingerbread
or whatever URL you want to use from the access URL box at https://github.com/Hashcode/cm4D3.
And of course "gingerbread" could be "ics" if your excitement about being on the bleeding edge overrides what should be a fairly sensible fear reaction to the term "bleeding edge".
@Hashcode: You don't use your own ALSA repos? (Comparing with my own generated manifest for your project...)
Also, are you planning on pulling newer Gingerbread manifest changes into your tree? I noticed CyanogenMod have gained a u8150 device tree, and I happen to have one of those, but your manifest doesn't list it...
Ooops. I have a u8510. >_< But the question stands...
Click to expand...
Click to collapse
Thank you for pointing out that my repo init line was wrong. I fixed it for those that were having issues.
Also, for those watching my manifest for ICS, I'm getting an error when syncing:
error: revision refs/heads/master in manifests not found
I'm trying to fix that. Correction: Fixed it and double-checked with a repo sync.
Some quick answers:
- I tried to customize the alsa source to fix some of the audio issues. But it ended up being a bit more complex than just changing ALSA. Motorola added a layer into the audio system for handling HDMI audio and in call audio volume.
When you build stock AOSP Gingerbread using the alsa drivers, the libaudio.so file ends up being all of the ALSA calls. If you examine the libaudio from the D3, you'll see that it is nothing of the sort. It's the customized mixer lib for RDS voice and HDMI audio. There's another lib from the phone: libaudio_ext.so which ends up being the alsa calls.
All of which made customizing just the alsa code risky at best as the further away from the version of alsa that was used on the phone, the less likely that the custom libaudio would work.
I probably still have the unfinished hardware_alsa git out on github, but it's not active in the current build.
- I can occasionally check for updates to the CM7 manifest and add them, or if you fork the manifest and add it in there that works as well.
Side Note: I may need to pick your brain on an EGL 0x0500 erorr I'm getting in the ICS code. I'm fairly certain it's an enum value that our version of the PowerVR drivers aren't set to handle, but I'd like to confirm that for my troubleshooting. And it seems that you might have some knowledge in that area
Where/how does someone begin working on building a ROM once they've downloaded these files? I'd rather dive into code and learn Android rather than using a menu driven wizard. Is there a tutorial somewhere? What tools are needed?
Sent from my DROID3 using XDA App
Phibernaut said:
Where/how does someone begin working on building a ROM once they've downloaded these files? I'd rather dive into code and learn Android rather than using a menu driven wizard. Is there a tutorial somewhere? What tools are needed?
Sent from my DROID3 using XDA App
Click to expand...
Click to collapse
This would be the starting point that you're looking for:
http://source.android.com/
Hashcode said:
Side Note: I may need to pick your brain on an EGL 0x0500 erorr I'm getting in the ICS code. I'm fairly certain it's an enum value that our version of the PowerVR drivers aren't set to handle, but I'd like to confirm that for my troubleshooting. And it seems that you might have some knowledge in that area
Click to expand...
Click to collapse
Some, but probably not enough. I'm happy to look, but I'm actually moving internationally tomorrow so I may not have 'net access for a week or so. >_< (That's why I've been trying so hard to get backup working. ^_^)
Once I'm settled in I will probably use fdisk to repartition my device or have a poke at hacking sd-ext support into safestrap, so I can start playing with custom ROMs.
Did you see my safestrap-ME863 nandroid patch in the Safestrap thread, BTW? It's got a couple of TODOs, but seems safe and roughly correct to me. http://forum.xda-developers.com/showpost.php?p=19683372&postcount=249
It could also form the basis for detecting when /preinstall can't be used as safe-system although I didn't look to see if there's already code to do that.
Does anyone know of a site where I can peek at reference code for random things (Apps, Kernal etc.)? It'll make it easier to understand how the code works. I haven't look at any code yet so I don't even know what language apps and the os are programmed in. (Java, C, C++, Ruby)
Sent from my D3-CM7-SS using xda premium
tenchi19134 said:
Does anyone know of a site where I can peek at reference code for random things (Apps, Kernal etc.)? It'll make it easier to understand how the code works. I haven't look at any code yet so I don't even know what language apps and the os are programmed in. (Java, C, C++, Ruby)
Click to expand...
Click to collapse
Just pull down the repo as Hashcode describes in this thread - you'll have all of the Android source. To the best of my knowledge, it comprises of mostly C, C++, and Java, but there is probably a smathering of some other things like ASM, perl, BASH, etc.
And to those who are asking if there is a kitchen, there is, it's called make

[SOLVED] Problem compiling cyanogen mod 7 with subskype tass device

Hello I'm trying to compile cyanogenmod 7 with subskyper tass device to try to mantain this project update in line with the original philosophy: keep it 100% cyanogenmod without any tweaks
When I compile I face two errors that broke my compilation:
1-
device/samsung/tass/overlay/frameworks/base/core/res/res/values/config.xml:95: error: Resource at swap_volume_keys_orientation appears in overlay but not in the base package; use <add-resource> to add.
make: *** [out/target/common/obj/APPS/framework-res_intermediates/package-export.apk] Errore 1
make: *** Eliminazione del file "out/target/common/obj/APPS/framework-res_intermediates/package-export.apk"
make: *** Attesa per i processi non terminati....
This one I commented out the line reguarding swap_volume_keys_orientation in file
device/samsung/tass/overlay/frameworks/base/core/res/res/values/config.xml
but when i continue...
2-
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld: out/target/product/tass/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/AndroidRuntime.o: in function android::gRegJNI:AndroidRuntime.cpp(.data.rel.ro+0x148): error: undefined reference to 'register_android_hardware_fm_fmradio(_JNIEnv*)'
collect2: ld returned 1 exit status
make: *** [out/target/product/tass/obj/SHARED_LIBRARIES/libandroid_runtime_intermediates/LINKED/libandroid_runtime.so] Errore 1
make: *** Attesa per i processi non terminati..
Someone faced same problems?
Any ideas?
thanks a lot
Send PM With The Error To Subpsyke
t-r-e said:
Send PM With The Error To Subpsyke
Click to expand...
Click to collapse
done. I hope he will answer me cause I'm able to sync repos in a couple of hours, so it will be easy to mantain pure cyanogenmod 7 for our sgm.
mebitek said:
done. I hope he will answer me cause I'm able to sync repos in a couple of hours, so it will be easy to mantain pure cyanogenmod 7 for our sgm.
Click to expand...
Click to collapse
Best Luck Buddy Don't Give Up Early , We Look Forward To See Your Work As We Need To Keep Subpsyke Project Alive
prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/../lib/gcc/arm-eabi/4.4.3/../../../../arm-eabi/bin/ld:
Click to expand...
Click to collapse
Are you using 32-bit linux system ?
If yes, then I guess 64-bit is necessary to get things compiled properly without errors.
NB: Just sharing info.
coolsandie said:
Are you using 32-bit linux system ?
If yes, then I guess 64-bit is necessary to get things compiled properly without errors.
NB: Just sharing info.
Click to expand...
Click to collapse
Thanks for the reply but I think that this kind of error is a missing reference for the function register_android_hardware_fm_fmradio that is called from AndroidRuntime.cpp
32 or 64 bit it is no differnce in compile result. just speed....
However I've checked tass configuration and I see that fm radio is set to BCM2049 chip.
I checkd into frameworks/base/core/jni/ cm source tree directory and I found only fm hardware reference for :
bcm4325
si4708
si4709
wl1271
now I'm trying to compile again setting radio to bcm4325 just to see if something appens...
P.S. should be nice to have some tecnical ideas about the code error not only if the host system is well configured
P.P.S. changed values to bcm4325 let me not face errors no more. Now I'm compiling!!!!
I have checked some github projects and I see that a lot of device as sgm with bcm2049 fm chipset set it to bcm4325. I see that just subskype change that value to bcm2049. Should be nice to have some tip and tricks from him to understand well the point of the situation
Now I have a signed zip to flash into my sgm.
It contains subskype cm7.2 tass device configuration and latest cm 7.2 sources update at 31-01-2012.
to check changes:
http://review.cyanogenmod.com/#q,status:open,n,z
It works!!! finally compiled and booting successfully.
Now I'm trying to study the best way to mantain this kind of project (it's first time for me in android dev and I just have an android device by november).
first at all I was thinking to add V6 supercharge by default. what do you think?
mebitek said:
It works!!! finally compiled and booting successfully.
Now I'm trying to study the best way to mantain this kind of project (it's first time for me in android dev and I just have an android device by november).
first at all I was thinking to add V6 supercharge by default. what do you think?
Click to expand...
Click to collapse
Great news. Glückwunsch (don't know the english word at the moment).
Supercharger would be possibly good. Subpsyke said something to it but i don't rember clearly.
Keep up your work.
Sent from my GT-S5570 using xda premium
mebitek said:
It works!!! finally compiled and booting successfully.
Now I'm trying to study the best way to mantain this kind of project (it's first time for me in android dev and I just have an android device by november).
first at all I was thinking to add V6 supercharge by default. what do you think?
Click to expand...
Click to collapse
No not add anything. It s better. Completely clean
Inviato dal mio GT-S5570 usando Tapatalk
mebitek said:
Thanks for the reply but I think that this kind of error is a missing reference for the function register_android_hardware_fm_fmradio that is called from AndroidRuntime.cpp
32 or 64 bit it is no differnce in compile result. just speed....
However I've checked tass configuration and I see that fm radio is set to BCM2049 chip.
I checkd into frameworks/base/core/jni/ cm source tree directory and I found only fm hardware reference for :
bcm4325
si4708
si4709
wl1271
now I'm trying to compile again setting radio to bcm4325 just to see if something appens...
P.S. should be nice to have some tecnical ideas about the code error not only if the host system is well configured
P.P.S. changed values to bcm4325 let me not face errors no more. Now I'm compiling!!!!
I have checked some github projects and I see that a lot of device as sgm with bcm2049 fm chipset set it to bcm4325. I see that just subskype change that value to bcm2049. Should be nice to have some tip and tricks from him to understand well the point of the situation
Click to expand...
Click to collapse
For the radio, I used my patch to add support for the bcm2xxx devices with proper seeking. It's on gerrit here: http://review.cyanogenmod.com/#change,10358
mebitek said:
It works!!! finally compiled and booting successfully.
Now I'm trying to study the best way to mantain this kind of project (it's first time for me in android dev and I just have an android device by november).
first at all I was thinking to add V6 supercharge by default. what do you think?
Click to expand...
Click to collapse
no no...no v6.
Just vanilla cm7...and thanks for the initiative and ABT!
dont add scripts..but maybe something from cm gerrit if u wish..but then it'll not be vanilla.

[ DIY ] How To Compile Your Own Nightlies (and Learn Something in the Process)

--- copied with permission from nathanpfry.com ---​
Hi everyone! Have you ever wanted to compile your own nightlies, but are too intimidated or "not a dev"?
For various reasons, I've decided to write a guide about how you too can enter the wonderful world of development.
Before we begin, I'm going to say one thing. I'll probably repeat it a bunch of times too, to be sure everyone reads it at least once while skimming through this. PLEASE GOOGLE YOUR QUESTION FOR AT LEAST 5 MINUTES BEFORE ASKING IT HERE. The main reason I wrote this guide is to try to refocus the point of the "Development" forums on XDA. There are many users out there that seem to think this is a place to make demands for answers without trying to contribute or learn anything themselves. Developing isn't an easy thing. You should know a little bit of Linux going into this, if not, prepare yourself for some reading. This isn't the place for you to ask how to install Ubuntu, or why you need 64 bit. Just have a little faith and trust me.
Major thanks goes out to Hashcode.. Seriously, you have no idea what an inspiration he's been. For all intents and purposes, this guide will show you how to set up your system and compile ROMs based on his work, perhaps even help work on fixes. I suppose I should thank google, cyanogenmod, team aokp, thingonaspring (minimoto rocks!) a few others. You know who you are.
On with the show.
Here's a list of things you will need:
1) A decent computer (at least dual core, 2+ gig of RAM, 50 gig free HD space) capable of running Linux
2) A copy of Builduntu
3) Spare time and the desire to learn.
Double check that your main system is 64 bit. 32 bit OS will not work!
Once you get Builduntu up and running (there are instructions @ the above link), read on.
You need to make a decision. What flavor of Android do you want to compile? In other words, AOKP, Cyanogenmod, AOSP, LiquidSmooth, SimpleAOSP etc etc etc.
For the purposes of teaching everyone, I'm going to base this guide on AOKP.
You've made it this far, you're basically almost there. *cue motivational montage music*
When Builduntu says, "initialize the build repo", that means to sync your source code with a git repository. Run these commands in a terminal:
Code:
mkdir ~/android
Code:
cd ~/android
The following command will do the actual initialization:
Code:
repo init -u https://github.com/AOKP/platform_manifest.git -b jb-mr1
Ok, after this next part you're going to want to take a break. It's time to actually download to your computer (sync) the source code. As of writing this guide, it is over 10 gigabytes of information, depending on which "flavor" of Android. In the terminal:
Code:
repo sync
Don't worry, just execute and walk away. Depending on the speed of your internet connection, this could take a long time. Anywhere from one hour to "maybe-you-should-do-this-before-you-go-to-sleep". Up next is actually doing the compiling.
When that finishes, you have the source code. Let's get to business. This next bit will probably take a while also, but again, it's a set-it-and-forget-it situation.
Code:
cd ~/android
source build/envsetup.sh
lunch yourdevicenamehere
make otapackage
That should do it! Watch for errors, but everything should work at this point. Again, how long this takes is completely dependent on how fast your computer is. If it completes without a hitch, you'll have a flashable zip file located in ~/android/out/target/product/yourdevicename/
Congrats, you just compiled from source! Now, if you really want to get adventurous, you can start delving into the code itself and make some changes. But this post isn't the place to get into all that. Good luck, and please say thanks if this guide was helpful!
PLEASE PLEASE PLEASE If you happen to find an error in my guide (not just a question about it!) PLEASE PM ME. I will give you credit in the post. A potentially useful fix could be buried pages deep in the thread and unfortunately get lost if it's only a reply. Thanks!
Many thanks!
Although I didn't tried this howto yet, I feel obligated to thank you for this. In the past I though about trying to do something directly tweaking the code and, who knows, contribute with something nice to our "D3 society". But could never figure how to start it. I will spend some time trying to make it work using this "manual" and give some feedback about it.
Again, thanks.
Re: [DIY] How To Compile Your Own Nightlies (and Learn Something in the Process)
Great post.
Sent from my XT926 using Tapatalk 2
Thank you for taking the time to show the community how to contribute and give back what has been given.
Thanks for this awesome guide! I followed your directions and did produce a zip that I can flash with safestrap. Unfortunately it will not boot though:crying: Is there anything else to do with the kexec zip to make it safestrap compatible? Or did I just screw something up
Either way I am glad I did this and without your 2 great guides I never would have. So thank you again sylentprofet! :highfive:
Caldair said:
Thanks for this awesome guide! I followed your directions and did produce a zip that I can flash with safestrap. Unfortunately it will not boot though:crying: Is there anything else to do with the kexec zip to make it safestrap compatible? Or did I just screw something up
Either way I am glad I did this and without your 2 great guides I never would have. So thank you again sylentprofet! :highfive:
Click to expand...
Click to collapse
Hmmmmmm. That is a frustrating problem. I've had it happen before..
Just tried a compile myself, and CM10 doesn't work. Silly me for thinking that everything would go smoothly. It could be some changes reflected recently on CM's end. The joys of development!
However, I just tried an AOKP 4.2 build, and it does boot. So I'm going to make some quick changes to the guide to reflect building for AOKP while I examine the code and see what's up.
There's nothing more frustrating when a build completes successfully and then won't flash. I'll keep everyone posted.
this looks amazing
thank you for spending the time to write this up!
May be up for a reinstallation of my Ubuntu (currently 12.04 x86 :/).
Wonderful, might try to adapt for the galaxy note 3.
Lillie via LG Spectrum (waiting for N3 DE) & tapatalk

[R&D] [910F] porting CM12

*EDIT* This thread is now based upon the work by @fattire and @slayher, who got it up on the 910T. For that phone see this thread: http://forum.xda-developers.com/not...nt/unoffcial-cm-12-0-t-mobile-note-4-t2964887
This thread is for dev's interested to help out porting CM12 to our device. I've researched for info regarding CM ports and good information is actually quit scarce. A dev might post something like 'hmm stuck at boot anim' and then the next day 'got it, booting now !' without explaining what he did to solve it. I want to change that, so this thread can serve as a guide for other first time porters too (this is also my first porting project), documenting every step as in much detail as possible.
For ROMS: http://forum.xda-developers.com/not...official-cm-12-0-910f-note-4-trltexx-t2987412
Please use this thread for R&D/development ONLY !!!
Ok, I'm really starting from scratch and never done any phone ROM porting. I've just made a new virtual disk running ubuntu and am currently downloading the CM12 repo. I figured, how to get even started here. I figured that the goals we need to attain in this order:
1) compile the kernel samsung supplied
2) make sure we can boot into kernel
3) get ADB up and running
4) get CM12 starting up, even the bootanim alone would be a nice goal to reach
5) Booting into homescreen
6) Fixing all stuff like modem, wifi etc etc etc
Anyway, I'm currently downloading CM12 sources as we speak ...
This is by the way a link I found very useful: http://www.androidenea.com/2009/08/init-process-and-initrc.html It describes the Android init process, cause I was wondering, how to even start all this ? How to get from kernel to CM booting: that's where init.rc should come into play of course
Good luck this is a long project. I build carbonrom for another phone where everything for cm was allready fixed. I would start with a phone that allready has support to learn how the process goes. You can brick your phone and it's a process of trail and error... But I hope you manage good luck!
KaptKeefmenneke said:
Good luck this is a long project. I build carbonrom for another phone where everything for cm was allready fixed. I would start with a phone that allready has support to learn how the process goes. You can brick your phone and it's a process of trail and error... But I hope you manage good luck!
Click to expand...
Click to collapse
I'm not sure I understand what you mean ? If the phone already has support, then what's there to port ? Or do you mean building CM itself ? That I've done quite a few times already, did quite a bit of work on the i9500, fixing RILD issue's, kernel issue's and other stuff.
soo...maybe m wrong (has been a while snce ive ported) but im goin to drop a few lines anyhow......
porting is very different from source building.....the only reason you would need to dl the cm sources would be to compile the rom using sources...and right now the note 4 has none we would need device,kernel,common,vendor sources for that....so... we cant source build right now only port....sp what we need to do is research which device officially or unofficially that has cm with same specs as the note4 things like screen size, board, things of that nature....and would highly recommend using the same carrier as well.....but once we have that info....dl that phones cm rom zip....dl one of our phones rom zips.....now for the fun....ill lay out a way i did it maybe is the same still ...
place both cm zip and note 4 zip on desktop..
create a new folder call it new
drag all files from the cm zip into the new
open the new and open the note 4 zip have them side by side
now your going to drag pretty much all folders/files from the note 4 system folder into the new sytsem folder one folder at a time excluding:
app,priv-app,etc,fonts,media,framework,xbin (im probably forgetting one or two but has been a long time)
now the fun begins....time to edit some xmls and trial and error on pretty much everything until it is working right
you are also going to want to change out the kernel and have to edit the updater-script in the meta-inf....
im positive im forgetting a few things but this is pretty much what i can remember......from off the top of my head...some of the guides ill link in a bit will go into greater detail and explain things more in depth
a few links ive had bookmarked that will help ya
http://forum.xda-developers.com/showthread.php?t=1908008
http://forum.xda-developers.com/showthread.php?t=732957
http://forum.xda-developers.com/showthread.php?t=1957219
http://forum.xda-developers.com/showthread.php?t=1272270
http://forum.xda-developers.com/showthread.php?t=2113479
http://forum.xda-developers.com/showthread.php?t=1801690
http://forum.xda-developers.com/showthread.php?t=2251719
http://forum.xda-developers.com/showthread.php?t=1941239
http://forum.xda-developers.com/showthread.php?t=1805408
http://forum.xda-developers.com/showthread.php?t=2058850
all of these links in one way or another have helped me during my porting phase hope they do the same for you ...like ive said before im more of a source builder so thats what imgoing to be trying to do is getting a working tree... but if you need help just hit me up ill do what i can
Shouldn't this thread be in general?
jdidtht said:
Shouldn't this thread be in general?
Click to expand...
Click to collapse
yes it really should being as there is no development only discussion...but thats the moderators job not mine
spleef said:
yes it really should being as there is no development only discussion...but thats the moderators job not mine
Click to expand...
Click to collapse
Threads regarding R&D belong in development, so I guess it really belongs here. Even more so cause if it's moved to general, tons of n00bs will join in and destroy the thread. please keep this developers only.
Anyway thanks to see you join in Spleef, much appreciated !! Still setting up my environment myself ...
spleef said:
soo...maybe m wrong (has been a while snce ive ported) but im goin to drop a few lines anyhow......
porting is very different from source building.....the only reason you would need to dl the cm sources would be to compile the rom using sources...and right now the note 4 has none we would need device,kernel,common,vendor sources for that....so... we cant source build right now only port....sp what we need to do is research which device officially or unofficially that has cm with same specs as the note4 things like screen size, board, things of that nature....and would highly recommend using the same carrier as well.....but once we have that info....dl that phones cm rom zip....dl one of our phones rom zips.....now for the fun....ill lay out a way i did it maybe is the same still ...
place both cm zip and note 4 zip on desktop..
create a new folder call it new
drag all files from the cm zip into the new
open the new and open the note 4 zip have them side by side
now your going to drag pretty much all folders/files from the note 4 system folder into the new sytsem folder one folder at a time excluding:
app,priv-app,etc,fonts,media,framework,xbin (im probably forgetting one or two but has been a long time)
now the fun begins....time to edit some xmls and trial and error on pretty much everything until it is working right
you are also going to want to change out the kernel and have to edit the updater-script in the meta-inf....
im positive im forgetting a few things but this is pretty much what i can remember......from off the top of my head...some of the guides ill link in a bit will go into greater detail and explain things more in depth
a few links ive had bookmarked that will help ya
http://forum.xda-developers.com/showthread.php?t=1908008
http://forum.xda-developers.com/showthread.php?t=732957
http://forum.xda-developers.com/showthread.php?t=1957219
http://forum.xda-developers.com/showthread.php?t=1272270
http://forum.xda-developers.com/showthread.php?t=2113479
http://forum.xda-developers.com/showthread.php?t=1801690
http://forum.xda-developers.com/showthread.php?t=2251719
http://forum.xda-developers.com/showthread.php?t=1941239
http://forum.xda-developers.com/showthread.php?t=1805408
http://forum.xda-developers.com/showthread.php?t=2058850
all of these links in one way or another have helped me during my porting phase hope they do the same for you ...like ive said before im more of a source builder so thats what imgoing to be trying to do is getting a working tree... but if you need help just hit me up ill do what i can
Click to expand...
Click to collapse
Great addition to the thread ! Hmm I haven't done any porting myself. I figured once we have a kernel up (compiling it should be easy), then what's stopping us from booting CM ? I mean of course RILD won't work if we don't have a JNI (or what's it called on ART, ANI ? ) interface to the modem. Of course we won't have NFC, internet, telephony, all that. But merely booting a graphical interface that should be doable with Nexus 6 source code, right ? I mean all we need is SoC sources so we have cpu & graphics working, right ? So That was what I had in mind myself but your approach actually is quite the same now I think of it
Thread is moved to general AGAIN. Hehe. Starting a development thread ON XDA and have it in the developer section seems harder than porting CM12 Anyway I guess it doesn't matter in which section it is, as long as n00bs and trolls stay out and we can focus on development only.
Anyway, downloading kernel sources as we speak ...
BTW, here is Nexus 6 source code: http://www.xda-developers.com/android/google-nexus-6-factory-images/
Going to down that right now too ...
Ok, building kernel as we speak. I just installed the arm-eabi-4.7 toolchain, like this:
git clone https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/arm/arm-eabi-4.7/
And then edited the makefile and issued the 3 commands all as specified in README_Kernel.txt from the Samsung Kernel. So far so good
And yes, as expected, build breaks:
drivers/scsi/ufs/ufs_test.c:25:19: fatal error: ../sd.h: No such file or directory
compilation terminated.
make[3]: *** [drivers/scsi/ufs/ufs_test.o] Error 1
make[2]: *** [drivers/scsi/ufs] Error 2
make[1]: *** [drivers/scsi] Error 2
make: *** [drivers] Error 2
Hehe, Samsung wouldn't be Samsung if they would supply a kernel that actually builds from the start Going to investigate ...
Actually that seems like an easy fix, just linked the file correctly
And a new break:
In file included from drivers/gud/MobiCoreDriver/logging.c:21:0:
drivers/gud/MobiCoreDriver/main.h:24:22: fatal error: platform.h: No such file or directory
I'd say it's looking for the file in platforms/MSM8960_SURF_STD, going to link it correctly ...
And building again ...
n file included from drivers/video/msm/mdss/mdss_mdp_trace.h:255:0,
from drivers/video/msm/mdss/mdss_mdp.c:61:
include/trace/define_trace.h:79:43: fatal error: ./mdss_mdp_trace.h: No such file or directory
Include should point to kernel includes, fixing it again
And building again ...
Code:
OBJCOPY arch/arm/boot/Image
Kernel: arch/arm/boot/Image is ready
LZO arch/arm/boot/compressed/piggy.lzo
AS arch/arm/boot/compressed/piggy.lzo.o
LD arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready
Kernel ready Of course that was the easy part, hehe, but still, progress. Tomorrow going to start with the difficult part, getting CM up
I've ported before but only tw where it was mainly framework edits. Never worked with cm before but like the op I'm keen to learn. If i can help at all just let me know, I use linux mint myself rather than Ubuntu but they're very similar
So, just downloaded Nexus 6 sources. It seems that directory /device/moto/shamu contains the device hardware stuff we need ! Going to research some more today ...
*EDIT* also mind the propietary-blobs.txt in that directory. I'm still waiting for my Note 4 myself (hopefully friday), but this needs to be compared with the files on the device, cause if they exist, they will be blobs of course and we need them.

[REQUEST] Desire 510 Rom Development Guide

Hey, as alot of us know many people have left this phone and moved on to the cooler more exciting phones. and are busy with life.....id like to request a guide for the ones that would like to make some creation and learn how to build...for the love of this phone ^-^and that have some knowledge atleast
Xendrix said:
Hey, as alot of us know many people have left this phone and moved on to the cooler more exciting phones. and are busy with life.....id like to request a guide for the ones that would like to make some creation and learn how to build...for the love of this phone ^-^and that have some knowledge atleast
Click to expand...
Click to collapse
http://forum.xda-developers.com/android/software/guide-build-port-miui-rom-to-device-t3250984 I tried with this but I was getting to much rejects and I couldn't fix them all by my self. Most likely because I was trying to patch the stock 64 bit. But you have the CM, RaptorROM that are more vanilla like. If you are lucky you should be getting less rejects then me. :highfive:
denny.hell said:
http://forum.xda-developers.com/android/software/guide-build-port-miui-rom-to-device-t3250984 I tried with this but I was getting to much rejects and I couldn't fix them all by my self. Most likely because I was trying to patch the stock 64 bit. But you have the CM, RaptorROM that are more vanilla like. If you are lucky you should be getting less rejects then me. :highfive:
Click to expand...
Click to collapse
Ok cool i just pulled that same guide up, ill try it out and see where i get!
Sent from my iPhone using Tapatalk
Xendrix said:
Ok cool i just pulled that same guide up, ill try it out and see where i get!
Sent from my iPhone using Tapatalk
Click to expand...
Click to collapse
If you need help with the rejects just ask. I'm sure I could spare some time to help out
denny.hell said:
http://forum.xda-developers.com/android/software/guide-build-port-miui-rom-to-device-t3250984 I tried with this but I was getting to much rejects and I couldn't fix them all by my self. Most likely because I was trying to patch the stock 64 bit. But you have the CM, RaptorROM that are more vanilla like. If you are lucky you should be getting less rejects then me. :highfive:
Click to expand...
Click to collapse
That was really not all that great of an instruction on how to get started with rom building because for 1 unless you have a really super fast computer trying to do that in a VMWARE is going to take forever because the first compile and build takes hours upon hours I'm not kidding when I said you needed to download the entire CyanogenMod or AOSP source code and apparently from all the changes people have made its up over 13GB which is huge mind you the first build is going to give quite a few errors which you'll need to fix by going into your github and making changes to the specific file that needs changing and then repo sync or just change it on your local computer first then push it to github.. You did fork the device tree to your own github right? Then you have to download the device tree source to your local pc in order to even begin building anything. They also need to be in the correct spot by the way or the build is gonna throw an error that it can't find / or so and so doesn't exist.. By the way the 3 device tree files you're gonna need are "Device, Vendor and Kernel.."..
https://wiki.cyanogenmod.org/w/Development
https://wiki.cyanogenmod.org/w/Doc:_porting_intro
MrMike2182 said:
That was really not all that great of an instruction on how to get started with rom building because for 1 unless you have a really super fast computer trying to do that in a VMWARE is going to take forever because the first compile and build takes hours upon hours I'm not kidding when I said you needed to download the entire CyanogenMod or AOSP source code and apparently from all the changes people have made its up over 13GB which is huge mind you the first build is going to give quite a few errors which you'll need to fix by going into your github and making changes to the specific file that needs changing and then repo sync or just change it on your local computer first then push it to github.. You did fork the device tree to your own github right? Then you have to download the device tree source to your local pc in order to even begin building anything. They also need to be in the correct spot by the way or the build is gonna throw an error that it can't find / or so and so doesn't exist.. By the way the 3 device tree files you're gonna need are "Device, Vendor and Kernel.."..
https://wiki.cyanogenmod.org/w/Development
https://wiki.cyanogenmod.org/w/Doc:_porting_intro
Click to expand...
Click to collapse
Yes, everything you said is correct. I was only giving him a starting point. I know that porting, in this case patching, is a lot more easier than building, if done properly. If he wants to build and to learn a lot of stuff I personally advice him to follow your advice.
But in the end it's up to him. At least now he has two starting points. :highfive:
denny.hell said:
Yes, everything you said is correct. I was only giving him a starting point. I know that porting, in this case patching, is a lot more easier than building, if done properly. If he wants to build and to learn a lot of stuff I personally advice him to follow your advice.
But in the end it's up to him. At least now he has two starting points. :highfive:
Click to expand...
Click to collapse
That's true, 2 starting points is better than none.. I don't necessarily like "patching" others work because you never really know how they made it or if it has problems which is why I just start from scratch.
Yes starting from scratch was initially what i wanted but i looked around on XDA university for a week and that helped get me to learn about setting up Vm, installing android sdk through terminal ETC and repo init repo sync, downloading repositories and other source codes.....BUT my thing is wanting to learn how patch errors and need more on hands experience for setting up build environment
Sent from my iPhone using Tapatalk

Categories

Resources