Building your own ROM

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
Ok, I just spent an hour waiting in the #cyanogenmod-dev irc, kinda wonder if they made me wait to make me stew a bit. ;) I paced my questions out at least 5 minutes between so as to not piss anyone off, and tried rephrasing them as well, since it seems as if we need to tiptoe around a few egos.

Here's the chat:
Code:
*** Topic is Welcome to #CyanogenMod-Dev IRC - See: http://goo.gl/4yOnc :: General CyanogenMod/Android Development Discussion | korg repos are now available on cyanogenmod github:  http://kan.gd/105q 
*** Channel mode is +cnrt 
*** Nushio has quit (Ping timeout: 248 seconds) 
*** TomTom has joined #cyanogenmod-dev 
*** firelord42 has quit (Quit: Night all!!!!) 
<JerryScript> I'm looking for some help preparing a repo's device folder for a push to CM. 
<JerryScript> The repo is inferiorhumanorgans, for the thunderc board on the Optimus line of phones. 
<JerryScript> We currently support 5 phone models with over 4 thousand users for the past few months, and have 98% of functionality, only headsets issues remain. 
 [I]-note--10 minutes[/I]
<JerryScript> I was told by Koush to come to this chat room and ask for help, is anyone available tonite? 
[I]-note--15 minutes[/I]
<JerryScript> Can anyone here offer advice on preparing a device folder for a push to CM7.2? 
*** tophyr has joined #cyanogenmod-dev
[I]-note--25 minutes[/I]
<JerryScript> Could someone offer some advice on preparing my device folder, or perhaps a link to a roadmap to getting a device accepted into CM? 
*** MongooseHelix has quit (Ping timeout: 240 seconds) 
[I]-note--30 minutes[/I]
<JerryScript> What are the requirements for a device folder to be accepted into CM? 
*** Kaik541 has joined #cyanogenmod-dev 
*** ChanServ sets mode +v on Kaik541 
*** Hashcode has quit (Quit: Leaving) 
[I]-note--40 minutes[/I]
<JerryScript> How do you properly prepare a device tree for acceptance into CM? 
<Kaik541> JerryScript: virgin sacrifice 
<JerryScript> lol, koush sent me here to ask for help on this matter 
<Kaik541> oh, then wait for someone to give a real answer 
<JerryScript> no prob, I've been waiting for 45 minutes, I've got some time to wait 
*** sduvick has joined #cyanogenmod-dev 
*** sduvick has joined #cyanogenmod-dev 
<sduvick> hey guys, interesting/annoying error in trying to boot cm: 
<sduvick>  bionic/linker/linker.c:1280| ERROR:  2615 cannot locate '_ZN7android16CameraParameters3setEPKci'... 
*** sduvick has quit (Ping timeout: 260 seconds) 
[I]-note--55 minutes[/I]
<koush> JerryScript: send us a submission on gerrit 
<koush> that has the repositories we need to fork 
*** sduvick has joined #cyanogenmod-dev 
*** skorgon has quit (Ping timeout: 248 seconds) 
<JerryScript> Can do, but I was hoping to set it up more to CM liking before submission, just because it works for us doesn't mean it will for CM 
[I]-note--1 hour[/I]
<optedoblivion> Hence gerrit 
<optedoblivion> So we can see what you are doing and hackborn it 
<Kaik541> JerryScript: once you put it on gerrit, everyone wlil slam you for your stupid mistakes until it's "CM approved" 
<JerryScript> gotcha, just didn't think such a raw submission was appropriate, thanks for the info everyone 
<jcsullins> JerryScript: yeah, can be a humbling experience 
<optedoblivion> JerryScript: yeah you can reup a patch set to the same change id 
<optedoblivion> which keeps a nice history 
<Kaik541> make sure you add ricardo so he can tell you how best to unfux0r anything 
<optedoblivion> and yadda yadda 
<optedoblivion> what Kaik541 said 
<JerryScript> I've no problem with that, I'm not even close to being in the CM teams league, just doing what I can to help 
<optedoblivion> meh it's not about leagues br0 
<optedoblivion> it's about helpin out 
<JerryScript> thnx
So the actual answer to my original query took a single line in irc chat, yet the same couldn't be offered elsewhere, hoops. ;)

If Blarf doesn't want to do the submission, then we need to decide which fork to submit, perhaps create a new one just for this purpose. And of course, as you could see from the chat room, we are going to have to keep our thick skins on! :cool:
 
