[DEV][WIP]Building ICS for the OV

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
Git allows you to keep multiple repos together using branching. I'm just learning the ins-n-outs, so anyone that sees something wrong in what follows, please correct me!

cd ~/WORKING_DIR/android/device/lge/thunderc
git checkout ics
git remote add BobZhome git://github.com/BobZhome/android_device_lge_thunderc.git
git fetch BobZhome
git status
(check things out, correct conflicts/fast-forwards/etc)
git merge BobZhome ics
git commit -a -m "Synced with BobZhome's ICS"

This should allow you to keep a working copy of Bob's stuff, without messing up your gingerbread branch. To switch back to gingerbread, git checkout gingerbread. ;)
 

BobZhome

Well-known member
Mar 27, 2011
296
627
0
Visit site
yep. Just deleted the wrong thing.

LOL
I've always wondered what would happen if you did a adb remount then rm -rf /


I'm currently doing a git clone on bobzhome repositories using this
Code:
git clone git://github.com/BobZhome/vendor_lge_thunderc.git
git clone git://github.com/BobZhome/android_device_lge_thunderc.git
git clone git://github.com/BobZhome/android_build.git
git clone git://github.com/BobZhome/android_dalvik.git
git clone git://github.com/BobZhome/android.git
git clone git://github.com/BobZhome/android_frameworks_base.git
git clone git://github.com/BobZhome/vendor_lge_gelato.git

and then I'll merge it into my code
You don't need the following:
android_frameworks_base.git > currently still using original, I haven't made any changes
vendor_lge_gelato.git > different phones, currently only working on the VM670
 

tony5593

Well-known member
Mar 1, 2011
201
15
0
Visit site
MAN, i wish i could help you guys... xD
You guys have made alot of progress pretty fast. Keep it up! :)

Sent from my LG-VM670 using Tapatalk
 

asadullah

Well-known member
Oct 23, 2010
480
182
0
Visit site
You don't need the following:
android_frameworks_base.git > currently still using original, I haven't made any changes
vendor_lge_gelato.git > different phones, currently only working on the VM670

Thanks I thought that was the slide but as I google I see it's the enlighten.
 

BobZhome

Well-known member
Mar 27, 2011
296
627
0
Visit site
Well im going to atempt building today. just so i can take a peak at whats going on. have you been able to build a arm6 version yet?

Yes, arm6 built with no stops/errors...but it didn't boot

Right now, my top issue is to get the proprietary files integrated correctly into the build.

Thanks I thought that was the slide but as I google I see it's the enlighten.
The gelato board is for the Optimus Slider(Virgin Mobile) and Optimus Q(Straight Talk)...I'm not sure what board the Enlighten uses.
 

konspiracy

Active member
Sep 4, 2011
27
0
0
Visit site
Yes, arm6 built with no stops/errors...but it didn't boot

Right now, my top issue is to get the proprietary files integrated correctly into the build.


The gelato board is for the Optimus Slider(Virgin Mobile) and Optimus Q(Straight Talk)...I'm not sure what board the Enlighten uses.

Oh that must be what squid was talking about when he said his arm6 build wouldnt boot. Its not arm6 its
armv6tej
 
