[KERNEL] vz-oc-linaro kernel v4: CM10.1 overclocking kernel - Linaro build - AT&T, Rogers HTC One X, Telstra One XL

Introduction
This is a replacement kernel for CyanogenMod 10 and 10.1 evita builds. The kernel is designed to be as close as possible to the stock CyanogenMod kernel with a few improvements.
Linaro toolchain:
The kernel is compiled with the latest Linaro toolchain based on gcc 4.7 rather than the default Android toolchain. This may provide performance improvements in some situations. I have made a few patches applied to make it compatible with gcc 4.7.
Overclock:
The highest frequency now available under Settings -> Performance with these kernels is,
Code:
CPU: 1782 MHz 1.25 V
L2: 1350 MHz 1.15 V
BUS: 532 MHz
I've also included a modified thermald.conf in the flashable zip.
Refresh rate:
I've reverted the refresh rate to the original value from the sense source code (57 Hz). This works better when "Disable HW overlays" is selected.
Downloading and installing
Download the flashable zip,
cm10.1_vz-oc-linaro.4.zip MD5=7233ccffa17fa16a2dc6292ecf755fb4
mega.co.nz
ubuntuone.com
Older versions:
cm10.1_vz-oc-linaro.3.zip MD5=5e0efdfd0390f3f923090a574d142808
mega.co.nz
ubuntuone.com
cm10.1_vz-oc.2.zip MD5=cf2c4ee8ba09627e598b78dcea225d39
cm10.1_vz-oc-linaro.2.zip MD5=2931cc59515949fa461a89ea17c99328
vz-oc.1.zip MD5=2f1740d67cd1d5c02a7ac5489bafe7a0
vz-oc.2.zip MD5=4e4d444130e8eb71c27cc23fed65fc88
vz-oc-linaro.1.zip MD5=ca674641e05595e64698afda8aa02943
vz-oc-linaro.2.zip MD5=2b01472d00e069c53f934c30b49475d1
cm10.1_vz-oc.1.zip MD5=576db9e99b2289dae7fc5b548a0d61b4
cm10.1_vz-oc-linaro.1.zip MD5=1a5f3b50608e6b44da50829b2c04ec5c
If you have HBOOT earlier than 1.14 or have S-OFF, then you can just flash the zip from recovery. This will flash the kernel as well as all required modules and thermald.conf. Otherwise, HBOOT 1.14 users will need to extract the boot.img, enter bootloader mode and run
Code:
fastboot flash boot boot.img
Then you will also need to flash the zip to get modules and themald.conf.
Compatability
cm10.1_vz-oc-linaro.4 is compatible with CM10.1 UNOFFICIAL build from 16/04/2013 onwards.
cm10.1_vz-oc-linaro.3 is compatible with CM10.1 NIGHTLY build from 01/03/2013 onwards.
cm10.1_vz-oc.2 (and linaro) are compatible with CM10.1 NIGHTLY build from 19/02/2013 only.
cm10.1_vz-oc.1 (and linaro) are compatible with CM10.1 UNOFFICIAL build from 06/02/2013 only.
vz-oc.2 (and linaro) are compatible with CM10 NIGHTLY builds from 26/12/2012 to 13/01/2013.
vz-oc.1 (and linaro) are compatible with CM10 NIGHTLY builds from 28/11/2012 to 25/12/2012.
Future development
I hope to introduce GPU overclocking soon and there will be updated builds as
soon as changes come into the main CyanogenMod repo.
Building the kernel
For those who would like to build the kernel themselves, here are some basic
instructions. First you will need to acquire some tools. You can get the default
toolchain from the CM10 source code at,
Code:
system/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/
Otherwise, if you want to use the Linaro toolchain, you can get it at
Linaro toolchain
You will also need a working boot image to get the ramdisk from. You can build
mkbootimg using these instructions
building mkbootimg
Finally, you can get split_bootimg_pl from William Encks site
download split_bootimg_pl
Clone the repo and change to your desired branch
Code:
git clone https://github.com/vanja-zecevic/android_kernel_htc_msm8960.git
git checkout jellybean-oc
Now export an environmental variable pointing to your desired toolchain
Code:
export CCOMPILER=$PATH_TO_TOOLCHAIN/bin/arm-eabi-
Copy the config file, run menuconfig once and start the build replacing -j12
with your desired number of threads
Code:
cp ./config-oc ./.config
make ARCH=arm SUBARCH=arm CROSS_COMPILE=$CCOMPILER menuconfig
make ARCH=arm SUBARCH=arm CROSS_COMPILE=$CCOMPILER -j12
Extract a ramdisk from a working boot image and repack with your freshly built
kernel using the following command for cm10,
Code:
./split_bootimg_pl ./boot.img
./mkbootimg --base 0x80400000 --ramdiskaddr 0x81800000 \
--cmdline 'console=ttyHSL0,115200,n8' \
--kernel arch/arm/boot/zImage --ramdisk boot.img-ramdisk.gz \
-o boot_vz-oc.img
cm10.1 will need the following cmdline
Code:
--cmdline 'console=ttyHSL0,115200,n8 androidboot.hardware=qcom'
You are ready to flash your new kernel!
Contact
I hope you enjoy using this kernel! Please also visit the github page for this project for alternative download links and for the source code.
GitHub
Cheers,
Vanja

Looks good will give it a shot next time I'm on a CM10 based ROM. Will this only work on CM10 or will it work with other AOSP builds too?
Sent from my HTC One X using Tapatalk 2

1. Could you post flash able zips for the majority of us who can flash these in recovery?
2. Very few users including myself have issues with kernels without stock voltage values. The device will just not boot, any way to have separate versions without different voltages just to rule that issue out when people ask why their device won't boot?
Sent from my One X using Tapatalk 2

superchilpil said:
1. Could you post flash able zips for the majority of us who can flash these in recovery?
2. Very few users including myself have issues with kernels without stock voltage values. The device will just not boot, any way to have separate versions without different voltages just to rule that issue out when people ask why their device won't boot?
Sent from my One X using Tapatalk 2
Click to expand...
Click to collapse
+1 thank you
Straight talked from my HOX!

I like the idea of a stockish CM10 OC kernel, Me myself i underclock. I would give this a go see how it holds up. the increase in clock speed is usually a nice thing to have even if not used. Also a 2.0GHz version would be awesome too.

Nice job!
Sent from my Nexus 7

ChummyDays said:
Fastboot flash boot boot.img
Sent from my One X using Tapatalk
Sent from my One X using Tapatalk 2
Click to expand...
Click to collapse
Re read my post, I know how to use fastboot
Sent from my One X using Tapatalk 2

Thanks for the feedback people!
I'm currently running HBOOT 1.14, so I will need to downgrade to 1.09 before I can make/test flashable kernel zips. I think I will get around to this in the next week.
I will also look into some other requests.
Is anyone running the kernel? Are you happy with it? Any benchmarks?

rohan32 said:
Nice job!
Click to expand...
Click to collapse
Thanks Rohan, I was inspired by your work!

Quick question: Sweep2Wake support?
I know OP stated 'as close to stock as possible,' searched thread for 'sweep' and turned up nuffin, so I'm just curious. Glad to see another kernel option (and prospective CM10 material!).

