[Xperia Play Android Development] CosmicDan:
Gingerbread support is experimental. Whatever the bug is, don't say it - I already know. I will fix them all when I can.
​

Current device support:

anzu (Arc) (LT15): Alpha in progress

ayame (Arc S) (LT18): Alpha in progress

haida (Neo V) (MT11): Alpha in progress

hallon (Neo) (MT15): Alpha in progress

iyokan (Pro) (MK16): Alpha in progress

phoneix (Neo L) (MT25): Supported

zeus/zeusc (Play) (R800): Supported

Others - No plans, probably never (only HDPI Xperia 2011 devices will be supported by MIUI Australia)

Full feature list:

Early roots in KRsH 2.6.32.9/4.1.C.0.7 kernel. Has changed drastically since first release; additional changes from CosmicDan, FXP and Irii. Stock-based kernel with manual changes/updates for AOSP and JB support - reported my many to have better batterey life and reliability than FXP-based kernels. Also built with Linaro toolchain and uses some Linaro-optimized memory functions.

Supports GB, ICS and JB ROM's. Configurable via the "Slot Mode" in the specific slot for the Boot Menu (see next point). AOSP-GB ROM's (e.g. CM7) are not supported.

Turbo Boot Menu. Entered by pressing vol-down (acts as a pre-recovery menu). Supports four slots for installing ROM's into - Slots 2-4 are stored on ext2 "image" files inside the /sdcard/turbo/ folder. Powered by the brilliant Aroma Installer GUI by Amarullz - any slot can be changed to your default boot, and each slot's icon and text can be customized :)

Tweaks and Mods selection for each slot:

- TSDX - my own set-and-forget sd-ext script. Ability to share apps between each slot. Can also be uninstalled if desired (for one slot or for all - fully wizard-driven install/uninstall interface).

- Restore random entropy device - By default, Turbo kernel replaces the /dev/random entropy device with urandom. No need for a seeder - in fact an entropy seeder will do absolutely nothing in this kernel, just sit there feeding entropy to the same device. This option can be toggled to set the default device back to random.

- Deasec v2 - When enabled, this slot will decrypt "asec" apps on startup. Helps a lot with App2SD/Link2SD users. Original concept by Giovanni Aneloni, rewritten by myself (CosmicDan).

- Change USB to ### - This option can toggle this slot to force UMS (Mass Storage) or MTP (Media Transfer) mode for USB connections. Please note that some ROM's, e.g. latest CM10 and KXP-JB, have completely disabled UMS in the ROM. Nothing I can do about that.

- Disable ALS - Enable or Disable the ambient light sensor for this ROM. If a ROM has a "disable ALS tweak" built it, this option will not do anything.

- Logging Mode - Change the Logging mode from the default to either Disabled or Extended. Disabled can increase performance (but logcat will be unavailable), extended can help with developers. See the option itself in tweak menu for more details.

Repair Functions. Inside the Boot Menu > Settings and Tools, the repair function will attempt to fix errors on SDCard and Slot2-4 images, and fix permissions. Default full repair and Advanced selection modes possible.

TeamWin Recovery Project. Can also be switched to/from CWM-Recovery in the Boot Menu > Settings and Tools menu. TWRP is recommended though as it's much more advanced and user-friendly. Contains additional fixes thanks to championswimmer, a theme and UI design by myself, plus the "Factory Reset" option will *not* touch the sd-ext partition.

Increased RAM capacity (select devices). zeus and phonex (Play/Neo L) have 379MB of RAM total. 720p recording is removed since it is buggy in Jellybean (gives a good chunk of more RAM), and also some of my own kernel tuning to squeeze a bit more (smaller kernel footprint = more RAM for Android). Do not ask for a 720p recording version, it will never happen - use a different kernel if you want it.

Expanded /data partition (varies per device). 600MB+ of space on userdata. Please note that your /system ROM must be no larger than 310MB to use this kernel. If you don't know how to check this, contact your ROM author for details and to make their ROM compatible with this kernel - also they can contact me for tips on crushing their ROM size =)

Automatic wifi-module. There is no ZIP install required for Wifi module, the kernel init can detect automatically if the wifi module(s) need to be installed. They are located on the RAMDisk (at {root}/modules) and the kernel simply makes a symlink to the .ko files on boot if it needs to (linking is better than copying them).

Snappy zRAM compression. I personally don't use zRAM at all because it slows things down (still ain't snappy enough, heh), but "Snappy" zRAM compression by Google is apparently a lot faster than the traditional LZO compression and only a tiny bit worse compression ratio.