Feb 19, 2011
1,971
284
0
Visit site
my armv6k-vfp and armv5te-vfp generic builds both booted to a certain point and then looped endlessly.
Code:
I/sysproc ( 1477): System server: starting Android runtime.
I/sysproc ( 1477): System server: starting Android services.
I/sysproc ( 1477): System server: entering thread pool.
I/SystemServer( 1477): Entered the Android system server!
I/SystemServer( 1477): Entropy Service
F/libc    ( 1477): Fatal signal 7 (SIGBUS) at 0x00000000 (code=128)
I/SystemServer( 1477): Power Manager
The kernel says the processor is slightly different, the armv6tej, but I don't think that matters a whole lot.
I found a reference on xda to debuggerd/vfp.S not supporting armv6-vfp causing bootloops after entropyservice, and how to modify it to work. thanks jaybob413
I'm going to try that. For some stubborn reason I'd gain a lot more satisfaction basing a build off of generic aosp than plunking in some version of the existing thunderc folders and debugging them to work for ics. (or working from the cm repo like others getting functional builds; for the heroc and Bob's build are good examples)
I couldn't even get those folders to work in aosp gingerbread, and they've changed things up in the build system so much that I can't even get it to build the kernel with the rom anymore until I find another way to do this in AndroidBoard.mk (I borrowed it from the qualcomm surf-msm7627 device in CAF gingerbread repo):
Code:
#----------------------------------------------------------------------
# Compile Linux Kernel
#----------------------------------------------------------------------
ifeq ($(KERNEL_DEFCONFIG),)
    KERNEL_DEFCONFIG := thunderc-sprint-perf_defconfig
endif

include kernel/AndroidKernel.mk

file := $(INSTALLED_KERNEL_TARGET)
ALL_PREBUILT += $(file)
$(file) : $(TARGET_PREBUILT_KERNEL) | $(ACP)
	$(transform-prebuilt-to-target)
which now gives this error:
Code:
============================================
build/core/main.mk:536: *** Some files have been added to ALL_PREBUILT.
build/core/main.mk:537: *
build/core/main.mk:538: * ALL_PREBUILT is a deprecated mechanism that
build/core/main.mk:539: * should not be used for new files.
build/core/main.mk:540: * As an alternative, use PRODUCT_COPY_FILES in
build/core/main.mk:541: * the appropriate product definition.
build/core/main.mk:542: * build/target/product/core.mk is the product
build/core/main.mk:543: * definition used in all products.
build/core/main.mk:544: *
build/core/main.mk:545: * unexpected oprofile.ko in ALL_PREBUILT
build/core/main.mk:546: *
build/core/main.mk:547: *** ALL_PREBUILT contains unexpected files.  Stop.
I don't want to build the kernel seperately, I want the hooks into the kernel headers to work. And I need to incorporate the touchscreen and accelerometer fixes for ics (thanks vienti) into the kernel so it needs to be rebuilt anyway.
edit: I submitted it to http://groups.google.com/group/android-building to see if someone knows of a solution, since ICS is too new for me to get many relevant search results to oddball problems. First post there, hopefully I'm not eaten alive for overlooking something stupid!
 
Last edited:
Feb 19, 2011
1,971
284
0
Visit site
How are things squid? keep us in the know it helps noob builders like me and people who google these problems.

I'll keep posting errors and possible solutions as I run into them.
Right now the build is still running... I'm using a 1.7GHz 2GB RAM laptop, which is compiling about 5X as fast as my last desktop. Should be testable within a couple more hours.

for what it's worth, system/core/debuggerd/vfp.S did compile after the patch (the patch is a major improvement over commenting out 90% of the file which is what I did to get it to build the first time, which bootlooped)

For more speed, I'll have to come up with a couple of hundred bucks to buy a newer computer somehow :p or find a faster one dumped on the curb like my last couple desktops. :D

BobZhome is making much better progress at this point. I couldn't clone his thunderc device folder due to net connection problems, so I've gone back to poking around with the generic builds for the moment trying to get a full boot.

I'm kind of a noob builder myself, unless you count assembly language and BASIC like 20 years ago :cool: and a little foray recently into kernel building. Anything up-to-date (C, J2ME, HTML) I'm still just piddling around.

But, I do recognize syntax errors pretty well from that past experience. And these high-level languages are relatively easy to pick apart compared to 8-bit assembly language.

Don't worry, I'll keep you all posted, and Asadullah, Jerry, and Bob have all been throwing out tons of useful info too! This thread has grown pretty fast considering the relative scarcity of ETA requests.


edit: that vfp.S patch looks cleaner but did not fix the bootloop I'm getting.
It still loops at the same point, whether armv5te-vfp or armv6k-vfp.
Guess I'll have to take the easier way out and take a day to pull down Bob's repo after all...
 
Last edited:

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
Cyanogen finally merged a commit Blarf made a while back for the apns-conf.xml file to include Virgin Mobile US, but the mcc and mnc are not correct, use the values from IHO or BobZhome's repo till we can submit a fix for it.

I'm afraid to comment on the commit after my last attempt. ;)
 
  • Like
Reactions: bigsupersquid

konspiracy

Active member
Sep 4, 2011
27
0
0
Visit site
Cyanogen finally merged a commit Blarf made a while back for the apns-conf.xml file to include Virgin Mobile US, but the mcc and mnc are not correct, use the values from IHO or BobZhome's repo till we can submit a fix for it.

I'm afraid to comment on the commit after my last attempt. ;)

I hear ya. I made a comment on google + about that optimus s variant having cyanogenmod preinstalled and I said its funny that the optimus line isnt even supported by cyanogen and yet the first phone to come with it is an optimus s. I really hope they can eventually back us up.
 

pergerson6

Well-known member
Feb 7, 2011
1,113
72
0
Visit site
I hear ya. I made a comment on google + about that optimus s variant having cyanogenmod preinstalled and I said its funny that the optimus line isnt even supported by cyanogen and yet the first phone to come with it is an optimus s. I really hope they can eventually back us up.

We have IHO backing us up! That's good enough for me.

Sent from my LS670 using Tapatalk
 

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
@BobZhome: I took a shot at building from your repo once the relatives finally left. I almost immediately got this error:
Code:
make: *** No rule to make target `out/target/product/thunderc/kernel', needed by `out/target/product/thunderc/boot.img'.  Stop.
make: *** Waiting for unfinished jobs....
I see the kernel in device/lge/thunderc, and it's in device/lge/thunderc/files/kernel/VM670 along with the modules, but I don't know if they are the same kernel images, or how to point to the proper one.
 
  • Like
Reactions: bdfull3r

redhat#AC

Active member
Jun 18, 2011
25
4
0
Visit site
if anyone wants to pay for my internetz i can set up my computer as an ubuntu server and you can build ics via remote its an i7 920 4 core 8 thread cpu overclocked to 3.2ghz 12GB of ram and 1TB hd im sure that will be enough to build ics in about an hour or two
or i can sell it for a few hundred
also if any one needs an extra optimus i have one of them aswell
 

BobZhome

Well-known member
Mar 27, 2011
296
627
0
Visit site
The problem I'm having is the copying over.
If you copy the kernel to 'out/target/product/thunderc/', it will build with out an more stops or errors.
 
  • Like
Reactions: JerryScript

JerryScript

Daydream Believer
Mar 8, 2011
2,055
1,559
0
Visit site
The problem I'm having is the copying over.
If you copy the kernel to 'out/target/product/thunderc/', it will build with out an more stops or errors.

Blarf doesn't watch this thread much, but I know he's interested, shoot him an email and I'll bet he can help with where to do the copying properly.
 

konspiracy

Active member
Sep 4, 2011
27
0
0
Visit site
if anyone wants to pay for my internetz i can set up my computer as an ubuntu server and you can build ics via remote its an i7 920 4 core 8 thread cpu overclocked to 3.2ghz 12GB of ram and 1TB hd im sure that will be enough to build ics in about an hour or two
or i can sell it for a few hundred
also if any one needs an extra optimus i have one of them aswell


I have a six core thuban at 3.7ghz and I would let them build on my computer for free.
The fact is between the internet speeds and transfer time they would be almost better off compiling for themselves.
 
Feb 19, 2011
1,971
284
0
Visit site
I got an answer about making the kernel as part of the build.
I don't like it, because I'm supposed to download at least 1/2 GB to look at the source files referenced (which will take me until tomorrow to finish syncing, probably,) but at least it's an answer of some kind.
Hopefully it's not just a copy of a pre-built kernel he's referring to, but even if it is it should help with the copy problem in BobZhome's ics build.
Jean-Baptiste Queru said:
In a nutshell, ALL_PREBUILT is a private variable of the core build
system, and the core build system now defends itself when random
makefiles modify that specific variable, as that causes confusion down
the line.

Check how the kernel is installed with PRODUCT_COPY_FILES in device/samsung/tuna

JBQ
I'll be asking there for alternative methods if my theory about tuna using a prebuilt kernel is correct. I won't know until I can successfully sync the stupid bloated tuna/maguro device folders in my personal copy of the repo. I deliberately took that cruft out of the manifest to give the repo a better chance of downloading over my slow connection.

edit: oooh, nevermind my cursing! CM has the tuna and maguro devices on github, so I can just browse that junk.
the appropriate part of device.mk:
Code:
ifeq ($(TARGET_PREBUILT_KERNEL),)
LOCAL_KERNEL := device/samsung/tuna/kernel
else
LOCAL_KERNEL := $(TARGET_PREBUILT_KERNEL)
endif
Looks like it'll handle either prebuilt or build it as part of the product if I can figure out how to set TARGET_PREBUILT_KERNEL correctly. Too bad I have to request again the specific information I thought I asked for clearly in the first post there...
 
Last edited:
  • Like
Reactions: bdfull3r