superchilpil said:
1. Could you post flash able zips for the majority of us who can flash these in recovery?
2. Very few users including myself have issues with kernels without stock voltage values. The device will just not boot, any way to have separate versions without different voltages just to rule that issue out when people ask why their device won't boot?
Sent from my One X using Tapatalk 2
Click to expand...
Click to collapse
I don't plan on maintaining them, but if newer versions come out, just rename to boot.img and swap out the file in the zips:
With Linaro toolchain
without Linaro toolchain
Vanja, if you want these gone, let me know.

hands on CM boot screen animation
running stable build cm10, and like the title says, hangs on boot screen animation. Do you have to configure the thermald.conf first?
thanks

taylor.fowler said:
I don't plan on maintaining them, but if newer versions come out, just rename to boot.img and swap out the file in the zips:
Click to expand...
Click to collapse
Thanks Taylor! I've included zips now.

nespid said:
running stable build cm10, and like the title says, hangs on boot screen animation. Do you have to configure the thermald.conf first?
thanks
Click to expand...
Click to collapse
Hi nespid, unfortunately, these kernels currently only support builds from 28/11/2012 onward. I've re-written the "Compatibility" section to make that more clear.
I will put up a build compatible with the "stable" build in a few days if you like.

vanja_z said:
Hi nespid, unfortunately, these kernels currently only support builds from 28/11/2012 onward. I've re-written the "Compatibility" section to make that more clear.
I will put up a build compatible with the "stable" build in a few days if you like.
Click to expand...
Click to collapse
That would be absolutely great!
Thank you!
Sent from my HTC One X+ using xda app-developers app

just wondering ,when and if are you goin make one for cm10.1? because the one for cm10 just flatout smokes :good! really makes your phone move!! :good:

Re: [KERNEL] vz-oc kernel: CM10 overclocking, normal & Linaro builds
Any feedback on battery life with this one? And how does it play with No Frills CPU and such?
Thanks for the hard work!
Sent from my CM10ified Beast (a.k.a. HTC One XL)

I've put up cm10.1 kernels!
ps. cm10.0 stable kernel is coming soon, I haven't forgotten, sorry for the delay

vanja_z said:
I've put up cm10.1 kernels!
ps. cm10.0 stable kernel is coming soon, I haven't forgotten, sorry for the delay
Click to expand...
Click to collapse
That's awesome, I will be testing this soon. I know it was asked before but I'm also very interested to know, any plans on implementing sweep2wake? After using it for even a little bit it spoils you, it really is an awesome feature. Otherwise thank you for your hard work, I'll leave feedback in a couple days after testing!

Thanks much, got the kernel running on CM10.1 with 1.14 hboot no problems. Modified thermald.conf and seems to allow oc to stick thus far.
great work,
dbd
UPDATE: this kernel is working wonderfully with cm10.1. +1 for linaro toolchain.

Related

[DEV][TEAM WX435] Triumph Kernel Thoughts

