[Galaxy S II Original Android Development] Chainfire:
This rooted kernel is for the "rooting beginners" and those who want to keep as close to stock as possible. CF-Root takes the kernel from an original Samsung firmware, and just adds root, busybox, and ClockWorkMod (CWM4/5) recovery

THIS IS NOT A ROM - it is only a modified kernel. You need to have the relevant firmware already on your device. You do NOT need to wipe anything for this patch. You DO need to read the instructions. PLEASE READ THIS ENTIRE POST!

Donate

There have now been nearly 8.000.000 downloads of CF-Root for various devices (see for example Galaxy S1, Galaxy Tab 7", and Galaxy S2), and many more if you include ROMs, kernels, etc that use it. Don't be a leech, buy me a beer (and use the "Thanks" button!). Imagine if every CF-Root user had donated me $1... :)

Yellow triangle and flash counter

On Ice Cream Sandwich builds (only), get rid of the yellow triangle and flash counter after flashing using my Triangle Away app!

Features

- The kernel is fully stock and taken from the original firmware, with just the following added:

- Root

- Busybox v1.16.2androidminimal (from CWM)

- Integrated CWM 4.0.0.2

CF-Root v4.1 and older

- Superuser 2.3.6.1

- "Secure" mode

CF-Root v4.2 and newer

- Superuser 3.0

- "Insecure" mode

CF-Root v5.0 and newer

- "Insecure" mode

- Superuser v3

- Busybox v1.19.2

- Integrated CWM v5

- CWM Manager v3

CF-Root v5.4 and newer

- SuperSU (replaces Superuser)

- "Fake-secure" (ro.secure=1, but ADB is patched to run as ro.secure=0)

- Fixed ICS SD card issue

CF-Root v5.5 and newer

- CWM updated to v5.5

Instructions - ODIN (short)

- Flash CF-Root-xxx-vX.X.tar (from the attached zip) as PDA in ODIN, without repartition. Done.

Instructions - ODIN (long)

- Follow these instructions to the letter. Do not touch any buttons or checkboxes that are not listed below to touch!

- Unzip the attached CF-Root-xxx-vX.X.zip

- (USB) Disconnect your phone from your computer

- Start ODIN

- Click the PDA button, and select CF-Root-xxx-vX.X.tar

- Put your phone in download mode

- (USB) Connect the phone to your computer

- Make sure repartition is NOT checked

- Click the START button

- Wait for the phone to reboot

- Done (if it took you more than 30 seconds, you need practise!)

Instructions - If you already have CF-Root

- Copy the zip file to your SD card

- Stop sharing SD card with computer over USB, unplug the cable, etc

- Applications -> CWM -> Flash kernel. Select the ZIP file on your SD card.

- Done

Other kernels

Replacing CF-Root with other kernels and vice-versa sometimes works, sometimes it doesn't. I don't have a list.

When going from CF-Root to another kernel, root will usually stay, while CWM will be lost (unless the other kernel also includes it), but there should not be issues. The CWM Manager app may remain, but probably won't do anything useful.

ClockworkMod

CF-Root includes a

custom

version of CWM4. I always make custom versions, as the originals often do not take some Samsung specific things into account.

CF-Root/CWM4 is NOT compatible with ROM Manager! Manage/perform your backup/restores from CWM directly or using the CWM Manager application included with CF-Root

- Booting into recovery will immediately give you CWM. The standard recovery will only be started if a Samsung package is detected.

- ADB is functional in recovery, however it may take up to a minute for it to start up after booting into recovery.

- When connected to ADB in recovery, you need to use "rootsh" command to get root, instead of "su". This will not prompt you, it will just give you root. Obviously the "rootsh" command does not work when booted normally.

NOTICE: On CF-Root before 4.0, the kernel was not backed up or restored, on 4.0 it is. This can also cause issues restoring pre-4.0 nandroid backups. In that case, use "advanced restore" inside CWM4 and restore a backup's portions one by one.

CWM Manager

Because of incompatibility with ROM Manager, I wrote and included "CWM Manager". This is a new app (as of March 30, 2011). You can find it under Applications -> CWM. It is much faster to use than manually booting into CWM and selecting these options.

Features:

- Boot to CWM

- Backup firmware

- Restore backups (CF-Root v5.0: including partition selection)

- Delete backups

- Install APKs

- Flash CWM3/4/5 update.zip's

- Flash kernels (zImage, zImage in TAR, zImage in ZIP, zImage in TAR in ZIP) - without changing warning triangle status or increasing flash counter

--- without changing warning triangle status or increasing flash counter

- CF-Root v5.0: Flash complete firmwares (seperate files as well as .tar and .tar.md5 archives, dump files in /sdcard/external_sd/firmware folder)

--- without changing warning triangle status or increasing flash counter

--- can pre-root new firmwares during flash

Note:

If you flash a different kernel, CWM Manager may remain installed. However, functions may not work, because they need kernel compatibility !

Custom boot / init scripts

CF-Root will execute the following scripts if present, in the order listed:

- /system/etc/init.d/* (there can be many files here, no extensions! use #!)

- /system/bin/customboot.sh (busybox sh)

- /system/xbin/customboot.sh (busybox sh)

- /data/local/customboot.sh (busybox sh)

Please make sure you chown / chmod the scripts correctly so they can be executed. Pretty much root:root / 755.

Custom boot animations and binaries

CF-Root also supports custom boot animations:

- /system/media/bootanimation.zip

- /data/local/bootanimation.zip

And custom boot binaries:

- /data/local/bootanimation.bin

Installing busybox over the included version

It is possible to install a custom busybox over CF-Root v3.0 and newer. However, this is not without risk. CF-Root makes heavy use of scripting, and many CF-Root scripts rely on the internal busybox version. If you do install a seperate busybox version (always use "stericson" installer!), install it to /system/

x

bin. Installing it to /system/bin will mess things up for sure. Even if you do that part right, it may still break CF-Root, so make sure to make a backup before trying.

How ?

I wrote my own toolchain to ease patching of initramfs, and that is what all this is based on. Took me a few days to get it to this state. If this works right, however, next time it will probably take me a few hours tops :)

Help! Which file do I use ?

Listen closely, for I will say zis only once!

Go to Settings -> About phone -> Kernel Version. Note the string present there:

2.6.35.7-I9100XXKG1-CL349526

What matters most (KG1) in this case, is in bold. Try to find the matching file under downloads:

CF-Root-SGS2_XX_OXA_KG1-v4.1-CWM4.zip

The XX and OXA identifiers are not that important. Usually a "KG1" kernel is a "KG1" kernel, and that is that. Sometimes (pretty rare) it happens there will be multiple different kernels with the same name in different firmwares, that are actually different. If this happens, they are usually only very minor changes and you should expect them to still be fully compatible. I include the "XX" and "OXA" identifiers so the very advanced users can deduce from which full firmware I have taken the kernel file.

Don't worry too much, just find the matching download and use it. What if there is no matching download ? You can ask me to make one, but I can tell you right now, I very very rarely make CF-Root's for kernels on request, unless it is the very latest kernel that has been released by Samsung. In the latter case, be sure to let me know. If there's no match and I'm not making one, try finding the closest match. You should treat "KG1" as a number, but instead of 1-9, we have 1-9, A-Z (where A would be 10, and Z would be 35). "KG

2

" is really close to "KG

1

", "K

F

1" is not close to "K

G

1" at all. I hope that makes sense.

Download

These are general-purpose downloads. See the posts following this one for the kernels.