CPU governors - Intellidemand (default, has my own enhancements for our single-core Snapdragon CPU's - including CPU ramping on touch events ported from "Project Butter"), Lagfree, SmartAssV2, Performance and OnDemand. No, I will not add more governors. More governors = more RAM used by kernel = less RAM for Android.

I/O schedulers - SIO (default), deadline and noop. No, I will not add more schedulers. More schedulers = more RAM used by kernel = less RAM for Android.

CIFS, TUN/TAP and FUSE support built-in. No modules required.

...did I miss anything? Don't think so.

Compatibility:

The kernel has been tested and working on the following ROM's -

Turbo UI (CosmicDan's source build) (Multiboot-aware)

Project Jellyzeus AOSP (CosmicDan's source build) (Multiboot-aware)

SlimBean for Xperia Play GSM/CDMA (cj360's source build) (Multiboot-aware)

P.A.C Man-PA (wedgess' source build) (Multiboot-aware)

Paranoid Android JB (wedgess' source build) (Multiboot-aware)

CM10 (Not multiboot-aware)

CM9 (Not multiboot-aware)

NXT2JB (GB ROM by sewer56lol) (Multiboot-aware)

AuroraPlay (GB ROM by Spizzy01) (Multiboot-aware)

Please report if it works or not for other Jellybean/ICS-AOSP ROM's.

FAQ/Bugs:

Q) When I select "Reboot > Recovery" in my ROM, it boots recovery but there are strange errors!

A) Yes, this will boot recovery but it won't know which slot to use. I can't fix this sorry, so simply don't use it (just use Vol-Down on normal reboot).

Q) My device keeps going into the Boot Menu, even though I never pressed the key to enter!

A) This is a bootloader thing and is rare, to fix it just enter Recovery (for any slot) and select reboot from there.

Q) Camera does not work in my Stock GB or Stock ICS based ROM!

A) Known issue. I *may* be able to fix camera in Stock ICS ROM's later, but Gingerbread will probably never happen.

Q) I get an FC when trying to record video!

A) Make sure you select 480p for the quality in camcorder settings. Recording only works on ICS-AOSP and JB ROM's with no 720p.

Q) My ROM in slot 2/3/4 is bootlooping, or I'm getting FC's all the time!

A) Your microSD has become corrupted, probably due to a battery pull or an unclean shutdown - and so the Slot images have also been corrupted. Chose the Tools > Repair function in Boot Menu to try and solve it. If not, I'm afraid you'll have to *delete* that slot (a format will not do) and re-create the images. (Note to ROM dev's - best to use Slot 1 for testing/working, since this is the safe slot for battery pulls/adb reboot command).

Q) I have a problem with my ROM - I flashed Turbo Kernel and restored my backup with Nandroid.

A) This is not possible. If you have a Nandroid/TWRP backup from another ROM, it cannot be restored with this kernel. This is because of the custom partitions. The same goes for restoring Turbo Nandroid backups in another kernel (but restoring TWRP backups in another kernel will work fine - as long as userdata is not too big for the new kernel).

Important

info on data safety

*Never* unmount/remove SDCard or pull the battery while system is using Slot 2/3/4. But mounting USB Storage or MTP to PC is 100% fine. @Dev's - never use "adb reboot" command, instead use "adb shell reboot" for the safe reboot.

Do NOT install a ROM ZIP in Slot 2/3/4 until it is marked "multiboot-aware" by the creator. ROM's that are not Multiboot-aware will format and install to your internal (Slot 1), no matter *what* you do. There are two ways to work-around this:

1) [Easy, temporary] Basic idea is to move the ROM from Slot 1 (Internal) to the new Slot. When you first enter Slot 2/3/4, the wizard to set up the slot begins. You have the option to either create blank system and useredata images, or to copy (clone) it from Slot 1 (Internal). So basically, just install the ROM (e.g. CM9 or CM10) in Slot 1, then you can setup Slot 2/3/4 and chose "Copy from Internal" for system (and userdata if you like). Make sure the new Slot works OK, then you can erase and reinstall whatever on Slot 1.

2) [Detailed, permanent, ROM makers do this please!] Change the updater-script to use generic mount commands. I encourage all ROM makers to do this, it will still work with other kernels and recoveries fine. For details on the specific script changes needed, refer to this post.

Make sure your SDCard is free of errors. If you encounter *any* issues with *any* ROM, do a full Repair in the "Settings and Tools" menu before reporting any issues.

For a better detailed, newbie-friendly guide on Multiboot, or for more help, refer to this thread guide. Big thanks to RC fma965 for the guide!

Downloads/Installation

Please Nandroid backup before flashing. I am not responsible for any permanent damage or data loss. I try my best not to wreck your stuff though :)

This kernel uses a custom partition layout. /system size is 310MB and /data size is over 600MB. Flashing this kernel will DESTROY all your userdata and ROM, so backup first! You have been warned!

GSM ONLY - You must have a vendor-unlocked partition layout - this only needs to be done once, if you have flashed my MIUI Australia ROM in the past or an official Neo L FTF, you already have it and can skip this step. If not, flash this full FTF first which is the same as .64 FTF but with the required vendor partition to format the unallocated space (it will completely wipe your phone) - R800i_4.0.2.A.0.62_phoenixvendor.ftf on Google Drive. DevHost mirror here - thanks to fma965

CDMA ONLY - No need to flash any FTF, it seems R800x already has an unlocked vendor partition.

Ensure your ROM is less than 310MB system size. If you are not sure or don't know how to check, contact your ROM builder.

Download and flash the kernel -

Mediafire folder for Turbo Kernel

First-time users - Enter Multiboot Menu (Vol-Down key) and go to Internal > Recovery, then format system, data and cache before doing anything else. Very important.

Do not install Google Apps straight after ROM install. You *must* boot the ROM at least once before installing Gapps package!

If you cannot enter the Boot Menu or Recovery after flashing, you need to flash the FTF first.

Sources and Changelog

All sources all on my GitHub (see my sig) in the KRsH kernel (there are a few kernel repo's but the KRsH one with latest update is this one), under "jellybean" branch. TWRP sources are in Team-Win-Recovery-Project repo under "jb-wip" branch (yes, it's TWRP 2.4.1.0+ - I'm just too lazy to branch). CWM sources under android_bootable_recovery.

Changelog: See this post (same changelog for all devices).