All,
Since we are working as a DEV team now I wanted to share a PM I had with another DEV on the board about our Kernel. I hope this can assist some others that have more experience with the Kernel like b_randon
g60madman said:
subpsyke,
I would love to upgrade our kernel for the Motorola Triumph. How did you go about figuring which Code Aurora vanilla kernel to start with? I took over development for CM7 from Whyzor and would be interested in your methodology.
Thanks in advance,
g60
Click to expand...
Click to collapse
subpsyke said:
1. I unpacked the original Huawei source to one directory, and downloaded the CodeAurora kernel to another.
2. I used the release tags as a reference: https://www.codeaurora.org/xwiki/bin/QAEP/froyo_almond
https://www.codeaurora.org/xwiki/bin/QAEP/froyo
https://www.codeaurora.org/gitweb/quic/la/?p=kernel/msm.git;a=tags
3. I reverted the codeaurora repository to tag releases (e.g.: git reset --hard M76XXTSNCJNLYA6010) and compared the result via "diff urN" and meld. I knew I was getting closer when you get a smaller diff in the patch size, and used meld to see if the differences were likely to be Huawei's additions vs. CodeAurora's changes. It was only after going forward and backwards between tags was I sure of the proper baseline.
I performed the same discovery process with the Samsung kernel for my GT-I5500, which used M76XXTSNCJNLYA6040 as a baseline.
Click to expand...
Click to collapse
g60madman said:
Sweet thanks! I will check it out and see what I can do
Click to expand...
Click to collapse
subpsyke said:
No problem
I forgot to mention the last steps:
4. Once you establish the baseline, create a new branch: git checkout -b newbranch
5. Overlay the changes from the vendor to a new commit*:
cp ~/blah/vendorkernel/ . ; git add . ; git commit -m "Initial import of vendor changes".
6. Once you've commited the vendor changes, you can use "git merge origin/froyo_almond" to move from the baseline to a newer revision. The froyo_almond branch is most suitable, as it's locked at 2.6.32, and the development focus seems to be on the msm7k chipset series. You could try updating to the android-msm-2.6.32 kernel, but it has more significant changes that will require adaptations of the board file, and may not be worthwhile, as development focus seems to be on newer chipsets.
7. Inevitably you'll get merge conflicts, as more than likely some vendor commits may interfere with upstream changes. For this, you'll need to use your own discretion in fixing up the code. I use the "git mergetool", with meld configured as my default editor, and manually checked all the conflicts.
Good luck!
*You may also want to fix up permissions etc., if your vendor source comes from a zip tarball. But it's purely cosmetic.
Click to expand...
Click to collapse
g60madman said:
So is almond the best flavor to start with. I have been using MSM/QSD for a while and in when TickerGuy originally created our device files for cm7 he listed in the readme
CAF information:
Branch: froyo_pumpkin
Tag: M7630AABBQMLZA2030
Didn't know if I should start with pumpkin or use almond. Let me know what you think?
Thanks again for the info!
Click to expand...
Click to collapse
subpsyke said:
Hmm... if your phone really has a msm7630 chipset, then yes, you should probably go for the froyo_pumpkin branch. The froyo_almond branch is only for the msm7627 and qsd8650 chipsets.
Click to expand...
Click to collapse
g60madman said:
Well thats the stupid thing, since the beginning we have used always used msm7x30 for our board config, But our stock ROM from Virgin Mobile the config was msm7k in the build.prop. However if you hit the Motorola Dev our pone clearly states Qualcomm MSM8655. I am leaning towards using the almond branch would that be correct?
Click to expand...
Click to collapse
subpsyke said:
According to wikipedia, it's MSM8655.
Look at the table here: https://www.codeaurora.org/xwiki/bin/QAEP/
The froyo_almond supports qsd8650, and froyo_pumpkin supports qsd8650a_st1x. I honestly have no idea what the difference is, but it's within the realm of possibility that your phone's chipset is that odd revision on the pumpkin branch.
If your kernel is using a pumpkin baseline, then you should continue along the same branch.
Click to expand...
Click to collapse
g60madman said:
I will download pumpkin and compare the kernel. I am not sure why TickerGuy started with pumpkin. That maybe what our build is based off of but I am not 100%.
Click to expand...
Click to collapse
subpsyke said:
Ok. When you clone the codeaurora git repository, you'll have all the branches included anyway.
Click to expand...
Click to collapse
....sympathy post...
Sent from my SPH-D700 using xda premium
(The froyo_almond supports qsd8650, and froyo_pumpkin supports qsd8650a_st1x.) Is this the difference between the Photon 4G which has a WiMax radio in it, and the Triumph which does not include a 4G radio? <--- nvm when they came out I had heard they were the same phone except 4G, apparently the Photon is a Tegra 2 device.
Okay so after looking into code Aurora more, as soon as I get my Ubuntu back up I am going to work on a vanilla froyo 2.6.32.9 kernel by using the froyo_pumpkin branch on the tag Karl gave us. Once I do that and have a commit that adds in Motorola changes, I am going to use the gingerbread_rel branch to try to get a 2.6.35 kernel booting on the phone, then use the ics_chocolate_rb7 branch to hopefully get the 3.x kernel.booting. those branches all seem to have the best support for msm7630 chipsets which I believe is the closest to the msm8655 chip only that it is clocked at 800mhz instead of 1ghz. If anyone else can lend any advice or help it would be swell!!
Sent from my Triumph using Tapatalk
b_randon14 said:
Okay so after looking into code Aurora more, as soon as I get my Ubuntu back up I am going to work on a vanilla froyo 2.6.32.9 kernel by using the froyo_pumpkin branch on the tag Karl gave us. Once I do that and have a commit that adds in Motorola changes, I am going to use the gingerbread_rel branch to try to get a 2.6.35 kernel booting on the phone, then use the ics_chocolate_rb7 branch to hopefully get the 3.x kernel.booting. those branches all seem to have the best support for msm7630 chipsets which I believe is the closest to the msm8655 chip only that it is clocked at 800mhz instead of 1ghz. If anyone else can lend any advice or help it would be swell!!
Sent from my Triumph using Tapatalk
Click to expand...
Click to collapse
Swell, I love that word. Here is an email I got from TickerGuy on the Kernel a fe months back
g60madman said:
TickerGuy,
I know you have moved on from the MT. Currently I have taken over development for CM7 from Whyzor and had a question for you.
When you designed the original device files you listed in the readme:
Branch: froyo_pumpkin
Tag: M7630AABBQMLZA2030
Is that really our branch from MSM/QSD? I know the phone has the MSM8655 chip. So I'm just trying to figure out why we use msm7x30 for the board configuration and not say msm7k or qsd8k?
Thanks in advance for any help you can offer
Click to expand...
Click to collapse
TickerGuy said:
I think the reason had to do with some of the peripheral chips -- it was a lot of fun getting this phone to work as it has a number of very odd things about it, especially in the GPS area.
Click to expand...
Click to collapse
So I think it's safe to say the route you are taking the right route. Also when building the Kernel do not forget to merge in the Wyzor fixes for the Video as I am using the new Andreno drivers. Just an FYI.
Yeah I will on the cm7 kernel. As of right now I'm gonna try to get a stock froyo kernel booting off code Aurora sources then go ffrom there.
Sent from my Triumph using Tapatalk
I've got my Linux mint 13 up and running so I'm going to try to get my build environment setup to build kernels either tonight or tomorrow and start pulling in source.
By the way, Linux mint 13 is pretty nice distro so far. I like it alot better than Ubuntu!
Sent from my Triumph using Tapatalk
b_randon14 said:
I've got my Linux mint 13 up and running so I'm going to try to get my build environment setup to build kernels either tonight or tomorrow and start pulling in source.
By the way, Linux mint 13 is pretty nice distro so far. I like it alot better than Ubuntu!
Sent from my Triumph using Tapatalk
Click to expand...
Click to collapse
Also you don't need to download the pumpkin branch simple download the kernel
git clone git://codeaurora.org/kernel/msm.git
git reset --hard M7630AABBQMLZA2030
The M7630AABBQMLZA2030 is the pumpkin branch and that should take us back to the vanilla kernel
Here is the pastebin link for the warning I was getting from the linker during the build of the code Aurora kernel.
http://pastebin.com/GLMBSz26
You can look at the kernel source on my github. Its the froyo pumpkin kernel repo.
The warnings cone from the gcc linker saying that it's trying to link a non executible section in built-in.o
I'm not sure where to start looking for the issue at. If anyone can lend any insight I would be grateful!
Sent from my Triumph using Tapatalk
I switched to the gcc 4.3.1 toolchain included with the cm7 source and it booted up. Worked just as good as the stock kernel. I'm gonna have to see why the newer toolchains are not compiling it right. I use linaro 4.6 on bKernel froyo which is based off motos source. So I don't see why it wont build this code right. But at least I got one to boot! !!
Sent from my Triumph using Tapatalk
b_randon14 said:
I switched to the gcc 4.3.1 toolchain included with the cm7 source and it booted up. Worked just as good as the stock kernel. I'm gonna have to see why the newer toolchains are not compiling it right. I use linaro 4.6 on bKernel froyo which is based off motos source. So I don't see why it wont build this code right. But at least I got one to boot! !!
Sent from my Triumph using Tapatalk
Click to expand...
Click to collapse
Good work brother!
Thanks. Now lets try to move on up to 2.6.35. My idea is to make a different patch between 2.6.32.9 and 2.6.35.7 and maybe that will simplify updating it. I'm not sure which gingerbread branch I'm gonna use for the 2.6.35 kernel!
Sent from my Triumph using Tapatalk
I would think the gingerbread branch, and use the M7630AABBQMLZA404025I.xml version. That is where I snagged the keyboard updates.
g60madman said:
I would think the gingerbread branch, and use the M7630AABBQMLZA404025I.xml version.
Click to expand...
Click to collapse
you can use source kernal .35 for device fih-fbo..we are the same drive only need to change touch driver..
Yeah I would use the fih kernels but we has issues with them rebooting on us.
Sent from my Triumph using Tapatalk
b_randon14 said:
Yeah I would use the fih kernels but we has issues with them rebooting on us.
Sent from my Triumph using Tapatalk
Click to expand...
Click to collapse
yes you need get a logcat and new baseband for this kernal...I have a file to solve the rendom reboot..but I can't help to get you for the baseband...
The kernel shouldn't have nothing to do with the baseband. Which file is it?
Sent from my Triumph using Tapatalk
b_randon14 said:
The kernel shouldn't have nothing to do with the baseband. Which file is it?
Sent from my Triumph using Tapatalk
Click to expand...
Click to collapse
yes I know,I mean in rom library need these file,I will give you file when I go back home
Anyone got any ideas to fix the issues with newer toolchains when building from the code Aurora source?
Sent from my Triumph using Tapatalk 2
Have you tried downloading one of the gingerbread repo's from code Aurora? I am not sure if they have a different version of the tool chain or not?

[Kernel] JB/ICS Kernels V2.57 Linaro 12-27-12 Flashable zip works with ANY ROM

