• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

Root [Discussion - Developers _ONLY_] Building ICS from source (Isaac's github).

+1
I just started picking up in this but my laptop "broke". might be a delay, but oh well.
On the other hand, whyzor, I'm confused. Could I just use Isaac's git and get a booting ROM or pull from other sources? This is probably a noob question that has an obvious answer somewhere in this thread, but I'm just asking :D


Edit: I just noticed that SD card wasn't mounting properly. Has anybody tried taking vold from cm7 (system/bin), changing permissions to 777, then putting it in ics using adb push?

I think you can start with Isaac's git, but then have to merge in repos that he's tracking but block you from getting newer version from CM directly (he normally does merges for us when he was active). Now we have merge ourselves. Also overlay edowar's device repo & maybe build kernel from his repo too.
 
Thats the thing im working with cm9 and the device folder all on its own and its working. But I have to be carefull because it changing so fast.
1 hour I get a complete build the next I get errors. its crazy.
 
+1
I just started picking up in this but my laptop "broke". might be a delay, but oh well.
On the other hand, whyzor, I'm confused. Could I just use Isaac's git and get a booting ROM or pull from other sources? This is probably a noob question that has an obvious answer somewhere in this thread, but I'm just asking :D


Edit: I just noticed that SD card wasn't mounting properly. Has anybody tried taking vold from cm7 (system/bin), changing permissions to 777, then putting it in ics using adb push?

That's how they fixed the SD card on the Kindle Fire ICS ROM
 
UPDATE: This weekend I rewrote the code for android_device_motorola_triumph to the ICS standards and compiled it with the Google's ICS 4.0.3 source. I am just about there, it failed on the build this morning hanging on legacy audio drivers. After doing some quick research this is a normal problem and I need to make some changes to a few of the make files. I'll keep you all posted on the outcome :cool:
 
UPDATE: This weekend I rewrote the code for android_device_motorola_triumph to the ICS standards and compiled it with the Google's ICS 4.0.3 source. I am just about there, it failed on the build this morning hanging on legacy audio drivers. After doing some quick research this is a normal problem and I need to make some changes to a few of the make files. I'll keep you all posted on the outcome :cool:

Sounds good, please push any changes you made to a public repo (github?) so we can pick up those updates too.
 
For hardware acceleration, something must be wrong here:
Code:
# Graphics
BOARD_USES_ADRENO_200 := true

TARGET_USES_GENLOCK := true
TARGET_USES_CPU_UPLOAD := true
TARGET_USES_C2D_COMPOSITION := true
BOARD_EGL_CFG := device/motorola/triumph/egl.cfg
#BOARD_OVERLAY_FORMAT_YCbCr_420_SP := true
#BOARD_OVERLAY_MINIFICATION_LIMIT := 2
USE_OPENGL_RENDERER := true
TARGET_USES_SF_BYPASS := true
TARGET_HAVE_BYPASS := true
#BOARD_NO_RGBX_8888 := true
BOARD_USES_OVERLAY := true
TARGET_QCOM_HDMI_OUT := true
COMMON_GLOBAL_CFLAGS +=  -DREFRESH_RATE=60 -DMISSING_EGL_EXTERNAL_IMAGE -DMISSING_EGL_PIXEL_FORMAT_YV12 -DMISSING_GRALLOC_BUFFERS -DQCOM_HARDWARE
TARGET_GRALLOC_USES_ASHMEM := true
I can't figure out for my life what went wrong.

Also, questions for those who are good at git:
1. Let's say I edited files in a folder. Is there a way I can get those original files back again?
Would
Code:
 repo sync -j2
bring the original files back?

Edit: Figured it out. RM'd the directory and synced, have the original files again. Still confused on step 2.


2. Whenever I edit the files in Whyzor's guide the way he wants me to, I still get errors when I try to use
Code:
git status -s


Am I not fixing the files? Is there a way to "refresh" the files?
Here are the files that need to be "fixed" after pulling edowar's source.




PS: For cell phone, I remember something about the Triumph using VMSPLIT 3G. This line in the BoardConfig (linked above) mentions VMSPLIT.
Code:
<<<<<<< HEAD
TARGET_USES_2G_VM_SPLIT := true
#TARGET_USES_OLD_LIBSENSORS_HAL := true
=======
TARGET_GLOBAL_CFLAGS += -mfpu=neon -mfloat-abi=softfp
TARGET_GLOBAL_CPPFLAGS += -mfpu=neon -mfloat-abi=softfp

TARGET_USES_2G_VM_SPLIT := true
# TARGET_USES_OLD_LIBSENSORS_HAL := true
>>>>>>> cdc8f3187b0698f3a2ce902f67c339943519e238
Shouldn't it be 3G_VM_SPLIT?
 
For hardware acceleration, something must be wrong here:
Code:
# Graphics
BOARD_USES_ADRENO_200 := true

TARGET_USES_GENLOCK := true
TARGET_USES_CPU_UPLOAD := true
TARGET_USES_C2D_COMPOSITION := true
BOARD_EGL_CFG := device/motorola/triumph/egl.cfg
#BOARD_OVERLAY_FORMAT_YCbCr_420_SP := true
#BOARD_OVERLAY_MINIFICATION_LIMIT := 2
USE_OPENGL_RENDERER := true
TARGET_USES_SF_BYPASS := true
TARGET_HAVE_BYPASS := true
#BOARD_NO_RGBX_8888 := true
BOARD_USES_OVERLAY := true
TARGET_QCOM_HDMI_OUT := true
COMMON_GLOBAL_CFLAGS +=  -DREFRESH_RATE=60 -DMISSING_EGL_EXTERNAL_IMAGE -DMISSING_EGL_PIXEL_FORMAT_YV12 -DMISSING_GRALLOC_BUFFERS -DQCOM_HARDWARE
TARGET_GRALLOC_USES_ASHMEM := true
I can't figure out for my life what went wrong.

It may not be the boardconfig problem, it may be the OS is throwing errors when trying to use the drivers, you'd have to look at 'logcat' or 'dmesg' when the OS is running to know.

Also, questions for those who are good at git:
1. Let's say I edited files in a folder. Is there a way I can get those original files back again?
Would
Code:
 repo sync -j2
bring the original files back?

'git checkout <file>' would usually destroy your local changes until you 'git commit' them.

2. Whenever I edit the files in Whyzor's guide the way he wants me to, I still get errors when I try to use
Code:
git status -s
Edit: Figured it out. RM'd the directory and synced, have the original files again. Still confused on step 2.

Am I not fixing the files? Is there a way to "refresh" the files?

git status -s tells you which files would be commited, it'll also point out the files that have unresolved merges. to resolve those merges, edit them or use mergetool. Then you have to 'git add file' to stage them for commit again. edit another file, then 'git add file2'. then check to see 'git status -s' gives you all files that have the same status. then you're ready for 'git commit'

Take half an hour and go through the tutorial at Git Reference (only 3 pages). And it'll all make more sense.
 
I have 3 files left to merge, that I can't.
Does anyone mind merging them for me? My computer is unable to open .ko or kernel files for some reason D:
(It says "file not ascii")


Code:
git commit
U	kernel
U	modules/librasdioif.ko
U	recovery_kernel
fatal: 'commit' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.

Here is the link.
 
I have 3 files left to merge, that I can't.
Does anyone mind merging them for me? My computer is unable to open .ko or kernel files for some reason D:
(It says "file not ascii")


Code:
git commit
U    kernel
U    modules/librasdioif.ko
U    recovery_kernel
fatal: 'commit' is not possible because you have unmerged files.
Please, fix them up in the work tree, and then use 'git add/rm <file>' as
appropriate to mark resolution and make a commit, or use 'git commit -a'.
Here is the link.

Can't merge binary files, only source code files. With binary files, it's better to just overwrite with one that works (or more recent if both work).

G60madman says edowar's device repo doesn't look like it'll work for us, and Isaac's may be a little better suited for the MT, but also requires changes for ICS. He'll share when he has something working.
 
Can someone help me? I've set up Ubuntu to dual boot on my laptop and I've got the terminal set up and such and I follow the build cm7 guide (just replace "gingerbread" with "ics") and I've gotten to the git, but when I do
Code:
repo sync -j2
it will run for a couple hours, but it will end with a fetch error... I've ran it twice and both times it stopped with a fetch error... Anyone know why?
 
Can someone help me? I've set up Ubuntu to dual boot on my laptop and I've got the terminal set up and such and I follow the build cm7 guide (just replace "gingerbread" with "ics") and I've gotten to the git, but when I do
Code:
repo sync -j2
it will run for a couple hours, but it will end with a fetch error... I've ran it twice and both times it stopped with a fetch error... Anyone know why?

Marc,

The best way to sync is using https you will have a lot more luck.

repo init -u https://github.com/ikarosdev/android.git -b ics
 
If you add the /bin folder to $PATH it should sync fine. Mine will sync this way, but building is a whole 'nother story.
 
I do that then I do the repo sync and I get fetch errors..

Marc,

Another thing to try is the following taken from source.android.com

More rarely, Linux clients experience connectivity issues, getting stuck in the middle of downloads (typically during "Receiving objects"). It has been reported that tweaking the settings of the TCP/IP stack and using non-parallel commands can improve the situation. You need root access to modify the TCP setting:

$ sudo sysctl -w net.ipv4.tcp_window_scaling=0
$ repo sync -j1

Just so you know the j portion of the command means how many jobs to simultaneously download from the git at one time. If you are having problems it maybe better to limit to 1 instead of 2.
 
Marc,

Another thing to try is the following taken from source.android.com

More rarely, Linux clients experience connectivity issues, getting stuck in the middle of downloads (typically during "Receiving objects"). It has been reported that tweaking the settings of the TCP/IP stack and using non-parallel commands can improve the situation. You need root access to modify the TCP setting:

$ sudo sysctl -w net.ipv4.tcp_window_scaling=0
$ repo sync -j1

Just so you know the j portion of the command means how many jobs to simultaneously download from the git at one time. If you are having problems it maybe better to limit to 1 instead of 2.

Ok I'll try that before I go to bed and let it sync while I sleep.

Edit: Ok syncing now we'll see how it turn out in the morning...
 
g60madman, how is progress so far? Were you able to get anything working yet?

Also, a general question: If hardware acceleration is a problem in the OS itself, and not in the kernel or our device-specific files, how do we go about fixing it? By editing lines in the OS source itself to accept the Triumph's GPU?
First off, that seems like a daunting task. Secondly, if I remember, the Triumph uses the Ardeno 200 or something. There must be another phone with the same GPU as ours, with an ICS ROM available. I'm guessing we could contact the developer of that ROM, and ask how they worked around the GPU problem?
 
g60madman, how is progress so far? Were you able to get anything working yet?

Also, a general question: If hardware acceleration is a problem in the OS itself, and not in the kernel or our device-specific files, how do we go about fixing it? By editing lines in the OS source itself to accept the Triumph's GPU?
First off, that seems like a daunting task. Secondly, if I remember, the Triumph uses the Ardeno 200 or something. There must be another phone with the same GPU as ours, with an ICS ROM available. I'm guessing we could contact the developer of that ROM, and ask how they worked around the GPU problem?

Ideos x6, and other variants, thunderbolt... That's all I can think of right now... They all have adreno 205 like us...
 
Huawei who makes the Triumph also just came out with a CDMA phone for Cricket in Dec. It uses the same snapdragon (but at 1.4Ghz) and the same adreno 205 chipset. It comes stock with gingerbread and for a short time they had a ICS download available on their Chinese web site. Screen is 4" , and the rear camera is 8mp.
 
Huawei who makes the Triumph also just came out with a CDMA phone for Cricket in Dec. It uses the same snapdragon (but at 1.4Ghz) and the same adreno 205 chipset. It comes stock with gingerbread and for a short time they had a ICS download available on their Chinese web site. Screen is 4" , and the rear camera is 8mp.

Ahh yea the Hauwei Honor! Yea I saw a site talking about the ICS download for it, but there was nothing on the website... Well hopefully we can get something from that. Especially since its on a cdma carrier, same SoC, etc.
 
g60madman, how is progress so far? Were you able to get anything working yet?

Still working on it I didn't have a chance yesterday due to a stomach flu/food poison event yesterday. I am still home sick from work today so will see if I feel good enough to take a crack at the code...
 
Ahh yea the Hauwei Honor! Yea I saw a site talking about the ICS download for it, but there was nothing on the website... Well hopefully we can get something from that. Especially since its on a cdma carrier, same SoC, etc.

Keep an eye out for kernel source code release for these other similar devices. Most of the MT's software problems come from the kernel.
 
Keep an eye out for kernel source code release for these other similar devices. Most of the MT's software problems come from the kernel.

Ok I'm going to try and get the source code from Motorola... I tried live support first and got referred to the level 2 technical department so we'll see how that goes... I hope I can get somewhere, but we'll see...

Edit: also aren't they obligated to give us the source code for the kernel? Don't they break some regulation or something by not providing it?
 
Back
Top Bottom