Hey guys lithid here with another helper script, and how-to. As some of you may know I have recently decided to start building kernels. While I still work on roms, I found kernels to be strange, and sometimes difficult. So instead of taking that knowledge and holding it to myself, I figured I would release it here and hopefully it could open the doors for more people working on kernels.
Basically I created a script, that would do the entire build process for a kernel, it would copy the config you want from arch/arm/configs, assigned the compiler, then compile the kernel. Now after the first time I compiled this I did a copy and paste to Koush's AnyKernel updater, while that was fine and only took a min or two, I found it really annoying to do it everytime, specially when I am testing changes to the compiled kernel. So I added in a any-kernel folder to my built environment. I also added the tool-chain compiler I would be using as well into my repo.
AnyKernel folder
Cross Compiler
Now this was great. I didn't have to build anything manually, all's I needed to do was sign the zip and then push it to my phone.
Then I thought (being so lazy) why not just have this script auto-sign the zips for me and place them in my home folder? So I did. I also added in my own keys so the signature is mine! =P
Auto-Sign
Now for the fun stuff, recently there have been some roms out there that use a slightly different flashing method. Well I solved that as well. Now the script not only builds one update.zip for the compiled kernel. It creates 3 one for each rom type.
Quote:
Synergy Nightly
Synergy Godmode
Universal (All other sense roms)
|
So everything is basically done. Devs would be able to implement my script into their kernel environment to build kernels for all roms that are supported here on XDA.
How to:
NOTE: You will need to get a list of applications installed and be running linux for this to work. I used Ubuntu 11.04 for all my building needs. If you want a quick list of packages you will need to install first click here there you can install corresponding packages to compile this.
Code:
git clone https://lithid@github.com/lithid/Htc-Sense-Freedom-Kernel.git
cd Htc-Sense-Freedom-Kernel
./build-it.sh {version #}
That's it!
Here is an example:
Error:
Code:
lithid@WoRkBot:~/Development/Htc-Sense-Freedom-Kernel$ ./build-it.sh
Written by Lithid
[Error]: Expected 1 parameter, got 0.
Usage: bash build-it.sh v# [BUILD VERSION]
Good:
Code:
lithid@WoRkBot:~/Development/Htc-Sense-Freedom-Kernel$ ./build-it.sh v0.3
Here is a link to the script if you are interested in seeing what I wrote. Of course it will be updated over and over again. Just figured this would be something Devs and/or users who are inspired to be devs to build a kernel without no knowledge really.