Overclocked kernel (2.6.27) - STABLE - "Kanged the code" - Hero, G2 Touch Android Development

Introduction & Performace
I compiled a Hero 2.6.27 kernel with an overclock arround 710 MHz.
It's working perfectly for me, but I don't know how your devices will perform with it.
So be careful.
I won't provide the kernel binary nor an update.zip nor a boot.img.
I will just provide the final source.
There are several guides on how to compile the Hero kernel on the internet ;-)
It's quite easy.
The speed improvement is really good, especially the keyboard on 2.1 ROMs!
Linpack before the OC: 2.3 MFlops and 3.2 MFlops after the OC!
This kernel WILL work on 2.1 ROMs but it will lack the camera.
Best use on 1.5 Cupcake ROMs!
Also it will still show 528 Mhz.
Credits:
phhusson for providing the original patch and helping me out a bit
Teknologist whose kernel source this kernel is based on.
You can find the source here:
http://github.com/maxisma/Hero-OC-kernel/tree/67f94257b5159ea09ec1ed0bbfe818381860abe8/kernel-hero

a 2.1 kernel? thats crazy i want to try it and if my phone gets ruined i will curse your name!! (joking)
but seriously hope it doesnt screw my phone up thanks

Actually it's a 1.5 kernel.
Good work mate!

So any chance you guys pick up the 2.6.29 project again? Since apparently HTC has delayed 2.1 again..
Fantastic work by the way

Yeah! Thats awesome. I must try it now
But the battery lifetime will decrease at 20% ??

You probably should mentoin that some things don't work with this kernel. Or so I read on the CDMA forum.

tristan202 said:
You probably should mentoin that some things don't work with this kernel. Or so I read on the CDMA forum.
Click to expand...
Click to collapse
I'm guessing that the problems your referring to is because of running 2.1 on a 27 kernel

OttarA said:
I'm guessing that the problems your referring to is because of running 2.1 on a 27 kernel
Click to expand...
Click to collapse
Exactly.
10char

Anyone feel like making this into a flashable file for me?
Also a couple of questions:
Can I revert to the "normal" kernel? (and if I flash a new ROM will it replace this kernel? or do I need to do that manually?)
Will overclock widget pick this up or will it still have 528 as its maximum?

You just do an update.zip over your current ROM , if you want to go back, just do a nandroid backup or flash any other ROM, the kernel is always packed with the ROM you flash so updating over it overwrites the old rom

Someone want to compile it for me? I have no idea what to do.

G8D said:
Anyone feel like making this into a flashable file for me?
Click to expand...
Click to collapse
+1 I´m a newbie :/

I'm actually too lazy to make an update.zip too.. ;-)

Re: Overclocked kernel (2.6.27)
I'm actually too lazy to make an update.zip too.. ;-)
Click to expand...
Click to collapse
awfull when thinking of what Android stands for...

It isn't hard, he did state that its easy enough to find a guide on the net. Why not do it yourself if your that fussed?

How do i download the source? The download button does not work

Top right hand corner of that page... was it really that hard

dpi295 said:
How do i download the source? The download button does not work
Click to expand...
Click to collapse
Using a UNIX OS (here: Ubuntu)
1/ Install git:
Code:
sudo apt-get update && sudo apt-get install git-core
2/ setup git a little
Code:
mkdir ./git
cd ./git
git init
3/ Download sources using git
Code:
git clone http://github.com/maxisma/Hero-OC-kernel.git
At this time I've stop here, I'll try to compile it later (hope makefile is well written, I AM NOT a dev), and sure i'll give it as update zip coz is really easy and don't not take much time to sign.

nice to see this change and hope when the official 2.1 K source is released that the same patch can be incorporated into that also.

carbonyle said:
Using a UNIX OS (here: Ubuntu)
1/ Install git:
Code:
sudo apt-get update && sudo apt-get install git-core
2/ setup git a little
Code:
mkdir ./git
cd ./git
git init
3/ Download sources using git
Code:
git clone http://github.com/maxisma/Hero-OC-kernel.git
At this time I've stop here, I'll try to compile it later (hope makefile is well written, I AM NOT a dev), and sure i'll give it as update zip coz is really easy and don't not take much time to sign.
Click to expand...
Click to collapse
haha after a day of tweaking around in ubuntu, i managed to compile it. Well, its a slight improvement i suppose. swiping through the home screens is certainly much snappier. Gonna try the kernel on a 2.1 rom later.

Related

[Dev] Building a 2.6.29 kernel for the Hero

