• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!
Search This thread

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,442
87,712
www.chainfire.eu
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/xbin. 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). "KG2" is really close to "KG1", "KF1" is not close to "KG1" at all. I hope that makes sense.

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

Attachments

  • Odin3-v1.85.zip
    198.4 KB · Views: 395,766
Last edited:

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,442
87,712
www.chainfire.eu
Getting rid of that pesky warning triangle during boot, and upgrading your firmware

Getting rid of that pesky warning triangle during boot

On ICS, there is now a much easer way: Triangle Away

It is definitely possible to remove that pesky warning triangle during boot when running a custom kernel, though you should be well aware that this method does NOT reset the custom kernel flash counter. The steps are not complicated, but they aren't easy either, so read well.

(1) Make sure you have CF-Root flashed (see the first post). You must have the "CWM Manager" app available.

(2) Make sure you have the same version of CF-Root extracted until you have the zImage file. (ZIP --> extract --> TAR --> extract --> zImage).

(3) Push the zImage file to /sdcard . It must still be called zImage !

(4) Find an original Samsung signed stock kernel (preferably from the same stock firmware you have, but it's not terribly important)

(5) Reboot into download mode (adb reboot download, or boot the device with home and volume-down pressed)

(6) Fire up ODIN, and flash the Samsung kernel

(7) Boot the device with the stock kernel. CWM Manager will still be available.

(8) Start CWM Manager, select Flash Kernel, and select the zImage from CF-Root you previously put on your SD-card. The kernel will flash and the device will reboot.

(9) You will now notice you no longer have the warning triangle during boot, but you are actually running CF-Root with all it's goodies!

(10) In the future, if you only use the Flash Kernel option inside CWM Manager instead of ODIN, the triangle will not return, neither will your flash counter increase. But keep in mind, that CWM Manager can only handle a direct "zImage" if you are NOT running a kernel with full busybox support (this is currently needed for flashing kernels out of .TAR and .ZIP files)

CF-Root v5.0: Upgrading your firmware

Important: This works ONLY on a CF-Root kernel !

CWM Manager has the ability to flash firmware parts either from separate files (zImage, factoryfs.img, etc) or from .tar / .tar.md5 files that they usually come packaged in.

- Download the firmware you want to flash
- If you have a ZIP or RAR file, extract it until you have seperate files, or .tar / .tar.md5 files
- Create a folder named 'firmware' on your external SD card
- Copy the files you want to flash to this folder ( /sdcard/external_sd/firmware ). factoryfs ("system") is mandatory part at the moment.
- TIP: If you are flashing a new firmware that already has a CF-Root kernel available, put it in the 'firmware' folder as well in zImage or .tar form (NOT .zip). Select it when asked which kernel to use, then use the "Flash normally" option later on.
- Open the CWM Manager app
- Select "Flash stock firmware"

- At this point, CWM Manager will tell you about the firmware parts it has found, and which ones it will flash. It will also give you warnings about bootloaders and PIT files if those were found. If some firmware parts are present multiple times, it will ask you which file to use as source.

- If what you are flashing includes both kernel and system parts, CWM Manager will warn you about this as you are about to lose root. It will provide you with three options:

1: Keep CF-Root kernel
Keeps the current CF-Root kernel, only flash the other parts. You will not lose root or CWM Recovery. You can flash a newer CF-Root kernel later (or maybe you have already done so), see 3.1 above.

2: Pre-root system
Flashes both kernel and system parts, but roots system during the flash. You will lose CWM Recovery, but you will keep root (if all goes well). The CWM Manager application will also remain, and allow you to flash the correct CF-Root kernel at a different time (if you have not done so before), see 3.1 above.

3: Flash normally
Doesn't do anything specific. If the kernel you are flashing is not a CF-Root (or similar) kernel, you will lose root, and CWM Recovery.

- CWM Manager will reboot into CWM Recovery, and will flash the firmware, rebooting afterwards.
 
Last edited:

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,442
87,712
www.chainfire.eu
The goods

It is important you guys let me know of new stock kernels and ROMs, else no new CF-Root's will be made :)

Note that I generally do not "back-port", in other words, I rarely make CF-Root's for old kernels/firmwares, and new features and fixes generally only appear for the very latest kernel/firmware.

NOTE: Removed < 4.0 version of CF-Root

v4.0 release notes: http://forum.xda-developers.com/showpost.php?p=14733439&postcount=534

CF-Root-SGS2_XW_XEU_KE2-v4.0-CWM4.zip
CF-Root-SGS2_XW_XEU_KE7-v4.0-CWM4.zip
CF-Root-SGS2_XW_ODD_KE8-v4.0-CWM4.zip
CF-Root-SGS2_XW_OJV_KF1-v4.0-CWM4.zip
 
Last edited:

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,442
87,712
www.chainfire.eu

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,442
87,712
www.chainfire.eu
Yet more downloads!

XX_OXA_KG3: Untested (by me)
XX_OXA_KG6: Tested
XX_OXA_KG5: Untested (by me)
JP_XSG_KG5: Untested (by me)
XX_MUL_KG7: Untested (by me)
XX_OXA_KH1: Tested
XX_OXA_KH3: Untested (by me) (thx to robbielicious for the stock kernel)
XX_XEU_KH4: Tested

CF-Root-SGS2_XX_OXA_KG3-v4.1-CWM4.zip
CF-Root-SGS2_XX_OXA_KG5-v4.1-CWM4.zip
CF-Root-SGS2_XX_OXA_KG6-v4.1-CWM4.zip
CF-Root-SGS2_JP_XSG_KG5-v4.1-CWM4.zip
CF-Root-SGS2_UH_MUL_KG7-v4.1-CWM4.zip
CF-Root-SGS2_XX_OXA_KH1-v4.1-CWM4.zip
CF-Root-SGS2_XX_OXA_KH3-v4.1-CWM4.zip
CF-Root-SGS2_XW_XEU_KH4-v4.1-CWM4.zip
 
Last edited:

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,442
87,712
www.chainfire.eu
Even more downloads!

XW_NEE_KI4: 2.3.4
XX_OXA_KI3: 2.3.5
CE_XEN_KI2: 2.3.4, CF-Root v4.2, SU 3.0, "insecure"
XX_OXA_KI3-42: 2.3.5, CF-Root v4.2, SU 3.0, "insecure"
XW_NEE_KI4-42: 2.3.4, CF-Root v4.2, SU 3.0, "insecure"
XW_NEE_KI8: 2.3.5, CF-Root v4.3, SU 3.0.2, "insecure"
XX_XEO_KI4: 2.3.5, CF-Root v4.4, SU 3.0.5, "insecure"

(Sorry for the filename weirdness, my automated buildscript made a booboo ;))

