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

Root kernel, drivers, etc

soleen

Newbie
Hi everyone,

First of all, I'd like to thank everyone in the development community for their contributions. Motorola Triumph is an incredible device that lacks a good software support. So I'd like to start a thread in which we could list things which we need to solve to get full software support.

1. Triumph was released with Froyo, and was never updated since, which means we got stuck with an old kernel:

Code:
Android Version          Kernel Version
2.2.x Froyo              2.6.35
2.3.x Gingerbread        2.6.35
4.0.x Ice Cream Sandwich 3.0.1
4.1.x Jelly Bean         3.1.10

As far, as I understand, bringing kernel up-to-date is not that difficult. We need to compare stock linux 2.6.35 to the released Motorola kernel sources, and generate patches. After that, the patches can be ported to newer kernel, even to 3.1.10.

2. The bigger problem is the drivers. As far as I understand all the drivers are proprietary, and it would take disassembling, hacking and re-writing the whole driver stack. Or to be able somehow link the current proprietary drivers to the newer kernel. If someone tried to do something like that, please describe in this thread what were the challenges, and what was achieved. I'd also like to see a list of all the drivers that we need to be able to move to a newer kernel.
 
If I recall correctly b_randon has gotten the kernel to atleast .39, and although I haven't read up on it in awhile I believe the lastthing I saw was he was trying to bring it up to a newer one but said there was some issues with it


The issue with the driver if I recall correctly again is that we don't have what's needed for them, but even when our development figure it out and create tweaks and hacks to get it to work, if the kernels updated it stops working, if the cm source code is updated it stops working, and cm7, cm9, and cm10 all read the devices differently so different fixes would be required for each one, which leads to massive work for the devs, the best bet for the devices would be to wait atleast till the cm source is final, so then there are no source updates

G60Madman and the MTDev team have gotten farthest from what I've seen by actually, getting the HDMI to register and show a blue screen under there cm7
 
Hi everyone,

First of all, I'd like to thank everyone in the development community for their contributions. Motorola Triumph is an incredible device that lacks a good software support. So I'd like to start a thread in which we could list things which we need to solve to get full software support.

1. Triumph was released with Froyo, and was never updated since, which means we got stuck with an old kernel:

Code:
Android Version          Kernel Version
2.2.x Froyo              2.6.35
2.3.x Gingerbread        2.6.35
4.0.x Ice Cream Sandwich 3.0.1
4.1.x Jelly Bean         3.1.10

As far, as I understand, bringing kernel up-to-date is not that difficult. We need to compare stock linux 2.6.35 to the released Motorola kernel sources, and generate patches. After that, the patches can be ported to newer kernel, even to 3.1.10.

2. The bigger problem is the drivers. As far as I understand all the drivers are proprietary, and it would take disassembling, hacking and re-writing the whole driver stack. Or to be able somehow link the current proprietary drivers to the newer kernel. If someone tried to do something like that, please describe in this thread what were the challenges, and what was achieved. I'd also like to see a list of all the drivers that we need to be able to move to a newer kernel.