First off, here is the github
https://github.com/pio-masaki/at100-kernel.git
Everything I do for this kernel is done there.
Now that's out of the way, here are some highlights:
Beginning of OC code (yes, an OC ICS kernel)
Added a slew of governors for your choosing
Added a couple i/o schedulers
Slight CFLAG tweaking
This is a work in progress!
If you have issues feel free to report, but this is my first ever kernel project, and it may take some time for me to address them!
Dos and Dont's in this thread:
No flaming, please. If someone asks a question thats been asked before, simply remind them and if you would, link the post or thread containing the answer. Replies like "Use search" don't help at all. Saying "Next time, use the search, the information is here" is of course what I would like to see. XDA will be better for this.
No ETAs! I can not, and will not, make any promises on when I can fix, build, or otherwise even think about this kernel, or any rom, period. Asking for ETAs, even politely, will either go unanswered, or reminded of this note.
Issue reporting: I always welcome issue reports, of course, however keep in mind, the point made above is also covering this, I may not have time to address an issue immediatly, though I will try to post back and acknowledge that I have seen the issue, or to ask further questions. Please include as much information as possible, settings for speed, governor, IO, profiles in use for screen off (which I advise against), cpu control app in use, etc. Dmesg would be nice as well, use pastebin, we don't want to see an 8K line post of a log
Changelog:
Experimental V0.1 10-02-12
First "release" for testing. This is internal build 8, and from this point on, will be labeled and numbered as releases, IE if this does ok, next will be Alpha 1, or experimental V0.2, etc.
Added OC code
Experimental V0.2 10-05.12
Second release for testing. Does now include the CODE for voltage control, but is not enabled yet. I didn't enable it to help prevent issues with instabilities from UV being confused with kernel issues. GPU OC is active, 320/400 MHz 2D/3D. Does not play well with ICS, CM10 use only.
Experimental V0.3 10-06-12
Rewrote alot of the upper end speed/voltage/timing code from 1.508 to 1.472, VT, haptic feedback fix? Proved unstable to the point of being unusable. Pulled.
Stable V0.4 10-06-12 "Caspar"
Reverted to V0.1 OC code after the disaster of V0.3. Left out voltage control code, implemented GPU OC as previous in V0.2, VT is enabled, possible haptic fix (not likely). Governors and IO schedulers should remain as before, min/max settings should remain as before. 1.5 is likely still broken.
Experimental V0.5e "Melchoir" 10-18-12 ICS only
All new CPU Speed tables, overall max is lowered from 1.5 which froze to 1.478, and more speeds in between. Those who used the Shiva Kernel will be familiar with the speed range. GPU OC is bumped up 20mhz in 2D/3D. SmartassV2 code added. The kernel has branched since V0.4 and is now a JB and an ICS specific design, one doesn't work for the other anymore, sorry to say. "Melchoir" is the ICS branch kernel, "Balthesaur" is the JB branch kernel which is included in the CM10/Kuroikaze builds.
"Melchoir" V2.4 ICS
Experimental support of CIFS and slight config changes to maybe improve kernel performance. Branch from "Caspar" and includes speeds, governors, IO schedulers and any previous bugs. 1.5Ghz is likely still broken.
"Balthesaur" V2.75 Linaro JB NON OC
Experimental fixes for ExFat corruption issues.
No CPU or GPU OC
Built with Linaro 4.7 toolchain with some optimizing tags turned on
Retains Governors and IO Schedulers from the OC version
Instructions
Download the zip from the link given below
Boot into CWM
Wipe cache
Wipe dalvik cache
Install from zip
Install the kernel zip
Reboot
First boot will take longer as the caches are being rebuilt
Let kernel settle for 10 minutes
Reboot
Let kernel settle for 5 minutes
Begin normal usage and setting up
System Tuner has been reported to work with great success.
Downloads
Experimental OC 1 | Mirror
*note* 1.5Ghz is unstable, please limit to 1.4Ghz for testing.
Experimental V0.2
*note* 1.5Ghz is unstable, please limit to 1.4Ghz for testing. Only for CM10.
Experimental V0.3
*note* completely unstable, pulled.
Stable V0.4 "Caspar" ICS
*note* 1.5Ghz is unstable, please limit to 1.4Ghz for testing.
Experimental V0.5e "Melchoir" ICS
*note* does not boot. See change log for information. ICS only kernel. Please have V0.4 zip handy in case this kernel goes ballistic or doesn't boot, etc.
Experimental V2.4 "Melchoir" ICS
*note* likely retains the 1.5GHz lockup issue.
Balthesaur V2.75 Linaro No OC JB ONLY
Non OC kernel by request. Built with Linaro and current 2.75 source. For use with Jellybean ROMs only. Retains IO Schedulers and Governors, just no CPU or GPU overclock at all. Possibly includes fixes for exfat corruption (planned for U6, but may as well)
Revert kernel
Favum ICS kernel | Mirror
Use this in CWM, same as before, to restore the boot.img and modules for Favum ICS, it may work for other Official based ICS, may not, untested.
Notes and Updates
Mirrors added, V0.1 initial release
V0.2: GPU OC 320/400 MHz 2D/3D. Does not play well with ICS, use only with CM10.
Kernel naming and what they mean:
As the kernel development for Jellybean gained momentum, changes to the kernel source and drivers made the kernel no longer compatible with BOTH ICS and JB, so a new branch needed to be built, one for each android version.
Caspar = The trunk kernel, the first base which all other kernels are built from, contains the original OC settings, governors and schedulers, but not much else, pretty stock.
Melchoir = The First branch, this is for ICS only, and is slightly more updated then the JB kernel, but not by far, is pretty stale development wise while I work on the JB kernel.
Balthesaur = The second branch, this is for JB only, and is the more updated and recent and heavily developed kernel by far.
Each kernel release is still compatible with ANY ROM, however it MUST be of the proper android version, Meclchoir should be flashed only to ICS and Balthesaur should only be flashed to JB. Caspar, should you choose to use it, is ICS only as well.
Do not flash these to other android versions, including Honey Comb, they may boot but they will certainly not function correctly.
FAQ
Q: How does this work with any ROM?
A: Installs by taking apart the current boot image, replacing the kernel binary, repacking then reflashing the boot image, and copies the matching modules into your system/lib folder. It keeps the existing ramdisk, which is why it works in between both ICS and JB.
Q: Where did you get your source changes from?
A: Source changes are coming from ezTerry and Godmachine, with guidance from Godmachine. Changes by ezTerry may come from other places, however I can not verify that, and its from his github.
Q: Is this included in any ROM?
A: Yes, this kernel is included with my CM10 builds, including Kuroikaze-Thrive
Thanks go out to:
First off, godmachine / linux society! We've had our spats (rather, I've had mine) however his guidance made this possible.
ezTerry: for giving us the first modded Acer Iconia kernels, also basing some of this work on his work on ezT20 kernel.
Da-pharoah for as always encouraging my work and to try new things.
tybar over at thriveforums.org (he may also be here?) for his work on CM10 and supplying the initial source this began with.
The rest of the guys pitching in over there!
Very excited to see a kernel! Could you possibly post a stock kernel as well that can be flashed back to if needed as this gets refined? Just trying to cover all contingencies.
Sent from my AT100 using Tapatalk 2
wigginst said:
Very excited to see a kernel! Could you possibly post a stock kernel as well that can be flashed back to if needed as this gets refined? Just trying to cover all contingencies.
Sent from my AT100 using Tapatalk 2
Click to expand...
Click to collapse
That depends on the ROM being used so no, I hadn't planned on it. I probably could but its per ROM which is quite a few lol
Sent from my Galaxy Nexus using Tapatalk 2
Ok. Was just thinking of a backup in case. Flashed it to favum and letting it settle right now.
Sent from my PG86100 using Tapatalk 2
On jbreezy darkside ROM v2 he modified the ram disk a bit would that interfere with installing this kernel?
Edit: nevermind you said it keeps the existing ram disk
Could you make a revert for his darkside ROM? Sorry for being a pain
Sent from my AT100 using xda app-developers app
stevie13.xo said:
On jbreezy darkside ROM v2 he modified the ram disk a bit would that interfere with installing this kernel?
Edit: nevermind you said it keeps the existing ram disk
Sent from my AT100 using xda app-developers app
Click to expand...
Click to collapse
Yeah unless something is different with the kernel binary as well, which I doubt, it shouldnt cause a problem.
As far as I know its the first kernel from source for ics so I don't think any issues will come up.
Edit: I'll try to get a revert zip up for dark side as well, the favum won't work, different ramdisk I think.
Sent from my Galaxy Nexus using Tapatalk 2
Are u saying I can use this kernel on my phone or some specific phone only?
ramoneC said:
Are u saying I can use this kernel on my phone or some specific phone only?
Click to expand...
Click to collapse
For the device this forum is for? In other words its for the Toshiba thrive 10" tablet. Flashing this on anything else can lead to no boots or even bricks. Its for any ROM, not device.
Sent from my Galaxy Nexus using Tapatalk 2
I nearly was going to brick my phone /: maybe not cos your updater-script might have been aborted but the main thing was I could not download it because of some sqlite error
God damn goo.im I've been waiting for an oc ics kernel for a minute.. A long minute
me checking the site every minute isn't helping probably either
Can I flash a kernel for similar phone which has similar buttons and screen resolution and sensors but different board base and hope it works?
ramoneC said:
Can I flash a kernel for similar phone which has similar buttons and screen resolution and sensors but different board base and hope it works?
Click to expand...
Click to collapse
Generally speaking, no. What device are you talking about?
Sent from my Galaxy Nexus using Tapatalk 2
old galaxy s5830 < wont matter if it bricked
ramoneC said:
old galaxy s5830 < wont matter if it bricked
Click to expand...
Click to collapse
This kernel won't flash let alone boot on that lol
Sent from my Galaxy Nexus using Tapatalk 2
I have decided to buy googles phone henceforth so I wont have to worry about updating
stevie13.xo said:
God damn goo.im I've been waiting for an oc ics kernel for a minute.. A long minute
me checking the site every minute isn't helping probably either
Click to expand...
Click to collapse
Mirrors are up.