Feb 19, 2011
1,971
284
0
Visit site
a new fork with the best picks of all your stuff (bob's camera, etc) might be good...
somebody's going to have to be patient, and thick-skinned is a good term too.

I wonder if you were an adequate virgin sacrifice? :p
maybe you're still being dressed and anointed before the real ceremony :-*
you did get an answer of sorts, anyway.
 

mrg666

Well-known member
Jul 16, 2011
730
1,067
0
Visit site
CM people were asking if IHO was stable enough. Actually, IHO is more stable and complete than at least the official Nook Color build I have used/built. For this reason, I would prefer a new fork to submit to CM so that we can keep IHO as it is while the new fork is modified for CM merge which will create some minor problems for a while.

The android_frameworks_base, android_dalvik, and android_system_bluetooth repos need to be linked to CM repo. There are only two tiny commits that differentiate IHO's frameworks_base from CM. The other repos are similar. We need to resolve those differences by submitting patches to CM. We could use preprocessor definitions in the patches to add those changes without affecting the other devices.

Then, there are three other vendor and device repos that we need to make sure they integrate with the CM repo
android_vendor_cyanogen
vendor_lge_thunderc
android_device_lge_thunderc

We will also need to separate the proprietary files from the repo. Those other added to the local copy of the repo before building the ROM for the devices in CM.

I think, correct if I am wrong, we can keep the kernel source separate and add the binaries in the repo as we do with IHO.

These are my initial thoughts.

Edit: let's not forget about the surfaceflinger and camera problems introduced by recent commits.
 
Last edited:
Feb 19, 2011
1,971
284
0
Visit site
back around to ics, there's a good info thread here, at xda for the hero... also an armv6 (though different variant) and they've put how to workaround the webrtc assembly errors among other things.

edit: there was some mention of errors with llvm over there, but so far my armv5te-vfp based build has gotten past that point without glitches (using a lightly modified device_lge_thunderc folder from iho and a patched-up device_lge_products folder roughly based on the iho android_vendor_cyanogen folder.). hopefully I won't have to wait until tomorrow morning to see the result...
probably should've stuck with generic_armv5 to test the build, but why not just jump in with both feet before testing the water temperature?
 
Last edited:
  • Like
Reactions: mrg666

un1ocked

Active member
Aug 14, 2011
27
0
0
Visit site
please share how to flash sprint stock firmware to my original OV

using what tools? KDZ updater?
i have stock sprint firmware, LS670ZVD_12.SD_12.P60675
also stock virgin firmware, in case my OV bricked, the VM670ZV5_07.S5_07.P61007
 

pbailey212

Well-known member
Mar 20, 2011
765
219
0
Visit site
please share how to flash sprint stock firmware to my original OV

using what tools? KDZ updater?
i have stock sprint firmware, LS670ZVD_12.SD_12.P60675
also stock virgin firmware, in case my OV bricked, the VM670ZV5_07.S5_07.P61007

Don't do it, its been tried and failed by the smartest of people in the community, best case scenerio, you will never have data again, worst case scenerio, you will be waiting at target at midnight to get your self a new $50 ov
 
Feb 19, 2011
1,971
284
0
Visit site
please share how to flash sprint stock firmware to my original OV

using what tools? KDZ updater?
i have stock sprint firmware, LS670ZVD_12.SD_12.P60675
also stock virgin firmware, in case my OV bricked, the VM670ZV5_07.S5_07.P61007

the virgin 'firmware' is crap, unflashable crap.
you will be permanently sprint-ified if you flash the os firmware.
search the unbrick threads on the s forum if you're undeterred by the warnings.
BTW, kp500-utils deleted my ESN and AKEY, so beware, use the LGNPST instead, it's cleaner.

also, way off-topic for the thread, start a new one or resurrect a dead one on the same topic, please.
 
Last edited:

asadullah

Well-known member
Oct 23, 2010
480
182
0
Visit site
Alright so I'm running Ubuntu 11.10 64 bit I repo synced and tried to do a straight generic build. Well after about ten minutes or so it would stop building on this error
Code:
<command-line>:0:0: warning: "_FORTIFY_SOURCE" redefined [enabled by
default]

Of course I'm like wtf but I found an answer on google source to help fix the problem go into the folder
~/android/icecream/build/core/combo and open HOST_linux-x86.mk scroll down to line 56 and change it from this
Code:
HOST_GLOBAL_CFLAGS += -D_FORTIFY_SOURCE=0
to this
Code:
HOST_GLOBAL_CFLAGS += -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=0
 
  • Like
Reactions: JerryScript
Feb 19, 2011
1,971
284
0
Visit site
mine's gotten all the way into webkit now before crashing with a new error (google says it's related to the wrong cpu or something like that)
/tmp/ccmbolln.s: Assembler messages:
/tmp/ccmbolln.s:14060: Error: invalid immediate: 983040 is out of range
/tmp/ccmbolln.s:14060: Error: value of 983040 too large for field of 2 bytes at 2046
make: *** [out/target/product/thunderc/obj/STATIC_LIBRARIES/libjs_intermediates/Source/JavaScriptCore/jit/JIT.o] Error 1
I haven't googled up any solution for that yet. So I'm still stalled out for now.
But I haven't gotten many of the errors I've read about, like libaudio problems or that FORTIFY_SOURCE error, at all, which is odd... may be related to using debian instead of ubuntu.