CF-Root-SGS2_XW_NEE_KI4-v4.1-CWM4.zip
CF-Root-SGS2_XX_OXA_KI3-v4.1-CWM4.zip
CF-Root-SGS2_CE_XEN_KI2-v4.2-CWM4.zip
CF-Root-SGS2_XX_OXA_KI3-42-v4.2-CWM4.zip
CF-Root-SGS2_XW_NEE_KI4-42-v4.2-CWM4.zip
CF-Root-SGS2_XW_NEE_KI8-v4.3-CWM4.zip
CF-Root-SGS2_XX_XEO_KI4-v4.4-CWM4.zip
 
Last edited:

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,442
87,712
www.chainfire.eu
Even more downloads!

KL1 (GB): Untested
KL3 (GB): Untested
LA2 (GB): Untested

KP1 (ICS): Untested
KP2 (ICS): Tested, but since this is a new Android version, I'd still expect some issues :)
KP4 (ICS): Untested
KP8 (ICS): Tested, seems fine to me

GB:

CF-Root-SGS2_XW_INU_KL1-v5.0-CWM5.zip
CF-Root-SGS2_DX_THL_KL3-v5.0-CWM5.zip
CF-Root-SGS2_XI_ITV_LA2-v5.0-CWM5.zip
CF-Root-SGS2_XW_OXA_LA4-v5.0-CWM5.zip

ICS:

