Hello
As the prebuilt Kernel which comes with the dream-open project is not as cutting edge es I'd like it to be, I wanted to build the Kernel myself and checked out the sources for 2.6.29.
Now I've got some questions and problems:
Are there any known problems of using this kernel with the master branch? Are there any special/manual changes needed?
What are the best settings for the .config file to get a performance oriented and good kernel? Is msm_defconfig any good? (Maybe someone has a .config he could share with me?)
Are there any build time optimizations which would increase perfomance? (I read something about -O2)
Does only the WiFi Module have to be rebuilt?
When I played around, I got an error that a file (elf.h) is missing. How would I correct that/Which file is meant/Where would I get it?
It would be great if someone could answer these questions
Thank you very much
Many people want to run a working froyo on their devices.
This won't be possible in a clean way without compiling a new kernel.
To archive this goal, we need to merge the Huawei specific device drivers (which are for 2.6.29) into a new kernel tree, the 2.6.32.9 one (or even 2.6.35 but 2.6.32.9 comes first since it is stable and thus important to us).
I did some research and preliminary work which I will explain here:
- The base kernel Huawei started with is available here (gitweb) - also check their wiki.
- Huawei started with the Q8650BSDCANLYA324020 tag on the donut_glazed branch (see instructions at the end of the post)
- Huawei has written it's own board driver (note they have used a Q8650 kernel release not a MSM7x25 one, most likely because this board driver is a little older and was not available for the version they wanted)
- After they were finished writing their drivers they released the kernel source (as you can download it from Huawei)
I have checked out the Q8650BSDCANLYA324020 base kernel version and diffed it against the kernel release of Huawei, generated a patch file (and stripped out the DOS linebreaks wtf) which can be applied to the base kernel.
Applying this patch to a more recent kernel (2.6.32.9) is not possible without merging the code into the new kernel tree (and since I'm not a programmer I can't do it - this is were your help is needed).
The other question is in which kernel tree we can port the patch I have extracted. I think we can use Q8650BSDCANLYA504005 on the froyo_almond branch since Huawei used an older version of it. Merging it into the AOSP msm-2.6.32.9 tree may be possible too (but the code aurora msm kernel is an improved AOSP version, so I guess we want that one).
My patch (and some non-pulse-mini fixup patch) alongside with a freshly extracted and fixed .config for the U8120 can be found at http://nico.core.ws/misc/huawei_kernel_u8100_8110_8120/
To port the source you need to checkout the original source (Q8650BSDCANLYA324020), create a new branch in which you apply the Huawei patch, then checkout the froyo kernel (Q8650BSDCANLYA504005) and merge your branch containing the changes from the patch into it.
Another way may be porting the froyo kernel tree back to the eclair one with Huawei patches.
Please post any results/questions/etc. here!
If we should get this working we can also enable the GPU driver (Adreno 200) as requested by many people (and much more (CyanogenMOD anyone? )).
Appendix:
Instructions on how to get the original source:
$ git clone git://codeaurora.org/kernel/msm.git
$ git checkout Q8650BSDCANLYA324020
Instructions on how to apply the patch (assuming "msm" is the kernel tree):
$ cp diff_kernel_msm_aurora_Q8650BSDCANLYA324020.diff msm/
$ cd msm/
$ patch -p1 < diff_kernel_msm_aurora_Q8650BSDCANLYA324020.diff
If you are compiling for U8100 or U8120 phones, you need to apply another
patch which fixes sensors (otherwise your phone won't be able to read battery
level and stuff):
$ cp needed_fixes_for_non_u8110_devices.diff msm/
$ cd msm/
$ patch -p1 < needed_fixes_for_non_u8110_devices.diff
Note that the above instructions will get you nothing new, only the kernel already running on your device.
This thread is about porting the Huawei patch to a froyo kernel.
Very nice! Thank you for this topic!
I hope this will be successfull
Are the Atheros sources included aswell?
[GER]Roxxor said:
Are the Atheros sources included aswell?
Click to expand...
Click to collapse
To be honest, I don't know. They should be in there though (maybe under a more generic driver name or integrated in the board driver) otherwise Huawei would have violated the GPL.
The problems with the fixes:
wifi
They got almost wifi working in other post
radio
FM radio too with an 3rd party app
dpad
dpad crash in this post too 2 pages back just disable this
screen calibration
calibration fix can meaby be fixed with HTC calibrate??(its an calibration app)
sound
I solve the sound problem with my phone is to replace the libaudio.so from 2.1rom,maybe you can try.\
cedric123 said:
here is an source for the adreno drivers.
https://www.codeaurora.org/gitweb/q...b819424af4be;hb=refs/heads/android-msm-2.6.32
Click to expand...
Click to collapse
Basically this is the complete kernel source for froyo without Huawei patches (it's the wrong tag too).
When we have ported the drivers we easily can enable that driver.
cedric123 said:
the froyo kernel source: http://www.huaweidevice.com/tcpsdow...&attachmentName=kernel-2.6.32-U8150-Froyo.zip
Click to expand...
Click to collapse
Thats the source for the U8150, not the ones we want. The only thing which may help us at a future point in there is the kernel config.
cedric123 said:
If you compile a kernel right now you'd get a kernel that won't read the batterylevel and the magnetic compass won't work so we need to make a few adjustments.
Click to expand...
Click to collapse
This is in needed_fixes_for_non_u8110_devices.diff
So nothing new here.
So what can we do to help?
Is there a way to chat in XDA?
Any news on this?
cedric123 said:
here is an source for the adreno drivers.
LINK REMOVED
Here are some are adreno 200 drivers from a Custom nexus one ROM:
Areno Drivers package contains the adreno rivers only(i could miss some drivers here so look for the package above contains all drivers from the nexus rom
LINK REMOVED
Click to expand...
Click to collapse
Possible to make an update.zip for this Adreno 200 driver on 2.1 while 2.2 is not working?
editeditediteditediteditedit
Maybe he's working on the project.
Leito92 said:
Maybe he's working on the project.
Click to expand...
Click to collapse
I dont think so he's not saying anything about it for 1 week now...
But even if he doesnt say anything, this topic can be useful.
Someone with git/kernel/c knowledge need to port the patch.
nicoderboss said:
Someone with git/kernel/c knowledge need to port the patch.
Click to expand...
Click to collapse
Who can do That?
Kallt_kaffe meaby?
nicoderboss said:
Someone with git/kernel/c knowledge need to port the patch.
Click to expand...
Click to collapse
You need some elemental knowledge in C and then simply cut and paste the text in the files.
However, I think that it is more important to be able to compile from source and install the existing Huawei Linux kernel for the U8120. That is, can we compile from source all the code for Android 2.1-update1 and install on the U8120?
It might be good to try to get CyanogenMod on the U8120 for the kernel version that Huawei provides. Then, we can cut down the 1.5MB patch into smaller parts, and even try to get the drivers included in the Linux kernel.
I have not idea how to compile Android 2.1-update1 and get the plain old android source on the phone. I am willing to invest the CPU clocks to compile it, though.
cedric123 said:
Who can do That?
Kallt_kaffe meaby?
Click to expand...
Click to collapse
Dunno, it's quite a huge and advanced task.
Sent from my Vodafone 845 using XDA App
maybe we can get some kernel developers from the desire topic to help us?
I have send Benee, deovferreira, Kali- a PM maybe they could help us
nicoderboss said:
Dunno, it's quite a huge and advanced task.
Sent from my Vodafone 845 using XDA App
Click to expand...
Click to collapse
Can we just replace the normal kernel in the command list for the new kernel so you apply patch in the new kernel(u8150)froyo kernel?
I have had contact with benee a kernel developer for the htc desire. He is willing to help but he needs a device so he can test kernels he build. It is not possible to build kernels without a device because this is a huge project without a good base.
Maybe we can setup a fund raiser to get him a device?
hello. im new to android and i'm messing with openvpn and i need tun.ko. from what i understand, not just any tun.ko will work with a particular rom so i was wondering if anyone knows where i can obtain or at least make this file that would possibly work with the TPGB20110518 rom? thanks.
You should probably post in the author's thread, but I sse you probably can't post in the dev section yet (need 10 posts I think). Anyway, I looked at that ROM in the dev section and it's apparently running Di11igaf's kernel. I checked out his thread here:
http://forum.xda-developers.com/showthread.php?t=1070501
but he doesn't post any links to the kernel source.
With the source, it would be a simple matter of compiling in the module and adding it. I'd suggest you contact the author.
Pm the developer and he will respond asap
the issue was actually already resolved. did a bit of reading and apparently tun.ko file was built into cm so seeing as tpgb is based off of cm, it was built in as well. =)
Source is posted. Git is in my sig for the kernel
Hello guys.I would life to request the caf kernel for p500 if someone has it in his pc because the download link isn't available anymore and I lost the zip during a microsd card failure.This is the kernel I'm talking about: http://forum.xda-developers.com/showthread.php?t=1468792 .
If anyone has it please post a download link here.Don't recommend me other kernels because I already have in mind to flash SH 4d/9d kernel,but I have my reasons to think that caf has better battery life.Thanks all !
I already pmed @thachtunganh and some other people who i thought might have it,but either i didn't got an answer,either the answer was no.
This is the only CAF kernel I have on my phone, but I don't remember what version this is. Use at your own risk.
Link: https://copy.com/Qb7YS
Hi ,
I have and old msm7225 device , and development on xda has stopped . obviously everyone have bought a new phone ( me too ) , and nobody cares about it .
since i am not using it as my everyday phone , i want to bring a new kernel for it . It currently has a 2.6.32 kernel , and i want to port 2.6.35 or .38 .
i have some knowledge about kernels ,i have done some additions to the current kernel and i can fix most of the compilation errors that i will face ( i've tried it before ) , but i don't know what it needs to make it boot .
i don't expect a full working kernel , just boot and screen working , and then i'll start to fix the rest , one by one .
thnx
TakisBeskos said:
Hi ,
I have and old msm7225 device , and development on xda has stopped . obviously everyone have bought a new phone ( me too ) , and nobody cares about it .
since i am not using it as my everyday phone , i want to bring a new kernel for it . It currently has a 2.6.32 kernel , and i want to port 2.6.35 or .38 .
i have some knowledge about kernels ,i have done some additions to the current kernel and i can fix most of the compilation errors that i will face ( i've tried it before ) , but i don't know what it needs to make it boot .
i don't expect a full working kernel , just boot and screen working , and then i'll start to fix the rest , one by one .
thnx
Click to expand...
Click to collapse
For that you will have to patch your kernel upstream. Search for upstream patches of the specific kernel from CAF.. or some other devices must have patched it... who's source you may find on xda or on github.
If you are looking to port kernel 3.x.x .. then HTC Explorer ( which has Msm7225a ) also runs kernel 3.0.100 so you check out its kernel source that is probably the closest device you will get apart from HTC Golfu
There are no guides as such. Basic knowledge on C/C++ is required as well as good knowledge on the linux kernel and you will have to read in depth its documentation.
http://kernelnewbies.org/ is a good site to gain some knowledge on the subject.
Red Devil said:
For that you will have to patch your kernel upstream. Search for upstream patches of the specific kernel from CAF.. or some other devices must have patched it... who's source you may find on xda or on github.
If you are looking to port kernel 3.x.x .. then HTC Explorer ( which has Msm7225a ) also runs kernel 3.0.100 so you check out its kernel source that is probably the closest device you will get apart from HTC Golfu
There are no guides as such. Basic knowledge on C/C++ is required as well as good knowledge on the linux kernel and you will have to read in depth its documentation.
http://kernelnewbies.org/ is a good site to gain some knowledge on the subject.
Click to expand...
Click to collapse
htc explorer has msm7225a which is armV7 with adreno 200 . msm7225 is armv6 without gpu (like htc buzz which has 2.6.35 kernel ).
I am not a total noob in kernels , i can port some features and fix some problems on my existing kernel .
but i want to experiment , on new kernel