edit:
sweet.
disabling JIT moves the build on. Fix it later after getting a complete compile with whatever else it takes to be removed, like webrtc...
In BoardConfig.mk, change the JIT stuff to:
Code:
WITH_JIT := false
ENABLE_JSC_JIT := false
#JS_ENGINE := v8

edit again: there's one file, JIT.h or .cpp (I forget) that I had to comment out two lines to compile (66 and 67 if I remember right.) Figured it didn't matter too much since the JIT was supposed to be disabled anyway, but they're a major part of the jit functionality if I read the comment right.

also had to include lupohirp's fix for libaudio from the xda p500 ics thread, it worked for me to finish a build after the other changes.
 
Last edited:
  • Like
Reactions: JerryScript
Feb 19, 2011
1,971
284
0
Visit site
so, it compiled completely, both generic_armv5 and my tweaked thunderc, but they both still had whatever glitch I've been getting with building aosp that makes the binaries not runnable. install into /system, permissions all look right with ls -al, won't run anything though, except init in ramdisk.
(it's huge by the way, over 90 MB system.img)
to check it out, I:
add busybox from xionia cwma while booted into recovery for /system/bin/sh:
mount system
Code:
cp -p /sbin/busybox /system/xbin/busybox
rm /system/bin/sh
ln -s /system/xbin/busybox /system/bin/sh
and add adbd to /sbin in ramdisk
then it boots to being recognized by adb, and can use busybox to examine dmesg and ps in the adb shell.
nand mounted fine by init.
no logcat.
says 'init:cannot read /system/bin/installd' and etc. in dmesg after setting up devices and mtd.
can use the recovery's busybox in /system, but other binaries say 'x: not found' even though 'busybox ls' shows them.
and if it's building for the wrong chipset or something, why does init run?
frustrating. I've gotten one generic aosp gingerbread build out of 10 to boot up with a good boot.img. none so far with the ics except for those abortive boots where it fails to run the /system binaries.

I'm sure it's some kind of install or permissions error. I can adb push /system completely from gb or ics build folder while android is running on the phone, and run toolbox and such afterwards in adb shell, but a reboot doesn't work after that (and ICS stuff over CM7 causes all kinds of FCs in the running UI after the push, where GB doesn't; but no surprises there.)
I've tried the recovery fix permissions function too, no dice.
Wish I still had fastboot access, that seems to be an easy way around the permissions issue from what I've googled.
Next will try 'make otapackage' and see if it installs that way. Ugh.
found a better variant, make updatepackage. no, that just makes a userdata zip. bah humbug. back to the dangerous otapackage... either gotta fix build/core/Makefile to not include recovery or just remember to be careful and remove the recovery from the zip before flashing.
otapackage was what I originally wiped out my first OV with, stupid install-recovery.sh
 
Last edited:
  • Like
Reactions: JerryScript

jdcnosse

Well-known member
May 11, 2011
512
44
0
Visit site
So I may be behind the times in that I'm just working on compiling regular IHO, but as of the last sync with the IHO repos, I can't seem to compile the zip file anymore.

I get multiple errors, but I'm working on them one at a time lol so first ones first.