I think everyone agrees that the updated kernel is what is holding us back from a working camera & HDMI in CM9 & 10- I'd get with the MTDEV team & offer them what help you can- they are really the main ones doing CM9 & 10 development for the MT. THe more people we have working on this that know what they're doing (unlike me, but at least I know what I don't know), the better!
 
Hi everyone,

First of all, I'd like to thank everyone in the development community for their contributions. Motorola Triumph is an incredible device that lacks a good software support. So I'd like to start a thread in which we could list things which we need to solve to get full software support.

1. Triumph was released with Froyo, and was never updated since, which means we got stuck with an old kernel:

Code:
Android Version          Kernel Version
2.2.x Froyo              2.6.35
2.3.x Gingerbread        2.6.35
4.0.x Ice Cream Sandwich 3.0.1
4.1.x Jelly Bean         3.1.10
As far, as I understand, bringing kernel up-to-date is not that difficult. We need to compare stock linux 2.6.35 to the released Motorola kernel sources, and generate patches. After that, the patches can be ported to newer kernel, even to 3.1.10.

2. The bigger problem is the drivers. As far as I understand all the drivers are proprietary, and it would take disassembling, hacking and re-writing the whole driver stack. Or to be able somehow link the current proprietary drivers to the newer kernel. If someone tried to do something like that, please describe in this thread what were the challenges, and what was achieved. I'd also like to see a list of all the drivers that we need to be able to move to a newer kernel.

We can still get by with the 2.6.32.59 kernel mantera released for CM9/CM10. It just needs to be patched. I have gotten very close with the camera on CM9 however the kernel needs patching at this point. Also we will need patching for HDMI to work as well. I have tried to do some kernel patches with no luck in moving us forward in the code. I will be spending all my time on the kernel for a while and hopefully get us rolling in the right direction.
 
Thanks everyone for your replies. I agree 2.6.32.{59 and greater}, is probably OK for now. But to get the true benefits of the new Android a newer kernel is probably better.

I believe, that sources that Motorola released for our device are here.

Is this correct, or are there newer sources released?

This one is based on 2.6.32.9 (In Makefile there are defines: VERSION = 2, PATCHLEVEL = 6, SUBLEVEL = 32, EXTRAVERSION = .9 . I will grab the 2.6.32.9 stock, and will generate the diffs between them to see how large set of changes we are talking about.
 
You would need to use the base msm kernel v 3.1 from code Aurora or the base msm 3.1 kernel from aosp instead of the base Linux patches. There are many changes outside of the base Linux code that is changed. Like in the android wakelock additions and low memory killer modules and then alot of board specific(such as msm or omap) change between the kernels. Trust me I have made a diff between the base msm kernel 2.6.32.9 and the stock Motorola source and its a very large patchfile. Then applying it over the next android kernel version 2.6.35.7 alot of the patch applied but there was literaly hundreds of failed hunks that you have to manually fix. It can be done though.
 
randon, thanks for your reply! I will use base msm kernel for this work. BTW, do you have pointers to sources of: msm kernel 2.6.32.9?
 
Hi g60madman,

Thank you for the pointer, it was indeed very helpful.

So I started from studying if froyo_pumpkin is the correct branch compared
to: froyo-release, froyo, and froyo_almond.

I did this like this:
1. Find the last revision for kernel 2.6.32.9 such that was made before
2011/03/25. (The date was chosen because in Motorola hirstoy file:
History_LINUX.txt this is the latest stamp.


2. list and save all filenames from each of those branches into a file
3. list and save all filenames from motorola's kernel_2_038.tar.tgz into another
file.
4. compare those files and find all files that were ADDED by motorola to MSM.

It turnedout that froyo_pumpkin had the least number of new files: 144. So
TickerGuy was correct in choosing this repo.

The next step was to figureout which revision is closest to Motorola triumph.
I did the same steps as above and found that starting from revision
M7630AABBQVLZA30350310 file drivers/video/msm/mdp_debugfs.c exists in both
our kernel and msm kernel, thus this is the earlest possible revision for
our kernel.

Next, I used diffs for all files, to find revision with fewest number of
changes: starting from M7630AABBQMLZA203006 and going up to M7630AABBQMLZA203019
exactly the same number of files changed. While with M7630AABBQMLZA2030 there
are 67 more files with differences.

The conclusion: we can should use M7630AABBQMLZA203019 as a base for generating
the patch. It is the closest to our kernel.

I also want to add that the next step for me will be to study the diffs and find which one of them is the smallest between M7630AABBQMLZA203006 and M7630AABBQMLZA203019
 
You would need to use the base msm kernel v 3.1 from code Aurora or the base msm 3.1 kernel from aosp instead of the base Linux patches. There are many changes outside of the base Linux code that is changed. Like in the android wakelock additions and low memory killer modules and then alot of board specific(such as msm or omap) change between the kernels. Trust me I have made a diff between the base msm kernel 2.6.32.9 and the stock Motorola source and its a very large patchfile. Then applying it over the next android kernel version 2.6.35.7 alot of the patch applied but there was literaly hundreds of failed hunks that you have to manually fix. It can be done though.

BTW, which branch of msm did you use to merge to 2.6.35.7?
 
BTW, which branch of msm did you use to merge to 2.6.35.7?

soleen,

Nice work! Check out Mantera's kernel he forked from tj_style which is 2.6.35.14 from our sister phone the huawei

https://github.com/mantera/2.6.35-kernel_msm7x30

Mantera said he has gotten the kernel to boot but it would crash from time to time. I have not been able to get it to boot myself but it does build. Here is a log me and Mantera where talking on about it.

https://github.com/mantera/2.6.35-kernel_msm7x30/commit/4d8b68ff353cb0038801932aab94a4f8ee23874f#-P0

If there is anything else I can help with feel free to post here or send me an PM!
 
thank you for working on this soleen im sure the mt dev are greatfull of any contributions as so is the rest of the mt community these kernel updates tho not completely nessesary are what we have been lacking and probably i would think would take the most work not imposible tho to someone w the right set of tools and know how hope to see u continue and not give up like most do and ultimately break some ground

cheers,
inub
 
I used froyo_pumpkin at the tag specified by tickerguy. Dude awesome work! When I get some free time I plan on helping out trying to work on the kernel! I hope you can get a moto additions patch file that's good! I use git diff to make my patch files. It seems to work better than normal diff. Just setup a git repo and then create one branch for stock and one for moto additions then do a git diff between the two branches!
 
Back
Top Bottom