Related
NEW:
Working .34-rc3 kernel available at http://forum.xda-developers.com/showpost.php?p=6290443&postcount=45
OLD:
Code:
This is an experimental .34-rc2 kernel for the Nexus One.
Provided in the zip file is a folder (2.6.34-rc2-termana-nexusone) and the kernel (zImage).
It is extremely experimental, so only follow this if you [B][I][U]really[/U][/I][/B] know what your doing and know how to reflash another kernel back to make it boot again if it doesn't boot. I'm not responsible if your device curls over and dies.
Use adb to push the folder into /system/lib/modules/ and then use fastboot to flash the kernel.
The kernel is a rebase of cyanogen's .33.1 kernel to the latest .34-rc2 kernel. So nothing particularly new about it, besides the satisfaction that not many people would be running this kernel version on devices.
Zip file: bit.ly/94Oo6m (To download it click the link next to the text "Save file to your PC:")
Edit: Being a new member of xda-developers forum, it wouldn't let me post the link properly, but just copy and paste it and you'll be fine.
what folder are you talking about that needs to be pushed into /system/lib/modules/
there's only one folder in 2.6.34-rc2-termana-nexusone folder and that's kernel
also, is this kernel undervolted/overclocked/audio boost? can you give more info on the kernel itself?
thanks
jblazea50 said:
what folder are you talking about that needs to be pushed into /system/lib/modules/
there's only one folder in 2.6.34-rc2-termana-nexusone folder and that's kernel
also, is this kernel undervolted/overclocked/audio boost? can you give more info on the kernel itself?
thanks
Click to expand...
Click to collapse
Here is the changelog. Grab a cigarette and a cup of coffee it's damn long:
http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.34-rc2
I just flashed the zimage, and the phone went into a boot loop. Do I have to install anything else?
jblazea50 said:
what folder are you talking about that needs to be pushed into /system/lib/modules/
there's only one folder in 2.6.34-rc2-termana-nexusone folder and that's kernel
also, is this kernel undervolted/overclocked/audio boost? can you give more info on the kernel itself?
thanks
Click to expand...
Click to collapse
You have to push the 2.6.34-rc2-termana-nexusone folder, the whole thing, THAT folder, so that you end up with the a folder in /system/lib/modules called 2.6.34-rc2-termana-nexusone. There are no changes regarding undervolting, overclocking or audio boosting (unless cyanogen's kernel has included one of these) - but for general kernel changes jlevy73 provided a link to the mainline changelog.
Will give it a go nad logcat it
Termana said:
You have to push the 2.6.34-rc2-termana-nexusone folder, the whole thing, THAT folder, so that you end up with the a folder in /system/lib/modules called 2.6.34-rc2-termana-nexusone. There are no changes regarding undervolting, overclocking or audio boosting (unless cyanogen's kernel has included one of these) - but for general kernel changes jlevy73 provided a link to the mainline changelog.
Click to expand...
Click to collapse
thanks, thought it was a mistake that you said push that folder, glad you clarified it for me
thanks again
jlevy73 said:
Here is the changelog. Grab a cigarette and a cup of coffee it's damn long:
http://www.kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.34-rc2
Click to expand...
Click to collapse
damn, that is long; won't bother reading that thing
Termana said:
You have to push the 2.6.34-rc2-termana-nexusone folder, the whole thing, THAT folder, so that you end up with the a folder in /system/lib/modules called 2.6.34-rc2-termana-nexusone. There are no changes regarding undervolting, overclocking or audio boosting (unless cyanogen's kernel has included one of these) - but for general kernel changes jlevy73 provided a link to the mainline changelog.
Click to expand...
Click to collapse
I used this:
adb push 2.6.34-rc2-termana-nexusone /system/lib/modules/2.6.34-rc2-termana-nexusone
Click to expand...
Click to collapse
...and it still went into a boot loop for me.
hotweiss said:
I used this:
...and it still went into a boot loop for me.
Click to expand...
Click to collapse
You sure that wouldn't create a folder within a folder?
Not really sure just saying...
So is this working for you Termana?
I tried both have the subfolder and just pushing all the files to /modules and both produced a bootloop
i pushed the folder to /system/lib/modules/ and flashed zimage, but just get bootloop
I should of been more clear. I released the kernel as extremely experimental as I don't have a Nexus One yet to test it on. I will be obtaining one in April/May some time. However, if people are willing to help me test these kernels, I will keep building and changing things until we get something that works. If no wants to help at all, then I will just wait until I obtain one to do any of this kind of work.
So if anyone does want to test, I will be doing another compile in the next day or two to be tested.
I seriously thought, you tested it on your Nex before posting it....was a missunderstanding.
Termana said:
I should of been more clear. I released the kernel as extremely experimental as I don't have a Nexus One yet to test it on. I will be obtaining one in April/May some time. However, if people are willing to help me test these kernels, I will keep building and changing things until we get something that works. If no wants to help at all, then I will just wait until I obtain one to do any of this kind of work.
So if anyone does want to test, I will be doing another compile in the next day or two to be tested.
Click to expand...
Click to collapse
Did you cross compile the source against the ARM source?
hotweiss said:
Did you cross compile the source against the ARM source?
Click to expand...
Click to collapse
You might need to rephrase your question as the way you've said it doesn't let me know exactly what you mean by "ARM source". Do you mean using the Android ARM toolchain or what?
To anyone that is willing to help me test:
New build available at - bit.ly/c1tFqg (just the zImage, don't worry about pushing the modules for now)
Info:
This is a .33.1 kernel not a .34-rc2 kernel HOWEVER, I wanted to get the source that I'm rebasing off tested to make sure it boots, because if the source I'm pulling from doesn't boot, then obviously my rebases aren't going to either. So, please test it and tell me if it boots, if it does, I'll have another .34-rc2 kernel build up shortly after. If it doesn't, I may have to try rebasing from the official .32 kernel rather than the current source I'm rebasing from at the moment (which is .33.1).
Booted for me.
Code:
2.6.33.1-cyanogenmod
[email protected] #1
Should I post this in the kerenls list or wait till we know what it does, I dont think its a good idea to post yet with the noobs that might be flashin it and complaining.
Justin241982 said:
Should I post this in the kerenls list or wait till we know what it does, I dont think its a good idea to post yet with the noobs that might be flashin it and complaining.
Click to expand...
Click to collapse
I wouldn't post it yet. The first one he posted doesn't boot and the second one he posted I don't believe has any optimizations.
Hey does anybody have a TUT in how to decompile an existing kernel so i can make some changes and then recompile it?
Sent from my GT-I9001 using XDA
Hey did you ever get your answer? I am also looking to do the same thanks.
EternalFame said:
Hey does anybody have a TUT in how to decompile an existing kernel so i can make some changes and then recompile it?
Click to expand...
Click to collapse
This is not the way it's done.
You'll have to get your kernels configuration. This is done either by see if there's a /proc/config.gz using the running kernel, or using the extract-ikconfig script shipped with the kernel source to extract the configuration from the kernel file.
Code:
$ extract-ikconfig kernel.img-kernel
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.32.9
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_GENERIC_GPIO=y
CONFIG_GENERIC_TIME=y
[...]
This configuration you supply to the kernel source. If the vendor got some specific patches (they do), you'll have to get the kernel source from them, patches included. They must supply you the source, or be in violation of the GNU General Public License.
Building the Android boot image using mkbootimg, you'll also have to get the base address from this config.
Code:
$ extract-ikconfig kernel.img-kernel | grep PHYS_OFFSET
CONFIG_PHYS_OFFSET=[B]0x00200000[/B]
Now you have everything you'll need to build a correctly configured kernel and making the Android boot image. Detailed build instructions are included in the kernel source as well.
Wow thank you
Sent from my SGH-T989 using xda premium
Can we extract kernel with dsixda kitchen?
Edward Cullen
Kernel can be extracted, rename to *.zip
purrungo said:
Kernel can be extracted, rename to *.zip
Click to expand...
Click to collapse
it kernel.lz or etc format when use extractor it say corrupted archive
why manufacturers have to provide kernel to users when they don't want users to modify their products?. Many manufacturers just sell devices, and strangely there are many dev.er who CaN overclock or patch, modify the kernel with boot.img, HOW did they do thAt??? Kernel source code sometimes is their devevloper source code, not from manufacture stock source code.
i want to de and recompile kernel file for WSA
(windows subsystem for android)
any help?
foxhackerr said:
Any help?
Click to expand...
Click to collapse
Depending on what/how much you want to modify it can be easier to patch an existing kernel than to build from scratch. Me? I'm lazy. I never build anything.
Get boot image
Extract kernel
Decompress kernel
Extract kallsyms
Disassemble kernel
Come up with a patch and patch it
Put it back together
(Steps 4 & 5 may be combined depending on your tools. I do them separately.)
Renate said:
Depending on what/how much you want to modify it can be easier to patch an existing kernel than to build from scratch. Me? I'm lazy. I never build anything.
Get boot image
Extract kernel
Decompress kernel
Extract kallsyms
Disassemble kernel
Come up with a patch and patch it
Put it back together
(Steps 4 & 5 may be combined depending on your tools. I do them separately.)
Click to expand...
Click to collapse
How to do this??
kxrma said:
How to do this??
Click to expand...
Click to collapse
Use dd if rooted or EDL or extract from update
I use my imgutil.exe
I use my imgutil.exe
I use my kallsyms.exe or cat /proc/kallsyms on a running system
I use the stock objdump processed afterward with my own findref.exe (not really released yet). You could use Ghidra.
Use any hex editor. I also use my own kpatch.exe (not really released yet).
I use my imgutil.exe
Hey guys, we have here a kernel built from the kernel source HTC released on 8/29/12 for Vigor. This kernel is a modified version of what came in the Official 3.14.605.12 ICS OTA except it is built from HTC's kernel source release. What else can I say?
Bugs:
-?
Current features:
Perflock Disabled
Fast charge enabled using any power source - Thanks to Chad, I used his commits as a reference
Download:
Link Removed
Download Global OTA Compatible Version (Thanks to MicroMod for making it happen
Link Removed
Install:
Place zip on sd
Reboot to recovery (I use amon)
Install from zip
Select the zip file
The file will flash and then the phone will reboot to hboot
Once there, simple press power to select bootloader
Accept the update
It will install
Reboot your phone
????
Enjoy
Don't forget to go delete the PH98IMG.zip from your SD Card after boot.
Disclaimers:
I won't be responsible for what you flash on your phone or any damge that could be caused. Always use caution when modifying any part of your device.
Credits:
Thank con247 for the auto kernel flasher.
Thanks Chad for all your awesome kernel knowledge.
My Github for this kernel:
Link Removed
/// Info for new devs \\\
How to disable perflock in an HTC kernel through source
Simple, open you source. Open the arch/arm/configs. Find the file vigor_defcofig. Find the following lines:
Code:
CONFIG_PERFLOCK=y
CONFIG_PERFLOCK_BOOT_LOCK=y
Change them to:
Code:
# CONFIG_PERFLOCK is not set
# CONFIG_PERFLOCK_BOOT_LOCK is not set
Perflock is now disabled. Build your source
Changing the kernel name
Open the scripts folder in the root of your source. Find and open the file makecompile_h. Find the lines:
Code:
echo \#define LINUX_COMPILE_BY \"`echo $LINUX_COMPILE_BY | $UTS_TRUNCATE`\"
echo \#define LINUX_COMPILE_HOST \"`echo $LINUX_COMPILE_HOST | $UTS_TRUNCATE`\"
Edit how you want:
Code:
echo \#define LINUX_COMPILE_BY \"`echo wildstang83`\"
echo \#define LINUX_COMPILE_HOST \"`echo vigor-ics`\"
Enjoy
Is this a sense kernel? I know...but noobs should have heads up.
Sent from my HTC Rezound using xda premium
I'm going to keep count of the flood of kernels that are sure to come.
This is #1
Anyway will download tomorrow, way too tired right now
Sent from my Nexus 7 using Tapatalk 2
What makes this different from the stock ones?
apophis9283 said:
What makes this different from the stock ones?
Click to expand...
Click to collapse
As far as I know, absolutely nothing. I could be wrong though. Some of you that remember the Incredible or Thunderbolt will remember how the kernel that was in the ota for those devices and the kernel source released after the ota were different. HTC had added in minor fixes to the kernel source release that was not in the ota. I don't know if that is the case here, just a thought though.
It's not different. Lmao read the title. Looking forward to see what come from this, stang
Sent from my ADR6425LVW using Tapatalk 2
antp121 said:
It's not different. Lmao read the title. Looking forward to see what come from this, stang
Sent from my ADR6425LVW using Tapatalk 2
Click to expand...
Click to collapse
Exactly, we can assume this kernel is no different from the one in the OTA. Unless of course someone else can prove otherwise.
wildstang83 said:
As far as I know, absolutely nothing. I could be wrong though. Some of you that remember the Incredible or Thunderbolt will remember how the kernel that was in the ota for those devices and the kernel source released after the ota were different. HTC had added in minor fixes to the kernel source release that was not in the ota. I don't know if that is the case here, just a thought though.
Click to expand...
Click to collapse
Is that Kernel still perflocked?
Not totally familiar with what could be different between stock and custom built stock from source.
Quantumrabbit said:
Is that Kernel still perflocked?
Not totally familiar with what could be different between stock and custom built stock from source.
Click to expand...
Click to collapse
If built as is from source, I'd say yes. Give the devs some times, you'll see them come out with perflock removed.
mjones73 said:
If built as is from source, I'd say yes. Give the devs some times, you'll see them come out with perflock removed.
Click to expand...
Click to collapse
Right, this kernel was not intended to be custom in anyway whatsoever. It is simply a kernel built from source. I know I like stock things, I'm sure others do as well.
i honestly love you wild stang. and neo and mbobino.
Nice work stang
Sent from my ADR6425LVW
I got a stock build with PERFLOCK disabled building right now. I'll upload that to the OP in just a minute.
I love you
Sent from my Nexus 7 using Tapatalk 2
Perflock disabled version added to OP.
Will this work with sense 4 roms?
i guess with perflock disabled, we could underclock? or at least change the governors and stuff using cpu controller apps?
apophis9283 said:
Will this work with sense 4 roms?
Click to expand...
Click to collapse
in theory, yes. would i attempt it? not quite yet.
antp121 said:
in theory, yes. would i attempt it? not quite yet.
Click to expand...
Click to collapse
Should be fairly simple to insure a Sense 4 version. Just grab a sense 4 boot.img like newtoroots or whatever, open it up in android kitchen and drop in the zimage from my kernel's zip. Repackage the boot.img and fastboot flash it. ant, you should try it
wildstang83 said:
Should be fairly simple to insure a Sense 4 version. Just grab a sense 4 boot.img like newtoroots or whatever, open it up in android kitchen and drop in the zimage from my kernel's zip. Repackage the boot.img and fastboot flash it. ant, you should try it
Click to expand...
Click to collapse
sounds a little bit difficult for an end user just like me with no idea about dev things
Sent from my ADR6425LVW using xda premium
Hello guys. Found this guide for kernel reverse-engineering via IDA pro. I have done several steps, but can`t separate the image itself from the extractor in the zImage file. Should i even continue, or the idea is useless? Is it`s useful, you can download and try to unpack the zimage by yourself, and i also have the symbols for a script.
[email protected] said:
Hello guys. Found this guide for kernel reverse-engineering via IDA pro. I have done several steps, but can`t separate the image itself from the extractor in the zImage file. Should i even continue, or the idea is useless? Is it`s useful, you can download and try to unpack the zimage by yourself, and i also have the symbols for a script.
Click to expand...
Click to collapse
I saw your post about this in another thread, and I did not want to discourage you, so I kept quiet. But, since you now ask directly, I will advise you to not waste your time. Even with full source code, kernel hacking is not for the faint-hearted, and is far from a trivial exercise. With no source code (or with incomplete source code), you might as well want to try getting hedgehogs to fly to Mars ...
Hi there! First, I'm no dev (got some experience about building Roms/Kernel from source) so sorry if I ask noobish things .
I got the same problem with the mi4s zimage (want to reverse engineer because official kernel sources are incomplete..) couldn't I just extract everything out of boot partition and create the source-code out of that? or what's the Problem by doing this? If the extracted source code (for whatever reason) is incomplete, wouldn't it be possible to get the missing things from official source released by xiaomi?
Thanks in advance
wertus33333 said:
...couldn't I just extract everything out of boot partition and create the source-code out of that? or what's the Problem by doing this? If the extracted source code (for whatever reason) is incomplete, wouldn't it be possible to get the missing things from official source released by xiaomi?
Click to expand...
Click to collapse
You want to extract compilable linux kernel source code from a compiled kernel? Sorry to disappoint you - but human beings will learn to climb a rope from Europe to the moon before you could achieve it. You might be able to disassemble the kernel, but you would not get anything near something compilable.
Hint: if it could readily be done, do you not think someone in these and other forums would have done it already?
DarthJabba9 said:
You want to extract compilable linux kernel source code from a compiled kernel? Sorry to disappoint you - but human beings will learn to climb a rope from Europe to the moon before you could achieve it. You might be able to disassemble the kernel, but you would not get anything near something compilable.
Hint: if it could readily be done, do you not think someone in these and other forums would have done it already?
Click to expand...
Click to collapse
There are lots of people who already did this! (see xiaomi forums redmi 3s, mi pad, Samsung galaxy s3, i9000/9001 etc. etc.). And those kernel are indeed working (even better than the ones from source) (yes, I tried it).
U ask why no one already did this? maybe because Mi4s community is very small (not even our own section..) and its quite a new device.
So why is it possible with other phones but not with mi4s?
Ty for help and explanation
Btw, can u explain it technically? not like "humans will learn to breathe in space before"....
wertus33333 said:
There are lots of people who already did this! (see xiaomi forums redmi 3s, mi pad, Samsung galaxy s3, i9000/9001 etc. etc.). And those kernel are indeed working (even better than the ones from source) (yes, I tried it).
Click to expand...
Click to collapse
If you mean that somebody patched a binary kernel, yes, that can be done, and I have done it myself. If you mean that somebody disassembled a binary kernel into compilable source code, I very much doubt that. If you claim that others have done it, why not post a link to the source code that they extracted, so that we too can try our hands at compiling it?
wertus33333 said:
U ask why no one already did this? maybe because Mi4s community is very small (not even our own section..) and its quite a new device.
So why is it possible with other phones but not with mi4s?
Click to expand...
Click to collapse
I am totally unconvinced about the claim that "it is possible with other phones". Please show the evidence.
wertus33333 said:
Ty for help and explanation
Btw, can u explain it technically? not like "humans will learn to breathe in space before"....
Click to expand...
Click to collapse
A simple example - http://blog.packagecloud.io/eng/201...-and-disassmble-a-linux-kernel-image-vmlinuz/
Scroll to the bottom of the page and see what you will get for your efforts. Try compiling that. Better still, try editing it to add missing things or fix/remove broken things, and then compiling it. Finally, you are talking about 15 million lines of source code. Good luck.
for example here: http://en.miui.com/thread-125557-1-1.html
http://forum.xda-developers.com/android/software-hacking/how-to-reverse-engineer-kernel-t3137384
Maybe we're talking about different matters, I just want to implement UV and OC in the original xiaomi kernel to use it with smiui... As you seem to know a lot about linux kernels, how can this be done?
Greetz
wertus33333 said:
for example here: http://en.miui.com/thread-125557-1-1.html
http://forum.xda-developers.com/android/software-hacking/how-to-reverse-engineer-kernel-t3137384
Click to expand...
Click to collapse
These are the bases of your claim that it can be done? I cannot see anywhere in those two threads where anybody was able to do anything useful with what was being proposed.
wertus33333 said:
Maybe we're talking about different matters, I just want to implement UV and OC in the original xiaomi kernel to use it with smiui... As you seem to know a lot about linux kernels, how can this be done?
Click to expand...
Click to collapse
I know how to compile linux kernels when the full source code exists. I also know how to patch such sources to edit/add/remove specific things. I also know how to patch an uncompressed binary kernel if I know exactly which offset(s) to patch and which values to substitute for what is already there. I have done this for 32-bit RK3188 android kernels in my old tablets (search the ARCTABLET forums and you might see some of my historic work on overclocking RK3188 binary kernels). This was easier for RK kernels than for MTK, and much can go wrong. If all is that is needed for what you want to do is to change specific values at specific offsets, then all you need is a hex editor and the necessary information about offsets/values. If you are trying to add a new feature, then you need the full source code from the vendor.
Get yourself a backup phone before trying anything of the sort. Like I said before, I wish you good luck!
Thank you for that information. Wouldn't it be possible to edit the things in zimage (unpacked) and then just re-pack it and use it? There shouldn't be anything missing if I'm able to find the correct offset for the lzo compressor...
wertus33333 said:
Thank you for that information. Wouldn't it be possible to edit the things in zimage (unpacked) and then just re-pack it and use it?
Click to expand...
Click to collapse
It is a binary file, which of course you can edit with a hex editor. But what exactly are you proposing to edit in it?
Isn't it an image containing files from Kernel? Otherwise they wouldn't talk about extracting it... Yes, I need to edit it with a hex-editor to remove the lzo header (zimage is a self extracting archive, but i want to extract it with normal zip extractor) but cant find where the header starts.
wertus33333 said:
Isn't it an image containing files from Kernel? Otherwise they wouldn't talk about extracting it... Yes, I need to edit it with a hex-editor to remove the lzo header (zimage is a self extracting archive, but i want to extract it with normal zip extractor) but cant find where the header starts.
Click to expand...
Click to collapse
Your questions show a misunderstanding of what a kernel is. The best I can do is to refer you to Android kernel development information - see e.g.,
http://www.99droid.com/android-kernel-development-tutorial-let-the-development-begin/
http://source.android.com/source/index.html
http://source.android.com/source/building-kernels.html
At this point, I bow out of this discussion.
I have a custom ROM which I am building from source. I would like to modify the source code so that an app comes pre-installed with it. As far as I am aware, the app should end up in /system/app on the built ROM.
But where do I put the apk in the source, so it gets put in the correct place in the system image?
cameron-martin said:
I have a custom ROM which I am building from source. I would like to modify the source code so that an app comes pre-installed with it. As far as I am aware, the app should end up in /system/app on the built ROM.
But where do I put the apk in the source, so it gets put in the correct place in the system image?
Click to expand...
Click to collapse
I would recommend taking a look at this guide here http://stackoverflow.com/questions/33622299/add-prebuilt-apk-to-aosp-build. If you have any questions please let me know I'll be happy to answer them !