[XPERIA X10 Android Development] CosmicDan:
URGENT UPDATE: THIS KERNEL COULD BREAK YOUR ROM. It re-orders the mtd block order, this causes some custom scripts (e.g. in init.d) to break. Please don't use it for the moment unless the ROM is specifically updated to use it. You are free to test it, but be sure to backup first. Please report if the ROM works, and if possible check if there are any init.d/sh scripts with static mtdblock# mounting too (see post #13 for details).

Info For ROM Devs: To make your ROM compatible with this, any scripts you have that (re)mount partitions need to be updated. Please see post #13 for details.

If you use a ROM and want to use this kernel but it doesn't work, feel free to let me know and I'll see if I can make a patch to update it in case the original ROM builder doesn't for some reason.

----------------

Unlocked Bootloader only obviously, don't ask about locked bootloader support. I don't take any credit for this kernel. This is a mod of Championswimmer's kCernel v01 (the new 'test' ones, which are the best kernel yet IMO), I only started a new thread incase this kernel has issues whereas champs' original one doesn't (you can report them here). Additional credits go to DoomLorD (got some code from his old kernel for FXP, i.e. DoomKernel v05) and of course J and the FXP Team.

Hope you guys don't mind Championswimmer and DooMLorD, you are Gods :highfive:

This kernel is made for CosmicUI ROM but it should work with any FXP-CM7 based ROM. If you are not using CosmicUI, be aware of these two warnings:

1) /system only has 190MB. If your ROM installation is bigger, you can't use this. You can check the size of system with apps like Titanium Backup and Link2SD.

2) /cache only has 8MB (it was 4MB but this ran out of space when doing stuff in Recovery) and as such you will need a 'bind-mount script for download cache' which links /cache/download to /data so that large Play Store downloads will work. All good FXP-based ROM's should already have it since it's been built in to Cyanogenmod for a long time. Check init.d for "06mountdl" file to be sure (might be different name, on CosmicUI it's 05mountdl for example).

Tested ROM's working with this kernel (please report if it works but not in the list):

- CM7-FXP125 and later

- CosmicUI v0.6.x and later

Changelog

Based directly on championswimmer's kCernel "test-release-v01" (the new one after v05)

v03
- Fixed gradual pixel shift bug in Aroma installer
- Changed handset max-gain to 600 (was 1000). I noticed no difference in volume, this also fixes distortion for some X10's
- Unlocked more mhz (1152, 1190, 1228). Be careful with the higher ones, though CM7/CosmicUI will revert to safe clock if it crashes.
- Compiled a second version with a different "safe" partition map for huge ROM's (system @ 285MB, userdata @ 608MB, cache @ 35MB)
- Optimized smartass governor for better sleep and wake (thanks to DooMLorD and FXP)
- Optimized smartassv2 governor for better sleep and wake (thanks to DooMLorD and FXP)
- Default governor changed to smartassv2 (bit more battery friendly than SavagedZen)

v02
- "kcernel" and "cosmicmod" appended to version string
- custom mtdparts config ( system @ 190MB, userdata @ 730MB, cache @ 8mb )
- compiled with O4 optimization
- (over)clock speeds added (up to 1113) and voltages tweaked (thanks to DooMLorD)
- improved in-call volume (thanks to DooMLorD)
- Default governor set to SavagedZen
- Compiled with performance governor available (useful for stress testing max clock)

v01
- Based on kCernel "test" v01
- Changed bootlogo to CosmicUI one with kCernel for FXP branding
- Removed Bootmanager (I don't use it) and replaced with Doom's Touch Recovery (more stable backup/restore than FXP Recovery)

Installation

1) Make a Nandroid backup (if you want to keep your ROM)

2) Flash the kernel in latest FlashTool

3) Boot to recovery and format cache, data and system

4) Restore Nandroid backup

5) Reboot. Let me know if you have any issues.

6) In my experience I've had to perform a Factory Reset and reinstall the ROM when switching from another kernel.

If you are not already using kCernel, you might need to do a factory reset - I don't know.

Requests

If you want some other partition layout or have any other suggestion please let me know and I'll think about it.

Download

v3 MaxMTD (/data = 730MB version) - recommended for CosmicUI

http://www.mediafire.com/?d4fenoosqeeryyk

v3 SafeMTD (/data = 608MB, /system = 285MB) - recommended for large ROM's

http://www.mediafire.com/?tuu7b07kptb32pb

Source

http://www.mediafire.com/download.php?nunrktw96q58eof

Detailed Info (for devs)

I am surprised how easy it was to create a custom partition map and I have no idea why nobody else has done this before. All I had to do was edit the default build config and edit the CONFIG_CMDLINE value:

CONFIG_CMDLINE="console=ttyMSM0 mtdparts=msm_nand:12m@78m(boot),190m(system),730m(userdata),8m(cache),4m(appslog)"

...the other changes were taken from DoomKernel v05 in a basic tree-diff method.