[RECOVERY][LINARO][4.1.2] TWRP-UNOFFICIAL 2.3.1.1 touch recovery [11/5/12]

Hi all, so I've been wanting a really nice optimized Linaro recovery and have not been able to find one. So I decided to build my own and have found it to be very nice and stable, and of course to share with all of you xda peps
First off if you don't know what TWRP recovery is the original nexus 7 thread is HERE
Please read all of the original thread before flashing this recovery.
More info on how this recovery was built
Built using Linaro gcc 4.7 toolchain. I also built the toolchain from Linaro's gcc source. The toolchain source is HERE
This toolchain source gets update almost daily from linaro sources, but I don't normally have the time to build new toolchains daily. When I have time I will update it quite frequently.
Built off my own 4.1.2 kernel source. The kernel used to build this recovery was also compiled using the Linaro 4.7 toolchain.
I've added a few linaro recovery patches for interfaces to libpng. Those changes are HERE and HERE.
Built using Linaro bionic string routines optimizations.
Installation
Download the recovery image and flash in fastboot
Initial release 2.3.1.1 touch recovery
10.28.12 release 2.3.1.1 touch recovery
Kernel changes
Removed a lot of bloat from the kernel. I disabled GPU overclocking, user voltage control, cpu overclocking, a bunch of useless debugging stuff.
A short kernel changelog is HERE
Toolchain changes
Not much here. I included a static library to be used in the toolchain libiberty
A short changelog for the toolchain is HERE
Recovery changes
Built as engineering instead of userdebug.
11.5.12 release 2.3.1.1 touch recovery
Final android 4.1.2 linaro recovery version
Kernel changes
Mainline linux kernel upstream changes from linux-3.2.y
Changed kernel compression mode to GZIP and optimization level to -Os
Toolchain changes
Updated to latest linaro changes
Recovery changes
-O3 optimization level
Linaro strict-aliasing compiler flags optimization
Android-4.1.2 (This version is a final release, no more updates)
Size: 6.95 MB
MD5: e0f46f01556156b052b3779c9ed60e01
What? A Linaro recovery? I did not know there was such thing. I am downloading this now very excitedly.
Thank you. Very very helpful and nice.
OK... Now I need more info! I sorta understand the Linaro concept but my knowledge is limited. What's the reasons to base Recovery on it at this point? Any advantages, possible concerns? Will there be any noticeable differences? Just curious & wondering cause you said "you'd been wanting to make a recovery based on linaro".
Thank!
Sent from my Nexus 7 using Tapatalk 2
Hi men!
Thanks for your recovery.
But i experience some strange visual effects like distortion of the image or some lag effects.
---------- Post added at 04:21 PM ---------- Previous post was at 04:16 PM ----------
djd338 said:
OK... Now I need more info! I sorta understand the Linaro concept but my knowledge is limited. What's the reasons to base Recovery on it at this point? Any advantages, possible concerns? Will there be any noticeable differences? Just curious & wondering cause you said "you'd been wanting to make a recovery based on linaro".
Thank!
Sent from my Nexus 7 using Tapatalk 2
Click to expand...
Click to collapse
There is a discussion on this subject regarding some tests Ezekeel (XDA developper) made with different cross-compiler toolchains and those tests prooved that none of the compilers is better than another.
We heard a lot about linaro because when ICS was released, it was very laggy and linaro and is new compiler version 4.7 made ICS much smoother than before.
But for the pur performance linaro give no improvement if you compare with another one.
EDIT: I found the link of the test for you: http://forum.xda-developers.com/showpost.php?p=19872366&postcount=1
i remember this test,and also in my home test when i tried to build kernel,i don't see improvement using linaro or others toolchains..anyway it's great to have another thing to play on and see if it's best that the ufficial!
sert00 said:
i remember this test,and also in my home test when i tried to build kernel,i don't see improvement using linaro or others toolchains..anyway it's great to have another thing to play on and see if it's best that the ufficial!
Click to expand...
Click to collapse
Agree with you.
It wasn't for discredit the work of sparksco. I'm glad to test his work.
Just answer the question for the cross-compiler.
Thanks for the work sparksco
[email protected]_OC said:
Hi men!
There is a discussion on this subject regarding some tests Ezekeel (XDA developper) made with different cross-compiler toolchains and those tests prooved that none of the compilers is better than another.
We heard a lot about linaro because when ICS was released, it was very laggy and linaro and is new compiler version 4.7 made ICS much smoother than before.
But for the pur performance linaro give no improvement if you compare with another one.
EDIT: I found the link of the test for you: http://forum.xda-developers.com/showpost.php?p=19872366&postcount=1
Click to expand...
Click to collapse
That's one test with one toolchain by one developer. As far as I can tell he tested everything with one of linaro's really old toolchaons when they first released 4.6. So by looking at the dates I would guess linaro didn't add much to the toolchain at that point. There's also the GCC version to consider. This is using 4.7 and not 4.6. And lastly there's rom patches that linaro puts out that have nothing to do with the kernel but are used in the ROM building process when building recoveries. It's all debatable. I find this to be a bit smoother and backups seems to be a little faster but maybe it's just me.
[email protected]_OC said:
Hi men!
Thanks for your recovery.
But i experience some strange visual effects like distortion of the image or some lag effects.
Click to expand...
Click to collapse
Your going to have to provide more info than that. Your method of installing, what bootloader you have ect. Thanks.
Edit: flashing zip in recovery causes issues so I removed that method of installing.
sparksco said:
That's one test with one toolchain by one developer. As far as I can tell he tested everything with one of linaro's really old toolchaons when they first released 4.6. So by looking at the dates I would guess linaro didn't add much to the toolchain at that point. There's also the GCC version to consider. This is using 4.7 and not 4.6. And lastly there's rom patches that linaro puts out that have nothing to do with the kernel but are used in the ROM building process when building recoveries. It's all debatable. I find this to be a bit smoother and backups seems to be a little faster but maybe it's just me.
Click to expand...
Click to collapse
thanks.after give a try to this recovery,i agree with you with fact of possible quickest backup time.the general use is good,don't know if it's real an improvement,but i did a backup and at first look it seemed quicker..possible placebo effect,let's see what others say..
why you pulled cwm install version...bugged?
There's a lot of factors to consider. Just the fact that this is using a kernel I built with 4.7 from my own source code could improve things as well. FYI the kernel includes GPU overclocking.
sert00 said:
why you pulled cwm install version...bugged?
Click to expand...
Click to collapse
Read one post above yours...
Sent from my Nexus 7 using Tapatalk 2
sparksco said:
There's a lot of factors to consider. Just the fact that this is using a kernel I built with 4.7 from my own source code could improve things as well. FYI the kernel includes GPU overclocking.
Read one post above yours...
Sent from my Nexus 7 using Tapatalk 2
Click to expand...
Click to collapse
oh thanks,not saw the edit in the post!
New version is up.
Sent from my Nexus 7 using Tapatalk 2
I installed last night using goomanager, so I assume I have the previous version?
Anyway, it works great, so thanks.
stonebear said:
I installed last night using goomanager, so I assume I have the previous version?
Anyway, it works great, so thanks.
Click to expand...
Click to collapse
I am pretty sure you get the Official TWRP version from goomanager not this. Please correct me if I am wrong but I think that is what the Unofficial means.
zedorda said:
I am pretty sure you get the Official TWRP version from goomanager not this. Please correct me if I am wrong but I think that is what the Unofficial means.
Click to expand...
Click to collapse
Yea, I just realised that myself when I saw there were two threads.
What's the difference between this and ClockWorkMod? Is it more stable?
Neo3D said:
What's the difference between this and ClockWorkMod? Is it more stable?
Click to expand...
Click to collapse
Some more features on TWRP I think, especially the queue to flash multiple ZIP files. Flash it and see for yourself
modstorm said:
Some more features on TWRP I think, especially the queue to flash multiple ZIP files. Flash it and see for yourself
Click to expand...
Click to collapse
That, and I like the fact that you have an option to wipe cache/dalvik after flashing something
markj338 said:
That, and I like the fact that you have an option to wipe cache/dalvik after flashing something
Click to expand...
Click to collapse
That and TWRP can also be themed however I never found any themes :/