CF-Root-SGS2_XX_OXA_KP1-v5.1-CWM5.zip
CF-Root-SGS2_XX_OXA_KP2-v5.1-CWM5.zip
CF-Root-SGS2_XX_OXA_KP4-v5.2-CWM5.zip
CF-Root-SGS2_XX_OXA_KP8-v5.2-CWM5.zip
CF-Root-SGS2_XX_OXA_KPA-v5.2-CWM5.zip
CF-Root-SGS2_XX_OXA_LP1-v5.2-CWM5.zip
CF-Root-SGS2_XX_OXA_LP2-v5.2-CWM5.zip
CF-Root-SGS2_XX_OXX_LP6-v5.2-CWM5.zip
CF-Root-SGS2_XX_OXX_LPB-v5.2-CWM5.zip ***
CF-Root-SGS2_XX_OXX_LPB-v5.2-CWM5-PROPER.zip ***
CF-Root-SGS2_XX_OXA_LPH-v5.2-CWM5.zip ***
CF-Root-SGS2_XX_OXA_LPJ-v5.3-CWM5.zip ***
CF-Root-SGS2_XX_XEO_LPQ-v5.3-CWM5.zip ***
CF-Root-SGS2_XX_XEO_LPQ-PROPER-v5.4-CWM5.zip (use also for LPE)
CF-Root-SGS2_DX_XTC_LP7-v5.4-CWM5.zip
CF-Root-SGS2_XW_O2U_LP3-v5.4-CWM5.zip
CF-Root-SGS2_XX_OXA_LPS-v5.4-CWM5.zip
CF-Root-SGS2_XW_XEN_LP7-v5.4-CWM5.zip
CF-Root-SGS2_BU_VOD_LPC-v5.4-CWM5.zip
CF-Root-SGS2_XW_XSA_LP8-v5.4-CWM5.zip
CF-Root-SGS2_XW_KPN_LP9-v5.4-CWM5.zip
CF-Root-SGS2_DX_SIN_LP9-v5.4-CWM5.zip
CF-Root-SGS2_XX_NEE_LPD-v5.4-CWM5.zip *old*

ICS - CF-Root v5.5/6:

CF-Root-SGS2_XX_NEE_LPD-v5.5-CWM5.zip
CF-Root-SGS2_XW_OXX_LPE-v5.5-CWM5.zip
CF-Root-SGS2_XW_OXI_LPF-v5.5-CWM5.zip
CF-Root-SGS2_XX_OXA_LPW-v5.5-CWM5.zip
CF-Root-SGS2_XW_NEE_LPG-v5.5-CWM5.zip
CF-Root-SGS2_UH_UVC_LPK-v5.5-CWM5.zip
CF-Root-SGS2_XW_DBT_LPI-v5.5-CWM5.zip
CF-Root-SGS2_XX_OXA_LQ5-v5.6-CWM5.zip (UPDATED)
CF-Root-SGS2_XW_NEE_LPO-v5.6-CWM5.zip
CF-Root-SGS2_XW_NEE_LPT-v5.6-CWM5.zip
CF-Root-SGS2_XW_XEZ_LPU-v5.6-CWM5.zip
CF-Root-SGS2_XX_XEO_LQB-v5.6-CWM5.zip
CF-Root-SGS2_XW_NEE_LPX-v5.6-CWM5.zip
CF-Root-SGS2_XW_NEE_LPY-v5.6-CWM5.zip

*** = problems mounting secure storage
 
Last edited:

Sirklip

Senior Member
Oct 14, 2010
129
24
Have a beer on me
Transaction ID: 7B567959WC141844X
Thanks for your hard work
Will be keeping a close eye on this thread
 

Chainfire

Moderator Emeritus / Senior Recognized Developer
Oct 2, 2007
11,442
87,712
www.chainfire.eu
Chainfire, thank you for your awesome work once again.

You mention above about the "custom kernel flash counter", is this Samsungs way of keeping track of what we're upto? Voiding warranty etc?

If so is there a way to reset it?

Thanks man.