Code:
packages/apps/CMParts/src/com/cyanogenmod/cmparts/activities/DisplayActivity.java:85: cannot find symbol
symbol  : variable config_enableScreenAnimation
location: class com.android.internal.R.bool
        if (getResources().getBoolean(com.android.internal.R.bool.config_enableScreenAnimation)) {

I've tried googling this, and I can't find anything about config_enableScreenAnimation. I've found stuff about internal.R.bool, but everything I've found yields that config_enableScreenAnimation doesn't exist, at least in that package...

However removing the code that relates to the Electron Beam control (the screen animation when you turn off/on the screen) fixes the error, but that would mean that there'd be no screen animation.
 
Feb 19, 2011
1,971
284
0
Visit site
I got weird build errors in odd places like that before when I synced at a bad time... I think CM7 stuff was being uploaded as I was downloading. A couple syncs later, the errors went away on their own...
 
  • Like
Reactions: jdcnosse

jdcnosse

Well-known member
May 11, 2011
512
44
0
Visit site
I got weird build errors in odd places like that before when I synced at a bad time... I think CM7 stuff was being uploaded as I was downloading. A couple syncs later, the errors went away on their own...

That's probably it, because I'm also getting errors in the lockscreen that I didn't get before...
 

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
Have you set up your local repo to pull in changes from CM? Blarf hasn't syncd IHO with CM for a couple of weeks, so you'll have to pull in changes yourself in the meantime. Using git pull with the URL to the CM repos in question should grab those changes. If you want to look at them before merging, then use git fetch instead, look at the diff, then rebase/merge as needed.
 
  • Like
Reactions: bigsupersquid

BobZhome

Well-known member
Mar 27, 2011
296
627
0
Visit site
So I may be behind the times in that I'm just working on compiling regular IHO, but as of the last sync with the IHO repos, I can't seem to compile the zip file anymore.

I get multiple errors, but I'm working on them one at a time lol so first ones first.

Code:
packages/apps/CMParts/src/com/cyanogenmod/cmparts/activities/DisplayActivity.java:85: cannot find symbol
symbol  : variable config_enableScreenAnimation
location: class com.android.internal.R.bool
        if (getResources().getBoolean(com.android.internal.R.bool.config_enableScreenAnimation)) {

I've tried googling this, and I can't find anything about config_enableScreenAnimation. I've found stuff about internal.R.bool, but everything I've found yields that config_enableScreenAnimation doesn't exist, at least in that package...

However removing the code that relates to the Electron Beam control (the screen animation when you turn off/on the screen) fixes the error, but that would mean that there'd be no screen animation.
Jerry is correct...CMParts is up to date and is looking for a symbol that is not in Frameworks/Base, because it is not up to date.
 

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
@BobZhome: Something that I'm confused about, hoping you might clear up a question about git?

I do the following:

cd frameworks/base
git remote add upstream git://github.com/CyanogenMod/android_frameworks_base.git
git pull upstream (should I rebase here?)

My question is, once blarf does sync up with CM, I always get sync errors using repo sync. I manually fix it by deleting my local copies of the repos in question, then re-syncing. This lack of understanding about git is what has kept me from maintaining my local changes on github.

Can you offer some steps that would better maintain all necessary commit histories without manually deleting local repos and re-syncing?
 

BobZhome

Well-known member
Mar 27, 2011
296
627
0
Visit site
When you use pull, Git tries to automatically do your work for you. It is context sensitive, so Git will merge any pulled commits into the branch you are currently working in. One thing to keep in mind is that pull automatically merges the commits without letting you review them first. If you don’t closely manage your branches you may run into frequent conflicts.

Normally I use: git fetch upstream
And then I'll use: git merge upstream/gingerbread
When you fetch, Git gathers any commits from the target branch that do not exist in your current branch and stores them in your local repo. However, it does not merge them with your current branch. This is particularly useful if you need to keep your repo up to date but are working on something that might break if you update your files. To integrate the commits into your master branch, you use merge. This combines the specified branches and prompts you if there are any conflicts.

Every so often I do need to delete a local branch, that's normal with large updates.
 
  • Like
Reactions: JerryScript

jdcnosse

Well-known member
May 11, 2011
512
44
0
Visit site
Have you set up your local repo to pull in changes from CM? Blarf hasn't syncd IHO with CM for a couple of weeks, so you'll have to pull in changes yourself in the meantime. Using git pull with the URL to the CM repos in question should grab those changes. If you want to look at them before merging, then use git fetch instead, look at the diff, then rebase/merge as needed.

Ahh, nope, that would probably fix it but I didn't know how to sync both IHO and CM, in the same folder. Not to mention I'm a git noob so all this repo & git stuff gets to be confusing lol

Thanks though :) (I'd click thanks but I'm on my phone so there's no thanks button lol)
 

asadullah

Well-known member
Oct 23, 2010
480
182
0
Visit site
So I been reading the cdma hero section ics thread on xda and one of the guys said that he synced with the master branch where as i used the "android-4.0.1_r1" branch. Is that why I'm getting errors? What has everyone else synced?
Here's my setup fresh install ubuntu 11.10 (today) 64bit no other repos or branches (currently repo syncing hoping things change) Should I get the master branch? Is anyone else using ubuntu 11.10? who shot J.R ?

Okay I just thought about it. I've built gingerbread and froyo from source on 11.04 but if anyone feels different please let me know.
 
Last edited:

Forum statistics

Threads
943,212
Messages
6,917,831
Members
3,158,883
Latest member
Abdul Ali