Yes , wanted to try to dive into this, and so here is my selfbuilt kernel.
The kernel is built from the original Samy sources, not just a modded initramfs and repacked, actually built from scratch.
Kernel comes "instant rooted", after flashing this kernel your system is completely rooted (su, busybox and the Superuser app).
Nothing more needs to be done, totally newb friendly
- MULTIPLE Recoveries!
By default this kernel will run ClockworkMod 188.8.131.52 when booting into recovery.
You can, however, set an option to boot two other recoveries:
Create a file "opt.recovery.cwm4" in /sdcard to get ClockWorkMod Recovery 184.108.40.206 when booting to recovery.
Create a file "opt.recovery.stock" in /sdcard to get original stock (e3) recovery when booting to recovery.
Content of the files doesn't matter, a 0-byte size is good enough already, it just needs to exist and have the above stated names.
- ADB with root priv's in recovery mode
When booted into recovery mode you have ADB available to connect to from your PC.
ADB also runns with full root priv's in recovery mode for all your haxx'n'tinker needs (in normally booted OS mode ADB still runns "secure" with only user priv's, use su to get root there)
- Custom boot scripts
There is some bootscripts you can put your own commands in for being executed during boot.
The scripts are /system/bootrc.sh and /data/bootrc.sh.
- Additional modules natively supported and loaded on boot
The original plan was to integrate these into the kernel, but due to hitting size limits of the zImage I decided to have them loaded from external directories.
Currently supported modules: (these modules are compiled together with the kernel and are included in the download!)
- slow-work.ko (not needed on Android 2.3.4 FWs, like XXKG2, e.t.c.)
If these modules are present in either /system/lib/modules or /data/lib/modules they will be automatically loaded at boot and are available to use (for example in case of CIFS, just get CifsManager from the marketplace and start mounting your shares)
- Custom Bootanimation and Bootsound
This kernel also supports using a custom bootanim (bootanimation.zip) and bootsound (PowerOn.wav).
To install, simply create a folder "import" on in your /sdcard and drop your files into it, i.e.:
/sdcard/import/bootanimation.zip -> for bootanimation
/sdcard/import/PowerOn.wav -> for bootsound
If either one of those is present upon the next boot they will automatically be installed to the correct path and be available.
- Custom Boot-LOGO !
This let's you change the logo shown BEFORE the bootanimation (usually the "Samsung Galaxy SII" splash screen).
Similar to the bootanim and -sound, copy the desired logo.jpg (480x800, max. 100k) to:
Upon the next boot the new bootlogo will be installed!
Please read the additional note about installing a new bootlogo bellow!
- BLN support
This kernel has BLN (=BackLight Notification) support!
Just install the BLN Pro App from the market (to actually use/get the notification lights you need the paid version, the free version only lets you test if BLN works propperly) and off your blinkieness goes
- Touchscreen Sensitivity Fix
vitalij's touchscreen fix to make the touch more responsive again when performing movements on the screen.
- init.d support
If you got a lot of shell scripts you want to have executed during boot, just drop them in
Everything put into those directories will be executed during boot
When you reboot to have the new logo installed you will at first still see the old logo.
When the system comes up it will (esp. at the first time) stay in the bootanimation for quite some time -. this is normal and to be expected!
The phone will eventually reboot again (also normal!) and you should already see your new bootlogo
/!\ The custom bootlogo ONLY works when the yellow triangle is NOT shown, in situations where the phone shows the yellow triangle screen, it will override the custom bootlogo.
I figured out how to apply a new bootlogo thanks to this thread and simply automated the process and made it a bit more simple to apply (IMO).
How to install
- Download a build of my kernel that matches your FW/current kernel version und unpack the downloaded archive.
You will get a .tar file. Don't extract that, you need this .tar.
(go to Settings -> About this phone -> look at "Kernel Version", this will tell you what kernel build you need)
- Make sure no Kies related processes are running in the background (start Taskmanager and kill'em all)
- Launch Odin
- Select the .tar file extracted previously as PDA
- Power off your phone and restart it in Download Mode (hold "Vol-Down + Home + Power" to turn it one) and press Vol-Up to confirm and actually entering Download Mode.
- Connect your phone to the PC via USB
- When Odin recognized the phone, hit START
- The phone should reboot shortly after and that's it, you're all set
I hope you like it
I might build it for other firmware versions as the one I have so far as well, but might take a while as I completely (re)build the kernel for every firmware version, i.e. (re)applying all mods to the original initramfs and then do a clean build (which takes ~45 minutes on my current setup).
It might not be completely neccessary to do that, but it's the most cleanest way IMO, and I like it clean
A little tool to aid with some tasks after rooting, makes getting rid of the yellow triangle a bit more easy (see bellow).
This tool can also backup and restore the EFS partition for you, no need to deal with terminal commands anymore
Since v1.20 of kTool it also has a function to check/verify the EFS backup, if it's OK and all.
The kernel includes this tool and it will be automatically installed on your system, there is no need to download and install it seperately, I will still provide it as seperate download though for those interested in using the tool but not using the kernel.
Removing the yellow triangle /!\
Getting rid of the yellow triangle in a few simple steps:
- Flash this (or any other) custom kernel via Odin
- Once your system is rooted run the Companion Tool ("HC-kTool")
- Tap "Dump current kernel"
- Tap "Reboot to Downloadmode"
- When back in downloadmode, start Odin, connect the phone and flash any stock Samsung kernel (this will remove the yellow triangle as the phone is now running on an official kernel again)
- when the phone rebooted after the Odin flash start up the Companion Tool again
- Tap "Flash kernel from /sdcard/zImage"
- Tap "Reboot"
You are now running the custom kernel (again) but without having the yellow triangle on boot - also the custom bootlogo now works again (it doesn't when the triangle is shown).
Thanks and additional credits
- Chainfire - for his CF-Root, that got my SGS2 rooted in the first place, inspired me to try on my own kernel tinkering and gave me ideas for the initial feature set
- neldar and creams@nexus - neldar for the original BLN mod and creams for his blog posts here and here that significantly helped me to add BLN support to my kernel
- connexion2005 - for this thread that got me onto the right track about changing the bootlogo (disclaimer: I did *not* use any of his files, everything has been made and automated from scratch, though the credits for the original method belong to this guy! )
- vitalij - for the touchscreen sensitivity fix he described in this thread
v1.24 XWKE7 (2.3.3): [ DOWNLOAD ]
v1.24 XWKF1 (2.3.3): [ DOWNLOAD ]
v1.24 XWKF3 (2.3.3): [ DOWNLOAD ]
v1.24 XXKG1 (2.3.4): [ DOWNLOAD ]
v1.24 XXKG2 (2.3.4): [ DOWNLOAD ]
v1.24 XXKG3 (2.3.4): [ DOWNLOAD ]
v1.24 XXKG5 (2.3.4): [ DOWNLOAD ]
v1.24 XXKG6 (2.3.4): [ DOWNLOAD ]
v1.24 UHKG7 (2.3.4): [ DOWNLOAD ]
v1.24 ZSKG2: [ DOWNLOAD ]
Built from Sammy's i9100_update2 source:
v1.24 XXKH1 (2.3.4): [ DOWNLOAD ]
v1.24 XXKH3 (2.3.4): [ DOWNLOAD ]
v1.24 XXKI3 (2.3.5): [ DOWNLOAD ]
v1.24 XXKI4 (2.3.5): [ DOWNLOAD ]
v1.24 XWKI4 (2.3.4): [ DOWNLOAD ]
v1.24 XWKI8 (2.3.5): [ DOWNLOAD ]
Built from Sammy's i9100_update2 source:
v1.25 XWKI4 (2.3.4): [ DOWNLOAD ]
v1.25 XXKH1 (2.3.4): [ DOWNLOAD ]
Built from Sammy's i9100_update3 source:
v1.25 XWKI8 (2.3.5): [ DOWNLOAD ]
v1.25 XXKI3 (2.3.5): [ DOWNLOAD ]
v1.25 XXKI4 (2.3.5): [ DOWNLOAD ]
v1.25 XWKJ1 (2.3.5): [ DOWNLOAD ]
v1.25 XWKJ2 (2.3.5): [ DOWNLOAD ]
v1.25 XWKJ3 (2.3.5): [ DOWNLOAD ]
v1.25 XWKK2 (2.3.6): [ DOWNLOAD ]
v1.25 XWKK5 (2.3.6): [ DOWNLOAD ]
v1.25 XXKL1 (2.3.6): [ DOWNLOAD ]
v1.25 XILA2 (2.3.6): [ DOWNLOAD ]
v1.25 XWLA4 (2.3.6): [ DOWNLOAD ]
kTool companion tool v1.24 : [ kTool XDA thread (with market link for download) ]
The kernels are compiled pretty universal, so the KE7 one should work on most 2.3.3 based FWs and the KG2 one on most 2.3.4 ones.
Though, if there's demand/requests for a FW version specific build, I can make one