Pretty much to keep track of us, yes. It can be reset with an USB JIG (there's a thread about it in this forum), but according to some, this does reset the custom kernel flash to 0, but it turn increments a counter-reset counter...

So err....

I've spent some time trying to find where this counter is stored and how to reset it, but so far no dice. I know a lot of places it ISN'T at now, though ;)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 1840
    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/xbin. 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). "KG2" is really close to "KG1", "KF1" is not close to "KG1" at all. I hope that makes sense.

    Download
    These are general-purpose downloads. See the posts following this one for the kernels.
    475
    Getting rid of that pesky warning triangle during boot, and upgrading your firmware

    Getting rid of that pesky warning triangle during boot

    On ICS, there is now a much easer way: Triangle Away

    It is definitely possible to remove that pesky warning triangle during boot when running a custom kernel, though you should be well aware that this method does NOT reset the custom kernel flash counter. The steps are not complicated, but they aren't easy either, so read well.

    (1) Make sure you have CF-Root flashed (see the first post). You must have the "CWM Manager" app available.

    (2) Make sure you have the same version of CF-Root extracted until you have the zImage file. (ZIP --> extract --> TAR --> extract --> zImage).

    (3) Push the zImage file to /sdcard . It must still be called zImage !

    (4) Find an original Samsung signed stock kernel (preferably from the same stock firmware you have, but it's not terribly important)

    (5) Reboot into download mode (adb reboot download, or boot the device with home and volume-down pressed)

    (6) Fire up ODIN, and flash the Samsung kernel

    (7) Boot the device with the stock kernel. CWM Manager will still be available.

    (8) Start CWM Manager, select Flash Kernel, and select the zImage from CF-Root you previously put on your SD-card. The kernel will flash and the device will reboot.

    (9) You will now notice you no longer have the warning triangle during boot, but you are actually running CF-Root with all it's goodies!

    (10) In the future, if you only use the Flash Kernel option inside CWM Manager instead of ODIN, the triangle will not return, neither will your flash counter increase. But keep in mind, that CWM Manager can only handle a direct "zImage" if you are NOT running a kernel with full busybox support (this is currently needed for flashing kernels out of .TAR and .ZIP files)

    CF-Root v5.0: Upgrading your firmware

    Important: This works ONLY on a CF-Root kernel !

    CWM Manager has the ability to flash firmware parts either from separate files (zImage, factoryfs.img, etc) or from .tar / .tar.md5 files that they usually come packaged in.

    - Download the firmware you want to flash
    - If you have a ZIP or RAR file, extract it until you have seperate files, or .tar / .tar.md5 files
    - Create a folder named 'firmware' on your external SD card
    - Copy the files you want to flash to this folder ( /sdcard/external_sd/firmware ). factoryfs ("system") is mandatory part at the moment.
    - TIP: If you are flashing a new firmware that already has a CF-Root kernel available, put it in the 'firmware' folder as well in zImage or .tar form (NOT .zip). Select it when asked which kernel to use, then use the "Flash normally" option later on.
    - Open the CWM Manager app
    - Select "Flash stock firmware"

    - At this point, CWM Manager will tell you about the firmware parts it has found, and which ones it will flash. It will also give you warnings about bootloaders and PIT files if those were found. If some firmware parts are present multiple times, it will ask you which file to use as source.

    - If what you are flashing includes both kernel and system parts, CWM Manager will warn you about this as you are about to lose root. It will provide you with three options:

    1: Keep CF-Root kernel
    Keeps the current CF-Root kernel, only flash the other parts. You will not lose root or CWM Recovery. You can flash a newer CF-Root kernel later (or maybe you have already done so), see 3.1 above.

    2: Pre-root system
    Flashes both kernel and system parts, but roots system during the flash. You will lose CWM Recovery, but you will keep root (if all goes well). The CWM Manager application will also remain, and allow you to flash the correct CF-Root kernel at a different time (if you have not done so before), see 3.1 above.

    3: Flash normally
    Doesn't do anything specific. If the kernel you are flashing is not a CF-Root (or similar) kernel, you will lose root, and CWM Recovery.

    - CWM Manager will reboot into CWM Recovery, and will flash the firmware, rebooting afterwards.
    391
    Even more downloads!

    KL1 (GB): Untested
    KL3 (GB): Untested
    LA2 (GB): Untested

    KP1 (ICS): Untested
    KP2 (ICS): Tested, but since this is a new Android version, I'd still expect some issues :)
    KP4 (ICS): Untested
    KP8 (ICS): Tested, seems fine to me

    GB:

    CF-Root-SGS2_XW_INU_KL1-v5.0-CWM5.zip
    CF-Root-SGS2_DX_THL_KL3-v5.0-CWM5.zip
    CF-Root-SGS2_XI_ITV_LA2-v5.0-CWM5.zip
    CF-Root-SGS2_XW_OXA_LA4-v5.0-CWM5.zip

    ICS:

    CF-Root-SGS2_XX_OXA_KP1-v5.1-CWM5.zip
    CF-Root-SGS2_XX_OXA_KP2-v5.1-CWM5.zip
    CF-Root-SGS2_XX_OXA_KP4-v5.2-CWM5.zip
    CF-Root-SGS2_XX_OXA_KP8-v5.2-CWM5.zip
    CF-Root-SGS2_XX_OXA_KPA-v5.2-CWM5.zip
    CF-Root-SGS2_XX_OXA_LP1-v5.2-CWM5.zip
    CF-Root-SGS2_XX_OXA_LP2-v5.2-CWM5.zip
    CF-Root-SGS2_XX_OXX_LP6-v5.2-CWM5.zip
    CF-Root-SGS2_XX_OXX_LPB-v5.2-CWM5.zip ***
    CF-Root-SGS2_XX_OXX_LPB-v5.2-CWM5-PROPER.zip ***
    CF-Root-SGS2_XX_OXA_LPH-v5.2-CWM5.zip ***
    CF-Root-SGS2_XX_OXA_LPJ-v5.3-CWM5.zip ***
    CF-Root-SGS2_XX_XEO_LPQ-v5.3-CWM5.zip ***
    CF-Root-SGS2_XX_XEO_LPQ-PROPER-v5.4-CWM5.zip (use also for LPE)
    CF-Root-SGS2_DX_XTC_LP7-v5.4-CWM5.zip
    CF-Root-SGS2_XW_O2U_LP3-v5.4-CWM5.zip
    CF-Root-SGS2_XX_OXA_LPS-v5.4-CWM5.zip
    CF-Root-SGS2_XW_XEN_LP7-v5.4-CWM5.zip
    CF-Root-SGS2_BU_VOD_LPC-v5.4-CWM5.zip
    CF-Root-SGS2_XW_XSA_LP8-v5.4-CWM5.zip
    CF-Root-SGS2_XW_KPN_LP9-v5.4-CWM5.zip
    CF-Root-SGS2_DX_SIN_LP9-v5.4-CWM5.zip
    CF-Root-SGS2_XX_NEE_LPD-v5.4-CWM5.zip *old*

    ICS - CF-Root v5.5/6:

    CF-Root-SGS2_XX_NEE_LPD-v5.5-CWM5.zip
    CF-Root-SGS2_XW_OXX_LPE-v5.5-CWM5.zip
    CF-Root-SGS2_XW_OXI_LPF-v5.5-CWM5.zip
    CF-Root-SGS2_XX_OXA_LPW-v5.5-CWM5.zip
    CF-Root-SGS2_XW_NEE_LPG-v5.5-CWM5.zip
    CF-Root-SGS2_UH_UVC_LPK-v5.5-CWM5.zip
    CF-Root-SGS2_XW_DBT_LPI-v5.5-CWM5.zip
    CF-Root-SGS2_XX_OXA_LQ5-v5.6-CWM5.zip (UPDATED)
    CF-Root-SGS2_XW_NEE_LPO-v5.6-CWM5.zip
    CF-Root-SGS2_XW_NEE_LPT-v5.6-CWM5.zip
    CF-Root-SGS2_XW_XEZ_LPU-v5.6-CWM5.zip
    CF-Root-SGS2_XX_XEO_LQB-v5.6-CWM5.zip
    CF-Root-SGS2_XW_NEE_LPX-v5.6-CWM5.zip
    CF-Root-SGS2_XW_NEE_LPY-v5.6-CWM5.zip

    *** = problems mounting secure storage
    362
    The goods

    It is important you guys let me know of new stock kernels and ROMs, else no new CF-Root's will be made :)

    Note that I generally do not "back-port", in other words, I rarely make CF-Root's for old kernels/firmwares, and new features and fixes generally only appear for the very latest kernel/firmware.

    NOTE: Removed < 4.0 version of CF-Root

    v4.0 release notes: http://forum.xda-developers.com/showpost.php?p=14733439&postcount=534

    CF-Root-SGS2_XW_XEU_KE2-v4.0-CWM4.zip
    CF-Root-SGS2_XW_XEU_KE7-v4.0-CWM4.zip
    CF-Root-SGS2_XW_ODD_KE8-v4.0-CWM4.zip
    CF-Root-SGS2_XW_OJV_KF1-v4.0-CWM4.zip
    328
    Yet more downloads!

    Notice: XX_OXA_KG1 is 2.3.4, while XW_MOT_KG1 is 2.3.3 ! Make sure to check which version you need.

    XX_MOT_KG1: Untested
    ZS_OZS_KG2: Untested
    JP_XSG_KG2: Untested
    XX_OXA_KG2: Untested

    CF-Root-SGS2_XX_OXA_KF2-v4.0-CWM4.zip
    CF-Root-SGS2_ZS_OZS_KF4-v4.0-CWM4.zip
    CF-Root-SGS2_XW_CLK_KF3-v4.0-CWM4.zip
    CF-Root-SGS2_XX_OXA_KG1-v4.1-CWM4.zip
    CF-Root-SGS2_XW_MOT_KG1-v4.1-CWM4.zip
    CF-Root-SGS2_ZS_OZS_KG2-v4.1-CWM4.zip
    CF-Root-SGS2_JP_XSG_KG2-v4.1-CWM4.zip
    CF-Root-SGS2_XX_OXA_KG2-v4.1-CWM4.zip