[KERNEL][S4][AOSP][4.3][Jan23] IronBorn Kernel [O3]

Hello everyone,
While rmbq's has gone on to focus on AOSP 4.4, I have decided to modify his kernel sources for 4.3 and add a bunch of features I really like. I also pulled fixes, etc from other similar kernels or sources. I will keep this kernel going untill there is a stable build for 4.4 Cyanogen.
For more info on rmbq's kernel go here: http://forum.xda-developers.com/showthread.php?t=2134535
I am posting this kernel with RMBQ's permission too.
My github: https://github.com/AKToronto/Canuck Goto exp3 branch for this kernel
New Features to highlight:
Some added stability (I think)
I added and enabled the most recent version of ShowP's MPDecision (which ShowP updated on Dec 4) and ThermalD control
I enabled s2w, dt2w, bln, etc to be tunable in KControl or TricksterMod
Fixed all Linaro O3 compiling issues, so now the kernel is compiled with RMBQ's latest Linaro GCC 4.8.3 2013.12 cortex-a15 toolchain WITH O3 Flags
Added the ability to tune GPU in KControl
QUESTION: Should I use KControl or TricksterMod to tune this kernel?
The short answer is that neither app has everything that you can tune with this kernel.
KControl allows you to set CPU frequencies separately as well as governors for individual cpus. You may also find it easier to tune MPDecision and ThermalD with the settings there. You can also check out some advanced GPU optimizations only available in KControl, and this includes setting OC for 3D AND 2D GPU as well as other advanced optimizations that are not available on Trickster.
However, with TricksterMod, you can enable or disable zRAM, BLN, GPU Governor (try setting it to "Simple"), and "Force Fastcharge" (which you cannot do in KControl).
I currently have both apps installed, but I let TricksterMod be the one that starts up on Boot.
USE THIS KERNEL AT YOUR OWN RISK! IF YOU DO NOT KNOW WHAT YOU ARE DOING, BACK OFF!
DOWNLOAD LATEST VERSION HERE: http://www.androidfilehost.com/?a=show&w=files&flid=11326
Install instructions:
1. Flash the file above in recovery and make sure you are S-OFF.
Thanks to: rmbq, ShowP1984, Zarboz, jrior001, faux123,
CHANGELOG:
January 23, 2014:
-Reverted a few early commits that were causing some slight instability when screen was off for a while. If you still have issues, try disabling "Single Core Screen Off" in MPDecision.
-Also added L2 cache boost
January 21, 2014:
-Update to 3.4.72 Linux supported by CM10.2
-Dynamic Fsync update
-patches for filesystem, mutex and memory allocators
January 20, 2014:
-GPU OC Added
-Minor fastcharge fix
-Added script to automatically rename mpdecision to mpdecision_backup to avoid conflict with kernel mpdecision
January 19, 2014:
-Initial build with features described in OP
-GPU OC is disabled for the moment
OTHER INFO
My Current Voltage Table (could likely be tuned lower, but be careful with unicorns):
1728mhz: 1250000 mV
1674mhz: 1200000 mV
1512mhz: 1150000 mV
1458mhz: 1150000 mV
1404mhz: 1150000 mV
1350mhz: 1150000 mV
1296mhz: 1150000 mV
1242mhz: 1150000 mV
1188mhz: 1137500 mV
1134mhz: 1125000 mV
1080mhz: 1100000 mV
1026mhz: 1087500 mV
972mhz: 1075000 mV
918mhz: 1062500 mV
864mhz: 1050000 mV
810mhz: 1037500 mV
756mhz: 1025000 mV
702mhz: 987500 mV
648mhz: 975000 mV
594mhz: 962500 mV
540mhz: 950000 mV
486mhz: 900000 mV
432mhz: 900000 mV
384mhz: 900000 mV
awesome! im happy to see another 4.3 kernel to try out. i run pac-rom and the kernel that comes with it seems to work fine but i -need- the tap to wake feature i just love it! the only problem is i seem to get random reboots while playing games. with both bubba and badass kernel, so im hoping those will go away once i try yours. thanks again!
gnome9er said:
awesome! im happy to see another 4.3 kernel to try out. i run pac-rom and the kernel that comes with it seems to work fine but i -need- the tap to wake feature i just love it! the only problem is i seem to get random reboots while playing games. with both bubba and badass kernel, so im hoping those will go away once i try yours. thanks again!
Click to expand...
Click to collapse
Give it a go. I only have one minor issue so far. It seems that if the phone is off for a while when I try to turn it on, it seems to reset. Only happens once in a while, and I have some ideas to try to make things even more stable. Will keep you up to date.
Sent from my One S using Tapatalk
AKToronto said:
Give it a go. I only have one minor issue so far. It seems that if the phone is off for a while when I try to turn it on, it seems to reset. Only happens once in a while, and I have some ideas to try to make things even more stable. Will keep you up to date.
Sent from my One S using Tapatalk
Click to expand...
Click to collapse
New version with some memory allocation patches, etc. are up as well as update to latest linux supported by CM10.2
Is there any way to flash it if I'm s-on???
Should I have to use the tool of rmbq to create the boot.Img???
Sent with HTC ONE S
dave il barbaro said:
Is there any way to flash it if I'm s-on???
Should I have to use the tool of rmbq to create the boot.Img???
Sent with HTC ONE S
Click to expand...
Click to collapse
Yes you should be able to use that tool of his to get a proper boot.img that you can flash. You may also want to read up on TWRPs HTC Dumlock feature. Google it.
Sent from my One S using Tapatalk
AKToronto said:
New version with some memory allocation patches, etc. are up as well as update to latest linux supported by CM10.2
Click to expand...
Click to collapse
New version seems very stable today and excellent on battery life. Plus let me know if you encounter any bugs etc. Also feel free to send me requests on anything else you want to see in this kernel.
Sent from my One S using Tapatalk
Should we use the kernel cleaning script before installing this?
Sent from my One S using Tapatalk
hi AKToronto! just flashed IronBorn kernel,thanks for your work. I'm on Odyssey 3.30RC / 2.15 hboot / 2.3.3.0 TWRP / s-off, and same as Bubba kernel, after boot animation, I always stuck on a half black half coloured screen without the possibility of doing anything but reboot using long press on power button. Before flashing IronBorn,I've used kernel cleaning script. I've done something wrong?
abracadabra11 said:
Should we use the kernel cleaning script before installing this?
Sent from my One S using Tapatalk
Click to expand...
Click to collapse
You can if you like, or you can flash over an existing rmbq kernel. The cleaner helps ensure there are no init.d conflicts too I think, which is good (but its possible to check that manually too).
Also remember if you want to go back to stock, you have to rename the mpdecision and thermald backup files in /system/bin/ to their original names.
qayba said:
hi AKToronto! just flashed IronBorn kernel,thanks for your work. I'm on Odyssey 3.30RC / 2.15 hboot / 2.3.3.0 TWRP / s-off, and same as Bubba kernel, after boot animation, I always stuck on a half black half coloured screen without the possibility of doing anything but reboot using long press on power button. Before flashing IronBorn,I've used kernel cleaning script. I've done something wrong?
Click to expand...
Click to collapse
Hmmm... do you know if Odyssey 3.30RC is synced with the latest "stable" CM10.2, or was it based on an earlier release candidate? Similarly, would you know what linux version is supported? Sounds to me like with "RC" that its just based on a release candidate version of CM and not the latest... This kernel is on 3.4.72 linux, and that would need to be supported by the rom... I think anything that works off of the stable Cm10.2 base should run...
Correct me if im wrong...
AKToronto said:
Hmmm... do you know if Odyssey 3.30RC is synced with the latest "stable" CM10.2, or was it based on an earlier release candidate? Similarly, would you know what linux version is supported? Sounds to me like with "RC" that its just based on a release candidate version of CM and not the latest... This kernel is on 3.4.72 linux, and that would need to be supported by the rom... I think anything that works off of the stable Cm10.2 base should run...
Correct me if im wrong...
Click to expand...
Click to collapse
So I've read the Odyssey's changelog...It would be based on 4.3 r3.1 latest sources...With Selinux file system...In bubba's changelog the support for Android 4.3 ended with 3.4.70 kernel, wich is working on Odyssey till a couple releases before the 3.30...So the latest Odyssey release isn't working with bubba, instead the older yes...can't figure out why at this point
qayba said:
So I've read the Odyssey's changelog...It would be based on 4.3 r3.1 latest sources...With Selinux file system...In bubba's changelog the support for Android 4.3 ended with 3.4.70 kernel, wich is working on Odyssey till a couple releases before the 3.30...So the latest Odyssey release isn't working with bubba, instead the older yes...can't figure out why at this point
Click to expand...
Click to collapse
the problem isn't the kernel version, last cm 10.2 will work fine with 3.4.77 based kernel and newer.
the problem are all other changes, new gpu driver (maybe) and other stuff. odyssey is too old and doesn't support last cm10.2 kernel, the ROM must evolve with the kernel
rmbq said:
the problem isn't the kernel version, last cm 10.2 will work fine with 3.4.77 based kernel and newer.
the problem are all other changes, new gpu driver (maybe) and other stuff. odyssey is too old and doesn't support last cm10.2 kernel, the ROM must evolve with the kernel
Click to expand...
Click to collapse
Ok, that's the point! Thanks for your clear explanation :thumbup:
I can't activate BLN with trickstermod
anyway, is there any possibility to active it through build.prop?
Sent with HTC ONE S
dave il barbaro said:
I can't activate BLN with trickstermod
anyway, is there any possibility to active it through build.prop?
Sent with HTC ONE S
Click to expand...
Click to collapse
It would be with an init.d script. But in any event, try my newer kernel, at http://forum.xda-developers.com/showthread.php?t=2638005
It should work with 4.3 version of Cyanogenmod (CM10.2). Its a bit more stable too.
BUT make a backup first! And BLN should stick with the aroma installer.
AKToronto said:
It would be with an init.d script. But in any event, try my newer kernel, at http://forum.xda-developers.com/showthread.php?t=2638005
It should work with 4.3 version of Cyanogenmod (CM10.2). Its a bit more stable too.
BUT make a backup first! And BLN should stick with the aroma installer.
Click to expand...
Click to collapse
With your new version wifi is broken on cm 10.2
Sent with HTC ONE S
dave il barbaro said:
With your new version wifi is broken on cm 10.2
Sent with HTC ONE S
Click to expand...
Click to collapse
Also I noticed there was still a reboot when this kernel was left idling for a while... I will post some fixes that should help though I don't know if it will help your bln issue. Bln should be enabled by default.
Sent from my One S using Tapatalk

