[Galaxy S II Original Android Development] Hacre:
UPDATE

Due to unforeseen issues with this build and a plethora of people incapable of reading even simple notes, this release is being pulled while we work out some issues with our own internal testers.

Thank you.

Kernels. The final pain in the arse. These are the voyages of the dev team Ninphetamine. Our continuing mission, to break strange new code. To seek out new bugs and strange implementations. To boldly go where no phone has gone...before.

*cue musical score*

It's been some time since I last graced the Android community. Draped in the success of FroydVillain 1.5, empowered from my victories over Froyo's poor (and non existent) AOSP implementation for the HTC Hero, onward I charged into the task of dragging the ancient kernel of the Hero into the 21st century. However, after seeing how HTC are as likely to stick to recommended kernel practices as I am likely to win a Miss Universe contest, (This is highly unlikely and the least significant reason is that I am not female.) I buckled like a jet fighter made from tin foil and surrendered faster than an agoraphobic Frenchman. There has been some advances into more modern kernels for the Hero but as I predicted they're still plagued with issues, all of which can be blamed squarely on HTC.

It took some major rehabilitation to get me back into the Android development scene, a key factor in that rehab being the ownership of a Samsung Galaxy S. A delightful phone, still in my opinion the best single core Android phone that money can buy. Beautiful screen, fast, elegant and excellent on battery. It nursed me through those dark days of waking up in cold sweats with github commits circling through my head, kernel debug symbols blinking in the dark of the night like Vietnam flashbacks, breaking down into incoherent rants on IRC development channels ending eventually with "YOU WEREN'T THERE MAN, YOU JUST DON'T UNDERSTAND, HTC WILL COME AND GET YOU EVENTUALLY, THEN YOU'LL KNOW". Oh how I longed to find a high up HTC developer in a bathroom to blow them away before ending my own bitter misery. Alas, it was not to be.

After a successful tour of duty as a regular non developing user on the Samsung Galaxy S, I treated myself to a brand new and shiny Samsung Galaxy S II. As soon as I used the device and checked out the available source code for it, I knew I was ready, I knew I was fully recovered to be able to break free from the oppression of HTC, I knew that I was capable to step once more unto the breach and step back into Android development. The stage set, the orchestra struck...all that remained was to see if the Samsung Galaxy II could dance.

And dance it can. Accompanied by my trusty partner in crime netarchy (because this time if I go down in a gibbering wreck I'm damn sure taking someone with me) there is at last another phone with the magic, capabilities and horsepower to endure the test of time and upgrades, that like the Hero has carved out a niche of not only being the good of its generation but being the very best of its generation. Such hardware deserves only the best development efforts and here we are.

The best kernel for a phone that any human hand is capable of producing at this very moment in time. This will of course be rendered moot with the next release BUT RIGHT NOW, this is it boys and girls. Download it, flash it, use it with whatever ROM you wish (VillainROM of course for those with an IQ north of my shoe size) and enjoy the liberated freedom, speed and stability that those whoever owned a HTC Hero became accustomed to.

After much arguing with Samsung's inane practices, lack of logic, bizarre design decisions and enough harrassment via their support interface that I confidently expect a restraining order any day now, I bring you...

Ninphetamine version 1.0, the beginning.

Features:

Overclocking up to 1.6GHz. The phone is blisteringly fast at stock 1.2GHz so be happy you can push it to 1.6GHz. We will not provide higher, if you want higher then make your own.

Full voltage control interface. Via SetCPU you can set voltage as low as 800mV or as high as 1500mV for each speed in the database. If you're possessed with the intelligence of a baboon and destroy your phone as a result, do not come crying to us. All you'll get is a quote in this thread with much mocking from myself and your peers.

Patches and bug fixes up to and including 2.6.35.11. We're working on going up to 2.6.35.13 however the important fixes are in already. As well as some that never made it to 2.6.35.y -at all-.

Fully tested performance optimisations. This kernel comes with BFQv2-r1 IO scheduler enabled as default along with some tweaked parameters for this scheduler. These were painstakingly tested over many many many many many MANY different benchmark tests. These are the best. Anyone who claims otherwise or says that noop or deadline or CFQ is better, they're wrong. Why? Because I say so and I'm right.

A customised and trimmed down initramfs, including Clockworkmod. Many thanks to ogdobber for this who kindly gave me the template including ClockWorkMod that I took and further improved upon. All storage mounts are optimised for performance and data throughput, busybox is included as well as a much improved shell that by default provides tab completion even via adb shell. Please note that by default, adb is insecure, this means that adb shell, adb remount etc all work and give root access immediately.

So there you have it. Please download, flash, test and report any issues/bugs in this thread. I'll then either completely ignore the dumb posts or take on board constructive ones and use those reports/suggestions, incorporate them into the next version and then take all the credit.

Thanks to:

This release would not have been possible without the awesome and tireless work of netarchy, of Nexus S and Asus Transformer fame. Thanks also to ogdobber and supercurio for their assistance. Also thanks to mattgirv, Lenny, Rawat, Obihoernchen, geko95gek and Ante0 for being my guinea pigs for the many many test builds that were made before this final release, no doubt without them there would be a lot more bugs in this release than there already are. ;) Also not forgetting of course, the everlasting patience of my wonderful wife, without which I never would have bothered picking Android up again at all.

Bugs/Issues:

Please of course report them in this thread, however before doing so, please:

Wipe dalvik.

Ensure you have no other OC software installed such as Tegrak. The only OC software supported by this kernel is SetCPU (or setting manually via command line of course).

Are you using a custom ROM? See if you still get issues with stock Samsung firmware or VillainROM. I cannot test with every single custom ROM out there, so I test with stock Samsung (naturally) and my ROM of choice.

If you're still having issues such as random hangs/crashes/reboots and if these issues still occur at stock speeds/voltages then please do the following:

Install the Android SDK if you have not already done so.

In a command window, do the following:

adb logcat > USERNAME-logcat.log

Then in another window:

adb shell cat /proc/kmsg > USERNAME-kmsg.log

Naturally replacing USERNAME with your name and make these logs available either via attachment or pastebin or whatever. Please do not paste them directly into posts as these logs can become quite large quite quickly.

Known Issues:

adb install <package> currently does not work.

Version 1.1

Changelog:

Some minor edits to the initramfs to fix adb install <application>.apk and a few other path issues. Loses the nice adb shell with tab completion, but fixes some issues. Download links updated.

Version 1.2

Changelog:

More initramfs changes to fix an issue with nandroid backups.

Making nandroid backups work again may have broken the "adb install" package install method, but I figure working nandroid and needing to push the apk to the phone to then install with Application Manager beats broken nandroids. I'll look further into the adb install issue later today.

Version 1.4

Changelog:

Some configuration changes to try and track down the random hangs/reboots people are experiencing.

Support for startup scripts in /system/etc/init.d added should ROM makers wish to use them.

Added debugging code, which prevents deep sleep in version 1.4, but makes crashes easier to diagnose.