Hello,
I would like to build a 2.6.29 kernel for Hero for us to run properly Donut roms.
Here is my progress so far:
- I have sync the android kernel msm from git.
# git clone git://android.git.kernel.org/kernel/msm.git
# cd msm
# git checkout --track -b android-msm-2.6.29 origin/android-msm-2.6.27
- then:
# adb pull config.gz ./
# gunzip config.gz && mv config .config
# make PATH=$PATH:android-1.6_r1/prebuilt/linux-x86/toolchain/arm-eabi-4.2.1/bin ARCH=arm SUBARCH=arm CROSS_COMPILE=arm-eabi-
But no luck: it asks me questions to configure the kernel (error in .config?)
I have attached some useful files.
Try running make menuconfig and manually load the .config file. What happens?
kernel sources for hero is not available on http://developer.htc.com/ then no hero support in android.git.kernel.org/kernel/msm.git
Z!L0G80 said:
kernel sources for hero is not available on http://developer.htc.com/ then no hero support in android.git.kernel.org/kernel/msm.git
Click to expand...
Click to collapse
Well this guy did it here for sapphire before Htc released kernel sources.... So I think we can.
erikwt said:
Try running make menuconfig and manually load the .config file. What happens?
Click to expand...
Click to collapse
I copied the hero .config file to kernel root, then "make menuconfig" and loaded .config, then exit and yes to "write .config" question.
Make failed, output attached (make1.txt)
I then applied TigerTael sapphire patch as he "tends to think the memory locations may be correct". Tried to manually load hero's .config and got attached error (error.txt)
I then "make msm_defconfig" and could compile a kernel witch I added to ADP-1.6 boot.img. But no luck it does not work and adb logcat waits for device.... while I am waiting for advices
Regards
Was the downloaded config copied from a build of the same kernel version? If not do "make oldconfig" before commencing with "make menuconfig" or other build.
phel21 said:
Was the downloaded config copied from a build of the same kernel version? If not do "make oldconfig" before commencing with "make menuconfig" or other build.
Click to expand...
Click to collapse
'make oldconfig' asks me the questions to configure the kernel.....
Edit:
If that could help:
cat /proc/iomem
00700000-0079afff : msm_panel.1
007a0000-007bffff : ram_console
19200000-257fffff : System RAM
19223000-19513fff : Kernel text
19514000-195ebf7f : Kernel data
a0200000-a0200fff : msm_serial_hs.0
a0400000-a0400fff : msm_sdcc.1
a0500000-a0500fff : msm_sdcc.2
a0800000-a0800fff : msm_hsusb
a9900000-a9900fff : msm_i2c.0
a9900000-a9900fff : msm_i2c
a9c00000-a9c00fff : msm_serial.2
a9c00000-a9c00fff : msm_serial
aa200000-aa2effff : mdp
aa600000-aa600fff : msm_mddi.0
Yes. It will ask you questions as the kernel has added new capabilities - which you will need to configure. Use the help for the new options to guide your choices, although usually the default is the best way to go. Not doing "oldconfig" step will leave you with a busted build configuration.
I assume you're using the config options from /proc/config.gz on the phone?
CombinedEffort said:
I assume you're using the config options from /proc/config.gz on the phone?
Click to expand...
Click to collapse
of course I do
gecka said:
of course I do
Click to expand...
Click to collapse
Godspeed! (sorry, i cannot contribute anything as I am a total noob, but I'll read your progress regardless!)
(edit: i could beta test though..^_^)
http://forum.xda-developers.com/showpost.php?p=4737995&postcount=37
maybe this could be of any help?
E2K said:
http://forum.xda-developers.com/showpost.php?p=4737995&postcount=37
maybe this could be of any help?
Click to expand...
Click to collapse
please read first post
Now that kernel sources are out, it is time to port changes to 2.6.29.
Hey guys what would be the best? Apply HTC Hero kernel changes to 2.6.29 or apply 2.6.29 changes from 2.6.27 to hero kernel ?
I have applied HTC changes (3.4Mo patch!) to android2.6.29msm and I can compile it. When I run it it says it is a 2.6.27-dirty kernel... Why dirty ?
Lox, it probably means that some of your kernel changes from 2.6.27? or coded for 2.6.27 are not valid in the newer build, hence the 'dirty' reference.
Dirty here meaning spoilt or wrong.
I don't code, and i don't know exactly how much experience you have yourself, but do you reckon Cyanogen or maybe Drizzy could help some of you Hero ROM chefs out with some tips? I'm sure they'd love to give some pointers as to how they've gone about cooking on the Sapphire and Magic.
maybe you did a dirty trick
Lox_Dev said:
Hey guys what would be the best? Apply HTC Hero kernel changes to 2.6.29 or apply 2.6.29 changes from 2.6.27 to hero kernel ?
I have applied HTC changes (3.4Mo patch!) to android2.6.29msm and I can compile it. When I run it it says it is a 2.6.27-dirty kernel... Why dirty ?
Click to expand...
Click to collapse
You can get dirty tagged when you change owner of the files compared to the user who pulled them from git.
packetlss said:
You can get dirty tagged when you change owner of the files compared to the user who pulled them from git.
Click to expand...
Click to collapse
Well I understand that but I don't understand why it is not 2.6.29 ?
I have done:
git checkout --track -b android-msm-2.6.29 origin/android-msm-2.6.27
Why start with 2.6.29 and not the latest stable kernel (2.6.31.x) now that HTC-patches just have been released. According to the changelogs there's quite a few interesting android-specific improvements in those later revisions.
Is the intention to match kernel version for android 1.6 source? I'd expect generic android kernel-enhancements to be integrated into the kernel.org kernel. In that case it should be fairly easy to use a more recent kernel than that included in an official android release.
Lox, is this a dead project? Are you focusing on your optimized .27 kernel for our devices?

[KITCHEN] Minimal kernel building VM with scripts

I added some convenience scripts to the config. Read the new tutorial here
The old one still works:
I put together a small virtualbox vm with a very minimal debian config with which I was able to compile a working kernel. This is for all the people who are running Windows, and want to try modifying kernels/initramfs's. As this is a minimal config there are some drawbacks (like it doesn't have a graphical interface), but you can always install additional packages, if you want to.
The VM includes: debian, build essentials, git, vb guest additions, mc, vim and codesourcery 2010q1 gnu-eabi. (it's larger than the simple eabi version, but can be used to compile non-kernel applications too)
First of all I hate both SunOracle VirtualBox and debian, but VB is free, and debian is lean, so they'll do the job.
To get the image running do the following:
First download and install VirtualBox
Next download the VM image: http://android.sztupy.hu/dl/KernelCompilerVM-1.1.7z and extract it. (it's a large download. If you can please put it up a mirror)
Mirrors: (thanks to the people mirroring it)
- http://www.multiupload.com/THJV19BJ9X
- http://bote.ro/sztupy/KernelCompilerVM-1.1.7z
After this run virtualbox, and import this VM.
Run the VM. The username/passwords are: root/root and kernel/kernel. Login with kernel. (you can always switch to root using sudo)
Next choose what kernel/initramfs you want to compile.
Here are some links to kernels:
The original sources can be found at supercurio's git:
Code:
git://github.com/project-voodoo/linux_gt-i9000.git
froyo-samsung branch
The kernel of the voodoo project can be found at the same place:
Code:
git://github.com/project-voodoo/linux_gt-i9000.git
froyo-voodoo branch
The ULTK kernel can be found at my account:
Code:
git://github.com/sztupy/universal_lagfix_kernel.git
Here are some links to initramfs files:
The original froyo initramfs can be found at supercurio's git page:
Code:
http://github.com/project-voodoo/samsung_ramdisks.git
afaik the voodoo initramfs is build using scripts from these images, so you have to apply them.
The ULTK initramfs can be found here:
Code:
git://github.com/sztupy/universal_lagfix_kernel_initramfs.git
For the rest of the tutorial I'll be showing how to compile ULTK:
First get the kernel sources using git:
Code:
git clone git://github.com/sztupy/universal_lagfix_kernel.git kernel
Unfortunately no copy-paste function is available, so you have to write this manually...
Next get the initramfs using git:
Code:
git clone git://github.com/sztupy/universal_lagfix_kernel_initramfs.git initramfs
If everything goes well you'll have two directoryes, called kernel and initramfs. Next we have to modify some values in the kernel configs.
Nano, mcedit and vim are installed, use the one that suits you best. (mcedit is the most user friendly)
Switch to the kernel directory and edit the Makefile there:
Code:
cd kernel
nano Makefile
Find the row that says
Code:
CROSS_COMPILE ?= some value
Replace it to
Code:
CROSS_COMPILE ?= /home/kernel/arm-2010q1/bin/arm-none-linux-gnueabi-
(if using nano make sure it won't add a line break into the row)
Next load the default config:
Code:
make aries_eur_defconfig
And edit it:
Code:
nano .config
We have to supply the directory of the initramfs. Search for the line:
Code:
CONFIG_INITRAMFS_SOURCE=some value
and replace it to
Code:
CONFIG_INITRAMFS_SOURCE=/home/kernel/initramfs/out
(this is for the ULTK. For voodoo the initramfs locations are "froyo-xxjp6" and "froyo-xxjpm" instead of "out")
if you've managed to do that too, let's compile the kernel:
Code:
make
If everything goes fine after a while you will have your shiny new kernel. Now let's get it to your computer, so it can be flashed:
First, you have to create a shared folder in VirtualBox. Simply create a directory somewhere on your computer, and add it as a shared folder in virtualbox. The name of the shared folder should be simple, for example "shr".
Next, you have to mount that directory inside the VM. To do this enter:
Code:
sudo mount -t vboxsf shr ~/share
After it has been mounted you can copy the fresh kernel to your host OS:
Code:
cp arch/arm/boot/zImage ~/share
If everything goes well you have a zImage ready at the folder you've just shared. TAR it, fire up odin, and flash.
---------------------------------
Now that you've succesfully compiled a working kernel try to modify it. You can use "make menuconfig" in the kernel directory to switch some kernel functions (like filesystem supports) on and off. You can edit .config by hand to add or remove some configuration values. And you can edit the files in the initramfs directory. After modifications you only have to enter "make" in the kernel directory to get your kernel inside the "arch/arm/boot/zImage" dir ready.
You can also copy files from your host OS, to the guest OS, by putting the file inside the shared folder and copying it:
Code:
cp ~/share/thefile ~/initramfs/copyithere
Hope this guide was useful.
Impressive, thanks. Even a noob like me can try this.
Oh god, not only a talented developer, but a community helper!
STICKY!!
Gonna try it laters <3
oh yea, nice!
DocRambone said:
Impressive, thanks. Even a noob like me can try this.
Click to expand...
Click to collapse
If you're a noob, then I'm a baby
Darkyy said:
If you're a noob, then I'm a baby
Click to expand...
Click to collapse
high time you start compiling kernels
tnx
its very usefull
Magnificent!
I just came to take a quick look, but the thread deserves a closer one.
Thank you for sharing knowledge.
Worthy of a sticky.
Hopefully this will solve all those "I want this in a kernel but not that" scenarios.
This is VERY nice for the devs.. but.. i think this will make this forum spammed with 69 diff kernels with just minor changes.. as with the roms
Its better to let other people brick their phone than you brick your own
Just kidding! I for one will try and compile different versions with different lag-schemes to find the fastest combination. Including /system with fastest reading. I think I will add a benchmark to the recovery menu directly. Benchmarking each mount for read and for write speeds. Maybe I can use backup/restore code and just time it without writing (cp to null). Lets get to work
Thanks sztupy!
Sent from my GT-I9000 using XDA App
_JKay_ said:
Its better to let other people brick their phone than you brick your own
Just kidding! I for one will try and compile different versions with different lag-schemes to find the fastest combination. Including /system with fastest reading. I think I will add a benchmark to the recovery menu directly. Benchmarking each mount for read and for write speeds. Maybe I can use backup/restore code and just time it without writing (cp to null). Lets get to work
Thanks sztupy!
Sent from my GT-I9000 using XDA App
Click to expand...
Click to collapse
You cannot brick your phone with a bad kernel
@sztupy
I am impressed how productive master mind and kind person you are sharing all your knowledge and developments with us.
Congratulation, with you contributions you push Android Development forward.
Thank you
this is really cool, if i need minimal GUI, what would you suggest? xfce ? or there is something smaller and lighter? thx again.
avary said:
this is really cool, if i need minimal GUI, what would you suggest? xfce ? or there is something smaller and lighter? thx again.
Click to expand...
Click to collapse
Fluxbox/Openbox. However I don't see the need for one, if you're running the machine just for compiling.
Also, shouldn't gpm+guest additions solve the copy-paste problem?
E: Apparently not. Meh, stupid virtualbox.. sshd+putty then!
Awesome! Thanks for this sztupy! The more people we can get involved in this stuff, the better the end result will be. Always!
aziztcf said:
Fluxbox/Openbox. However I don't see the need for one, if you're running the machine just for compiling.
Also, shouldn't gpm+guest additions solve the copy-paste problem?
E: Apparently not. Meh, stupid virtualbox.. sshd+putty then!
Click to expand...
Click to collapse
actullay i was looking for something light and minimal (with GUI, or at least something like PCman FM and gedit or kedit, im not good with emac, vi ) to play and compile AOSP, for now i do this with Kubuntu dual boot on my laptop. if i put a litghweight desktop on top of szytup's image and use it with VB, that would be great.
thank you !
avary said:
actullay i was looking for something light and minimal (with GUI, or at least something like PCman FM and gedit or kedit, im not good with emac, vi ) to play and compile AOSP, for now i do this with Kubuntu dual boot on my laptop. if i put a litghweight desktop on top of szytup's image and use it with VB, that would be great.
thank you !
Click to expand...
Click to collapse
I'd use a shared folder+IDE/editor/whatever on windows. But that's just because I have so awful experiences about X in VMs, things might be better nowadays
Thanks a lot sztupy, will try it now. Sunday is enough time for testing
Each morning i have a look at XDA and you have brought out a new very helpfully posting, kernel, rom or else!
So let me ask you one question: when do YOU sleep?
avary said:
actullay i was looking for something light and minimal (with GUI, or at least something like PCman FM and gedit or kedit, im not good with emac, vi ) to play and compile AOSP, for now i do this with Kubuntu dual boot on my laptop. if i put a litghweight desktop on top of szytup's image and use it with VB, that would be great.
thank you !
Click to expand...
Click to collapse
The advantage of using X is that afaik guest additions has copy-paste support, that would make modifying easier.
I also plan on making some simple scripts inside the default home directory one can run to communicate with the shared folder. After that we could provide simple scripts that you only have to put inside the shared folder, which will download, modify and run the compilation.

[KERNEL][HOWTO] E4GT Community Kernel - Updated: 2/26/2012

See second post for changes.
My phone has a nicely corrupted bit of memory right where my data partition is supposed to be so I can't really test any changes on kernels at the moment. Once my replacement gets here, I have quite a few changes to test and then push. Hopefully others are haveing some good luck with there own kernels.
This first post is going to look a little rough until I take the time to pretty it up, but I figured I would get at least this up and let it evolve from there. I know I gloss over some stuff(what the hell is a defconfig, you ask?) but I will flesh this out over the next few days (Years, really. Damn contracts)
Project Goals:
Provide a standard base and scripts for building kernels for the E4GT.
Attempt to provide reasonable documentation of the build/debug/pray-for-success process so that those that wish to learn, can.
What is included in the current base:
Completely Stock EL29 Kernel
initramfs for Samsung based ROMs with ClockworkMod and root
Codesourcery 2009q3-68 toolchain
Base for creating a ClockworkMod flashable kernel
Build script to tie it all together
Getting started:
Install Ubuntu or Linux distro of your choice. This guide is written for Ubuntu as that seems to be the most common choice for Android Development.
Install required packages
Install Oracle Java JDK, setup the Android SDK, and install other required packages from terminal.
For 32-bit installs:
Code:
sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev
and 64-bit:
Code:
sudo apt-get install git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev ia32-libs lib32z1-dev lib32ncurses5-dev gcc-multilib g++-multilib
Download base
In terminal emulator, go to the directory you'd like to download to and type:
Code:
git clone git://github.com/SweetwaterBurns/xda-base.git
Pick a branch. Currently available are powersave, performance and master(all identical until things start moving forward a bit, I intend to keep master updated with the latest stock kernal) and select it with
Code:
git checkout powersaveorwhateverbranchnameyouactuallywantipromisetonotactuallymakeabranchthatisquitethisridiculousmaybe
Profit!
In a terminal emulator, change to the xda-base directory and type
Code:
./build.sh
and wait... congratulations you've just compiled your own kernel.
But wait there's more The build script will let you build with more then just the included source and toolchains. The basic format is ./build.sh kernel initramfs defconfig toolchain. All you have to do is copy the files into the appropriate directories and you're good to go.
So, if for example you wanted to build an EK02 kernel using Team Rogue's initramfs, the Linaro 11.12 toolchain and your perfect_defconfig, you would copy the source to xda-base/kernels/EK02, place the initramfs in xda-base/initramfs/rogue, and the toolchain to xda-base/toolchain/linaro. Place perfect_defconfig into EK02/arch/arm/configs/ and type the following command from the xda-base directory:
Code:
./build.sh EK02 rogue perfect linaro
The flashable zip is saved in xda-base using the defconfig, date and time in order to keep your files somewhat organized. I'm going to add kernel version to that in my next update, as well.
The base is essentially a snapshot of where we are at this stage of development and hopefully the community can help us improve it. Everything seems to be working, but if you come across any bugs/fixes, please share.
If you'd like you propose any changes, submit a request via git and I'll add them to the repo if it makes sense.
I'm typing a lot of this up from memory so please forgive any mistakes or omissions. If you find any let me know and I will update ASAP. If it seems confusing, let me know where clarification is needed. My goal is to figure this stuff out and help others while doing it. Any criticism will be taken constructively and I hope this helps spawn few more talented devs for the E4GT.
Known Issues:
Don't choose reboot to recovery after flashing Blazer 3.9(possibly others) I was able to reproduce this on Team Rogue's el29 repack as well.
I didn't realize that git doesn't push empty directories which caused issues with modules not being copied in to the initramfs. I'm going to fix by adding a check to create the files if necessary into the build script. in the meantime, just create initramfs/initramfsroot/lib/modules and remember to make sure that the directories are in any alternate recoveries you use.
Changelog:
2/26/2012
Added a quick howto on working with git and submitting pull requests to post #4. As soon as new phone gets here, I'll be uploading some new changes to performance.
2/13/2012
All right.
There are now branches for powersave, performance, and stock. Once you have cloned the repo you can select which one to use by typing
Code:
git checkout powersave
or whatever. The only difference between the repos at the moment is that I renamed the kernel source directory to match the branch name and edited the build.sh to build the respective variants by default. If anyone has any requests for other branches, let me know.
I also added a check to the build.sh to ensure that there is a lib/module directory in the initramfs that modules can be copied into.
Proposals:
I'm thinking about setting up a few different branches for the kernels. One for the latest clean stock kernel, one for those who would like to focus on performance, one for those that are more worried about battery, and possibly a bleeding edge kitchen sink kernel. More than I can handle myself, honestly, but if those of you that are already making modifications start pushing it should be doable.
Done
How to use git and submit pull requests on github.
If you haven't already, create an account on github Navigate to the xda-base repo and click fork in the upper right.
In a terminal emulator, go to the directory you would like to store your source in and clone your new fork with
Code:
git clone [email protected]:USERNAME/xda-base.git
git remote add upstream git://github.com/SweetwaterBurns/xda-base.git
The second part adds the original repository as an upstream source so that you can keep your code base updated with any changes.
Probably one of the most useful tools available is branches, essentially if you would like to add or change a feature, you would create a branch for working on it. Having it contained with in it's own branch is good for several reasons. It makes it easier to find any changes that you made without pulling in any extra cruft from other things you might be working on and helps prevent any conflicts that might arrise from working on too many things at once with in the same source tree.
Branches can be created locally with
git branch BRANCHNAME
For example, if you wanted to branch the performance kernel you would
Code:
git checkout performance
git branch performance-FEATURE
git checkout performance-FEATURE
This creates a local branch that you can work with, if you would like to push it to github for others to work on or to use it to submit a pull request:
Code:
git push origin BRANCHNAME
Branches can be deleted locally and remotely with
Code:
git branch -d BRANCHNAME
git push origin :BRANCHNAME
Make any changes you'd like and tell git which files you've changed with
Code:
git add CHANGED FILES HERE
Then commit those changes with
Code:
git commit -m 'Description of changes here'
If you would like to submit a pull request upstream, first fetch upstream and merge it with your work to make sure that any changes that have already been pulled don't conflict with your changes and that it can be merged cleanly. Use whatever branch you used as your base for the merge, i.e. for changes you'd like to submit to the performance branch
Code:
git fetch upstream
git merge upstream/performance
This will spit out any conflicts that need fixed and you can repeat the process until it merges clean.
Push your branch to github and navigate to it's page. Github has a pretty good write-up on sending pull requests and the process is really pretty simple.
Any questions, ask away.Any errors, let me know.
To Do:
Show how to add a remote repository and use it to port features using 'git cherry-pick' or whatever.
and one more for whatever else we might need.
Good job! Looking forward to see what comes from this. Good to see a forum to learn from.
Sent from the future
thatdudepoops said:
Good job! Looking forward to see what comes from this. Good to see a forum to learn from.
Sent from the future
Click to expand...
Click to collapse
Couldn't agree more! Thanks. I am eager to step things up myself. I am glad that this thread was started. Thanks OP.
Sent from my SPH-D710 using xda premium
This looks very interesting. Definitely will be watching this thread. Thanks.
Sent via EM waves.
nice work sir! Can't wait to see where this goes from here.
Sent from my SPH-D710 using Tapatalk
Well, I guess my first request is how to add boot animation support to a kernel? Is it as simple as adding the lines to the init.rc?
dtm_stretch said:
Well, I guess my first request is how to add boot animation support to a kernel? Is it as simple as adding the lines to the init.rc?
Click to expand...
Click to collapse
I think the init.rc file I uploaded has it in it.
Give it a try.
agat63 said:
I think the init.rc file I uploaded has it in it.
Give it a try.
Click to expand...
Click to collapse
Oh yeah, duh! I got it, I just didn't name the bootanimation.zip to sanim.zip
dtm_stretch said:
Oh yeah, duh! I got it, I just didn't name the bootanimation.zip to sanim.zip
Click to expand...
Click to collapse
I can either add a line to the init.rc to soft link bootanimation.zip to sanim.zip or put it in the CWM update script. I'm leaning towards the update script as it really should only need to be done once.
Also, be prepared for issues flashing Blazer 3.9 the flash didn't quite take when I tried it this morning.
SweetwaterBurns said:
links to outside resources or maybe a picture of a unicorn that my daughter drew
Click to expand...
Click to collapse
I can't wait.... to see that unicorn
njudell said:
SO, there's a great thread in the developer's section: [KERNEL][HOWTO] E4GT Community Kernel - 2/12/2012
Really nice job. I've built & flashed the kernel. BUT, the WIFI won't turn on, and 3G data won't flow, even though it shows 3G connectivity (Sprint Epic 4G Touch, rooted to L29 with CWM earlier...). Anybody have a clue what I may have messed up? Just ran the straight defaults, figuring that would get me into the least amount of trouble. One diagnostic: there was a number of segment mismatch warnings - I've had those in embedded kernels in the past, and they're usually not meaningful. Maybe this time is different?
Click to expand...
Click to collapse
Sent from my SPH-D710 using xda premium
This guy could not post in Dev
Sent from my SPH-D710 using xda premium
He can PM me and we can try to go over his settings to see what's wrong.
his reply
"Okay, found the problem, and I feel very slightly less stupid. Watching the build go by, I noticed diagnostics that the script was unable to copy the driver modules to the temporary initramfs lib/modules directory. In reading the script, I saw that the build.sh was wiping the temporary initramfs lib directory. SO I added a couple of lines to the build.sh script (the middle two lines are mine):
#Find all compiled modules and copy them for the final build
mkdir $INITRAMFS_TMP/lib
mkdir $INITRAMFS_TMP/lib/modules
find -name '*.ko' -exec cp -av {} $INITRAMFS_TMP/lib/modules/ \;
Which allows the script to copy the loadable modules, and POOF! Now I've got WIFI and such...
The script in the git repository should either get modified, or some additional tests on running the script implemented. One of my thoughts was that having dash as the shell script might be causing problems (I've had that before) - but that wasn't the problem.
-neil
A) Yes, this should be posted in the thread, but I can't because I'm a newbie
B) Therefore, this should heavily count as one of my 10 required posts to get there."
"he doesnt have 10 post so i posted here for him " his thread is in q & a if you want to reply to him
Just built a custom PC, might check this out and see how little I know about the linux world. But you gots to start somewhere right?
xlGmanlx said:
Just built a custom PC, might check this out and see how little I know about the linux world. But you gots to start somewhere right?
Click to expand...
Click to collapse
Its all about the desire to learn. Some start with theming. Then there are those that make ROMs but don't necessarily know how to make a kernel. There's a lot to learn. Its all about having the will and time to do it. The more development the better imo
Sent from my SPH-D710 using xda premium
xlGmanlx said:
Just built a custom PC, might check this out and see how little I know about the linux world. But you gots to start somewhere right?
Click to expand...
Click to collapse
Yup, just compiled my first fully working kernel yesterday.
Already overclocked it to 1.6 with extra added cpu steps for lower clock speeds...
Just tried adding and defaulting bfq scheduler but the jf4s module wouldn't compile after wards for some reason..
Ill figure it out eventually.. Right now im adding smartass / v2 see if it works...
EDIT: That didn't work either hmmmmm... Anyone know why when you edit the c1_rev5 config file the j4fs module doesn't compile?

[ROM][AOSPA][DIY][GUIDE] How to build Paranoid Android for Endeavoru

This is DIY
If you are just looking for a well done and stable PA download, you are probably the wrong place. Then go and grab xzzz9097s build, it's good!
If you are impatient and know what to do, just leave and do the init/sync/build.
For anyone wanting to build her/his own PA without any "extras", go ahead and read on.
We already have a very easy full guide to compile CM10 for HOX. I was looking for the same for ParanoidAndroid, but did not find a 100% guide, meaning I had to do it myself.
To be fair, I only needed to do 1% as you will see after the usual disclaimer. I hope this little guide will be enough to make anyone complile their own PA for the HOX.
The usual disclaimer:
I am no developer!
I just happen to be able to read and understand instructions. I am persistent and know how to search for answers.
With luck and patience I ended up with a 184MB zip, that installs and runs just fine on my HOX.
I pass this guide as it is now, no guarantee no returns. I will probably not be able to help much here, time is very limited, so no commitments for support from me.
If it breaks you device, you broke it all by yourself
I am no developer!
gokussjx made the general guide, explaining how to port Paranoid Android 3.xx to different devices.
It works 99% for Endeavoru. The last 1% takes some effort to get right.
For me, not knowing what I am doing, it took a lot of trial and error, but eventually, - I made it and might as well pass it on here.
I'm in debt to all the people helping out in that thread. Huge thanks!
To get started, just follow a few simple steps:
You need a linux setup.
Install as your main system or run it in windows with VirtualBox.
Most guides are expecting Ubuntu. I use Mint Debian 64, which is just perfect for this job (and everything else ).
For VirtualBox you need at least a 50GB virtual-drive. Add 16GB if you will use ccache. I have build PA with a 52GB VBox in Win7.
It was just enough to compile, but had no room for ccache!
Compile time (VBox) on EliteBook 8540w (i7) was 120min. Not too bad, considering my old DeskTop need close to 4 hours on pure Linux.
Expect to download 8GB of source. Add 18GB for building to the "out" folder.
Enough statistics now, let's get started.
Follow gokussjx guide to setup linux for PA compiling.
Follow only these steps:
# Install OpenSSL, for Python
# Install Dependencies
# Configure USB
# JAVA JDK Installation
# Python Installation (just pick option 1)
# Android SDK
Click to expand...
Click to collapse
Exit gokussjx guide and continue here:
Download your favorite arm toolchain:
I found mine here.
Just extract the archive to any folder with user access, later you will point the build system to the /bin folder of the toolchain.
Install CCACHE:
Code:
$ sudo apt-get install ccache
Activate it in .bashrc:
Code:
# use ccache
export USE_CCACHE=1
You can change max-cache size, 16G should be enough for this build.
From terminal:
Code:
$ ccache -M 16G
Install Repo:
Code:
$ mkdir ~/bin
$ PATH=~/bin:$PATH
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
Download the build manifest:
Code:
$ mkdir -p padroid/system
$ cd padroid/system
$ repo init -u git://github.com/teemodk/manifest.git -b padroid
Get the source!
Code:
$ repo sync -j16
Find this section in "build/envsetup.sh" update with your favorite arm toolchain:
Code:
case $ARCH in
x86) toolchaindir=x86/i686-linux-android-$targetgccversion/bin
;;
arm) toolchaindir=[B]~/toolchain/linaro4.8/bin[/B]
;;
mips) toolchaindir=mips/mipsel-linux-android-$targetgccversion/bin
;;
Go!
Code:
$ ./rom-build.sh endeavoru
Thats all. If it went well, get your new ROM in "out/target/product/endeavoru"
Don't forget the gApps.
Credits go to
PA:molesarecoming, D4rKn3sSyS for the awesome hybrid magic. All PA contributors. gokussjx for the mother of all PA guides. All the helpful people here, that use their time to help.
CM(aosp):thöemy,gorbi16,tbalden,(pabx) and all the unknown soldiers contributing to CM
Everyone I forgot.​
Differencies from the official guide.
The official PA manifest is put together in a way, so you can easily build and maintain multiple devices with only one manifest.
It works by adding and removing device specific code with local manifests under the "vendor/pa" folder.
However, I am only compiling for OneX, so I found it easier to add/remove stuff directly in the main manifest.
The downside to this is, that you have to manually maintain the manifest everytime you want to sync with PA. Place for improvement
All changes in STEP 2 of the official guide, is already done if using my guide with padroid manifest.
In vendor/pa these steps are done:
Code:
* Create [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/manifests/endeavoru.adds"]/manifest/<device>.adds[][/URL]
* Create [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/manifests/endeavoru.removes"]/manifest/<device>.removes[/URL]
* Create [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/prebuilt/pa_endeavoru.conf"]/prebuilt/pa_<device>.conf[/URL]
* Create [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/products/pa_endeavoru.mk"]/products/pa_<device>.mk[/URL]
* Add device makefile entry to [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/products/AndroidProducts.mk"]/products/AndroidProducts.mk[/URL]
* Create [URL="https://github.com/teemodk/padroid_vendor_pa/tree/padroid/vendorprops"]/vendorprops/<device>.proprietaries[/URL]
* Add device lunch menu entry to [URL="https://github.com/teemodk/padroid_vendor_pa/blob/padroid/vendorsetup.sh"]/vendorsetup.sh[/URL]
Furthermore, I temporarily moved the CM adds/removes from "vendor/pa/manifests" to .repo/manifest.xml.
I am sure there are better ways to handle git/repo/manifest etc., but this works well for me for now. Open for suggestions though.
Problem Solving
If (when) you run into problems, go to the official guide and find the answer. Most, if not all, errors is already answered there. If not, ask.
But first make a serious effort to find the error yourself. Read some good advice about finding the error.
As a rule of thumb: The build system tells you where to find the error! Something is missing, something is duplicated or somthing is just wrong. It's all in the log, running up your screen when compiling.​
Build 25.Oct.2013
http://d-h.st/XRt
Nice, I'm always eager to learn this stuff .
Thanks!
ROM uploaded to post 3.
teemo said:
ROM uploaded to post 3.
Click to expand...
Click to collapse
Thank you so much Teemo, for providing the guide and the rom.
Just a Q: is this stock ParanoidAndroid rom (stock kernel?) ?
Thanks again for your work :good:
Mat08.cc said:
Thank you so much Teemo, for providing the guide and the rom.
Just a Q: is this stock ParanoidAndroid rom (stock kernel?) ?
Thanks again for your work :good:
Click to expand...
Click to collapse
The ROM is as close to stock as it get for OneX. It is really a mix of CyanogenMod and ParanoidAndroid. I follow the official build guide from PA-team.
The kernel is from same source as CM.
You can see everything in the manifest.
@teemo
your build is running fast and stable, congratulations! maybe you can keep updating this .. I appreciate it and I'm sure many other people would be of the same opinion
Sry,wrong threat....
Gesendet von meinem EndeavorU mit Tapatalk
Hi @teemo I was trying to build my own rom using a different source.
I'm pretty sure I've done things right except that when i start my build it ends up after few seconds saying: "Kernel source found, but no configuration was defined. Please add the TARGET_KERNEL_CONFIG variable to your BoardConfig.mk file"
I checked my BoardConfig.mk file and what I've got is TARGET_KERNEL_CONFIG := cyanogenmod_endeavoru_defconfig
I thought you may know how to help me with this!
Other infos: I'm tryn to build paranoidandroid 4.0 and i'm using cyanogenmod files for the endeavoru since i know aospa is cyanogenmod based right?
Hope you can help me :fingers-crossed:
Mat08.cc said:
Hi @teemo I was trying to build my own rom using a different source.
I'm pretty sure I've done things right except that when i start my build it ends up after few seconds saying: "Kernel source found, but no configuration was defined. Please add the TARGET_KERNEL_CONFIG variable to your BoardConfig.mk file"
I checked my BoardConfig.mk file and what I've got is TARGET_KERNEL_CONFIG := cyanogenmod_endeavoru_defconfig
I thought you may know how to help me with this!
Other infos: I'm tryn to build paranoidandroid 4.0 and i'm using cyanogenmod files for the endeavoru since i know aospa is cyanogenmod based right?
Hope you can help me :fingers-crossed:
Click to expand...
Click to collapse
Hi, I don't know what it takes to build ParanoidAndroid 4
But maybe you can ask in the Paranoid guide.
Or you can ask here for all other builds.
EDIT: Btw, to build PA4 or any other KitKat, you need the new sources for OneX (device+vendor+kernel). This guide will not work for KitKat.
teemo said:
Hi, I don't know what it takes to build ParanoidAndroid 4
But maybe you can ask in the Paranoid guide.
Or you can ask here for all other builds.
EDIT: Btw, to build PA4 or any other KitKat, you need the new sources for OneX (device+vendor+kernel). This guide will not work for KitKat.
Click to expand...
Click to collapse
I used the new sources but that was the result! I'll start from zero again to see if I missed something Thanks for the reply always really kind!
Mat08.cc said:
I used the new sources but that was the result! I'll start from zero again to see if I missed something Thanks for the reply always really kind!
Click to expand...
Click to collapse
the aospa dev build the aospa kitkat version...so a few days waiting and it will be there
One-X-master said:
the aospa dev build the aospa kitkat version...so a few days waiting and it will be there
Click to expand...
Click to collapse
Yeah I thought so! But I would love to learn! I have always looked to devs as to extraordinary people, understanding what makes them such would be great
Hey @teemo , sorry to bother you, but could you make an update build of PA? I don't have a stable connection, can't make a build of the new PA.. :/
Thanks man, take care
LuisDias said:
Hey @teemo , sorry to bother you, but could you make an update build of PA? I don't have a stable connection, can't make a build of the new PA.. :/
Thanks man, take care
Click to expand...
Click to collapse
All credits to @audahadi https://drive.google.com/folderview?id=0B-KjFDQ914F4dVdQLU9nT3VkMGc&usp=sharing
bosas200 said:
All credits to @audahadi https://drive.google.com/folderview?id=0B-KjFDQ914F4dVdQLU9nT3VkMGc&usp=sharing
Click to expand...
Click to collapse
Thanks brotha
teemo said:
Build 25.Oct.2013
http://d-h.st/XRt
Click to expand...
Click to collapse
Any chance helping me build AOSB with newer cm 11 base?
As no instructions anywhere on building AOSB from source. Source is
https://github.com/AOSB?page=1
Many thanks

Making a CM11.0 kernel for E980?

Hello fellow OGPers...
So I've been jumping from ROM to ROM for a solid few months now. Really enjoyed my time as an Android user and soaked in a lot. I've been learning (well... teaching myself) about Linux and other related things. But I've been busy with classes, a social life, and other commitments. Anyway let me cut to the chase. I really enjoyed it in 4.3 ROMs when I could use all the settings on the AOSP custom kernel for our device and among other things liked the experience of a custom kernel. It's about time we got one for 4.4.x Kitkat... right?
I am currently running Windows 7 (if specs are important I will post them) with a Linux Mint distro (both are 64-bit). I have downloaded the CM11.0 from github and a few toolchains. I haven't untared them yet or anything, but I have some. One is specialized for Cortex A-15, which I read our device's CPU is much alike to. Anyway I just wanted some help getting started with making a kernel is what it comes down to. I have basic Linux knowledge and that's about it. I just want to get a custom kernel out and then maybe in the future get a nice battery-optimized kernel out. I forgot to grab a kernel patch and I'll download it tomorrow probably. But I really don't know where to start at all. Do I need knowledge of anything or some more experience knowledge? If anybody can point me in a good direction that would be great. Everything is appreciated.
Oh and feel free to PM me answers as well if it's easier or more convenient for you.
Thanks guys!
This would be great as we need a kernel Dev ... Good luck on your journey !
2SHAYNEZ
If you only want to compile kernel,clone this repository.
git clone https://github.com/CyanogenMod/lge-kernel-gproj/tree/cm-11.0
make any change you want to do with the source.
Download android toolchain and extract it.
Compile the kernel sources with
export ARCH=arm CROSS_COMPILE=/path.to.toolchain/bin/arm-eabi- && make cyanogenmod_e980_defconfig && make -j#
(# is the number of your computer cores +1)
you will get zimage in /arch/arm/boot folder
Using boot.img(the kernel) from official CM build zip to get the ramdisk is easier
abootimg -x boot.img
you will see:
writing boot image config in bootimg.cfg
extracting kernel in zImage
extracting ramdisk in initrd.img
put the extracted initrd.img and bootimg.cfg to /arch/arm/boot(where your compiled zimage are)
run:
abootimg --create boot.img -f bootimg.cfg -k zImage -r initrd.img
You will get the boot.img!
This is the complete kernel!
Use any previous kernel zip, and replace the boot.img inside the zip with yours.
Flash it and test it.
My TWRP 2.8.0.0 or TWRP from freegee or Philz Touch will auto lokify the kernel.
Wing
Attached is the kernel.zip that i use.
Replace the your finished boot.img with it~~
Wing
BTW i am not programmer, but i am a very long time gentoo linux and archlinux user, long before android exist~
mukwing said:
If you only want to compile kernel,clone this repository.
git clone https://github.com/CyanogenMod/lge-kernel-gproj/tree/cm-11.0
make any change you want to do with the source.
Download android toolchain and extract it.
Compile the kernel sources with
export ARCH=arm CROSS_COMPILE=/path.to.toolchain/bin/arm-eabi- && make cyanogenmod_e980_defconfig && make -j#
(# is the number of your computer cores +1)
you will get zimage in /arch/arm/boot folder
Using boot.img(the kernel) from official CM build zip to get the ramdisk is easier
abootimg -x boot.img
you will see:
writing boot image config in bootimg.cfg
extracting kernel in zImage
extracting ramdisk in initrd.img
put the extracted initrd.img and bootimg.cfg to /arch/arm/boot(where your compiled zimage are)
run:
abootimg --create boot.img -f bootimg.cfg -k zImage -r initrd.img
You will get the boot.img!
This is the complete kernel!
Use any previous kernel zip, and replace the boot.img inside the zip with yours.
Flash it and test it.
My TWRP 2.8.0.0 or TWRP from freegee or Philz Touch will auto lokify the kernel.
Wing
Click to expand...
Click to collapse
Wow thank you so much... definitely going to give this a shot today! So I didn't have to download the 12 GB source... good to know.
Oh and one more thing. Is there any difference from building a CM11 kernel vs an AOSP 4.4.x kernel? I figured since most of our device's ROMs are CM based this would work fine... Thank you very much for the information at hand! Appreciated.
CM kernel is different from AOSP kernel from what i know.
CM kernel is base on CAF(which is optimized for msm chip) and AOSP kernel base on google original code.
They are a bit different so imcompatible from what i know.
Wing
When I compile there are loads of errors and eventually it stops (at different times each attempt...) anyway, the first thing I notice is this:
warning: (ARCH_MSM7X27 && ARCH_MSM8960 && ARCH_MSM8930 && ARCH_MSM8974) selects DONT_MAP_HOLE_AFTER_MEMBANK0 which has unmet direct dependencies (SPARSEMEM)
warning: (ARCH_MSM7X27 && ARCH_MSM8960 && ARCH_MSM8930 && ARCH_MSM8974) selects DONT_MAP_HOLE_AFTER_MEMBANK0 which has unmet direct dependencies (SPARSEMEM)
Is that anything I have to worry about? I can't find anything online about it. Thanks in advance.
First, is it unmodified cm kernel sources?
Make sure to use unmodified sources to test building first.
Somes errors can safely ignored.The msm8960 error can safty ignore. It has nothing to do with our device.
If it failed to build, try using option like -Xlint.
Sometimes, using older build of toolchain is easier to build, e.g.gcc4.7 or 4.8
Gcc 4.9 always failed to build e980 cm kernel.
mukwing said:
First, is it unmodified cm kernel sources?
Make sure to use unmodified sources to test building first.
Somes errors can safely ignored.The msm8960 error can safty ignore. It has nothing to do with our device.
If it failed to build, try using option like -Xlint.
Sometimes, using older build of toolchain is easier to build, e.g.gcc4.7 or 4.8
Gcc 4.9 always failed to build e980 cm kernel.
Click to expand...
Click to collapse
Ohhh okay. Yeah it's all unmodified and I've downloaded tons of "needed" packages (including most likely unnessesary ones too). I'm using a 4.9 GCC. That might be it. Okay thanks. I'll give another shot tomorrow when I have access to my VM.
Kernel has been successfully compiled. Check here for download and further discussion...
http://forum.xda-developers.com/optimus-g-pro/orig-development/kernel-e980-kernel-t2872514

Categories

Resources