[DEV][PATCH] Kexec hardboot

Note: Tested on stock 4.2 kernel only.
CAF may require some specific changes which I may do in future.
Q. What is kexec?
kexec is feature of Linux that allows it to live boot a new kernel over current one. This is equivalent to fastboot -c *cmdline* boot zImage initrd.img, but without PC and fastboot.
Q. What is kexec hardboot?
Kexec-hardboot does kexec with a full reboot so that all the hardware can be properly reinitialized. It stores new kernel to RAM, reboots the device as usual, and loads guest kernel from RAM.
Q. What is the use?
kexec hardboot is an essential component of multiboot solutions like multirom. Also it may be used for testing a guest kernel without having to write flash emmc.
Q. More details?
here and here
Defconfig::
Code:
CONFIG_KEXEC=y
CONFIG_KEXEC_HARDBOOT=y
CONFIG_KEXEC_TAOSHAN=y
CONFIG_ATAGS_PROC=y
CONFIG_CRASH_DUMP=y
Usage:
Code:
kexec --load-hardboot zImage --initrd=ramdisk.img --mem-min=0x85000000 --mem-max=0x87ffffff --command-line="console=ttyHSL0,115200,n8 androidboot.hardware=qcom user_debug=31 msm_rtb.filter=0x3F ehci-hcd.park=3"
kexec -e
or use this script (Modify zImage and initrd.img location: default is /sdcard/kexec/*)
Q. How to determine kexec parameters?
Read this first.
These are highly device specific:
Here's the cat /proc/iomem for taoshan:
Code:
80200000-87ffffff : System RAM
80208000-80ee60d3 : Kernel code
81004000-81306de3 : Kernel data
88100000-88dfffff : System RAM
8ec00000-8effffff : System RAM
...
KEXEC_HB_PAGE_ADDR: 0x88000000
Logic: Address where 1st block of SYSTEM_RAM ends - size of ram_console (we don't have ram_console in stock kernel so 0 here)
Result: 0x87ffffff bits = 0x88000000 bits = ~285 megabytes
MR_KEXEC_MEM_MIN: 0x85000000
Logic: This is the where zImage and initrd.img are loaded in RAM. It has to be in the 285 MB of System RAM.
As you can see first block of SYSTEM RAM spans from 0x80200000-0x87ffffff.
Result: 0x85000000 bits = ~279 megabytes
Links:
Kernel Patch
Kexec Binary
Kernel Source
Authors:
This patch was made by Mike Kasick for Samsung Epic 4G. Since that, it was ported to several devices.
My patch is based on the one by @Tasssadar here and by @alvinhochun here.
My special thanks to @alvinhochun for helping me in debugging this hack.
Never expected kexec hardboot for XL Thanks @rachitrawat , With this Multi ROM is not far from being a reality.
I believe CAF won't require any changes as the board sources are same as stock JB. Will test it and will let ya know.
{except for the cmdline ofc}
edit: derp relocate_kernel. Changes+testing required
i have maybe strange idea
if this success and we have multi boot
We will have chance to have KitKat ROM and jb ROM
Or we we will have only two KitKat Roms only or two jb Roms only
i am talking about kernel support both jb and KitKat here with that future
Thanks a lot for your work
Sent from my C2105 using XDA Premium 4 mobile app
Correct me....
Correct me if my idea is a bad one... but with this is there any chance to change kernels on Locked BL? This could be some kind of trick to load a kernel for CM or KK, just tell me =)
david makarove said:
i have maybe strange idea
if this success and we have multi boot
We will have chance to have KitKat ROM and jb ROM
Or we we will have only two KitKat Roms only or two jb Roms only
i am talking about kernel support both jb and KitKat here with that future
Thanks a lot for your work
Sent from my C2105 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
As of an update by Tasssadar, only host kernel needs to be patched. So if you have a patched kernel, you can run any (patched or unpatched) kernel over it. In a nutshell, this means only the kernel you're running with your primary rom needs to have this patch.
ezzekl said:
Correct me if my idea is a bad one... but with this is there any chance to change kernels on Locked BL? This could be some kind of trick to load a kernel for CM or KK, just tell me =)
Click to expand...
Click to collapse
I'm afraid this requires an unlocked bootloader since stock kernels don't have support for hardbooting kernels. Although I've heard of a workaround by insmoding a module.ko (z1 forums), I'm not convinced of its functionality yet. I hope I'm clear.
rachitrawat said:
As of an update by Tasssadar, only host kernel needs to be patched. So if you have a patched kernel, you can run any (patched or unpatched) kernel over it. In a nutshell, this means only the kernel you're running with your primary rom needs to have this patch.
I'm afraid this requires an unlocked bootloader since stock kernels don't have support for hardbooting kernels. Although I've heard of a workaround by insmoding a module.ko (z1 forums), I'm not convinced of its functionality yet. I hope I'm clear.
Click to expand...
Click to collapse
So, lets not kill the hope of modding LBL's hahaha. Good luck bro! Ty for the answer.
ezzekl said:
Correct me if my idea is a bad one... but with this is there any chance to change kernels on Locked BL? This could be some kind of trick to load a kernel for CM or KK, just tell me =)
Click to expand...
Click to collapse
On Locked Bootloader we need a ramdisk hijack. Here is what dh.harald said abou that: "I try to implement 2nd-init method (Motorola Milestone/Defy/etc) to hijack ramdisk. With this method, we can change stock ramdisk, and we can boot CM with stock kernel... "
And there is a link to that thread: http://forum.xda-developers.com/showthread.php?t=2653896
Is it possible to make CM work on locked bootloader (see the Xperia SP thread...), but I think it will only work with CM10.1 or CM10 'cause it is JellyBean 4.1 or 4.2. If someone willing to work on it..... I really appreciate it and I'll do the test!
Sorry for the offtopic!
dywerd said:
On Locked Bootloader we need a ramdisk hijack. Here is what dh.harald said abou that: "I try to implement 2nd-init method (Motorola Milestone/Defy/etc) to hijack ramdisk. With this method, we can change stock ramdisk, and we can boot CM with stock kernel... "
And there is a link to that thread: http://forum.xda-developers.com/showthread.php?t=2653896
Is it possible to make CM work on locked bootloader (see the Xperia SP thread...), but I think it will only work with CM10.1 or CM10 'cause it is JellyBean 4.1 or 4.2. If someone willing to work on it..... I really appreciate it and I'll do the test!
Sorry for the offtopic!
Click to expand...
Click to collapse
+1 on that, I will do the test too if needed.
Just applied it to my kernel. Seems like i still have a lot of problems with this lol
I'm developing JB kernel too (still learning, though)
Any chances that multirom with kexec hardboot coming anytime?
Sent from my C2104 using XDA Free mobile app
No news? :_(

Categories

Resources