As it seems a number of kernels are being based on CF-Root, and CF-Root is being included in custom ROMs, I'm going to set up a number of rules. The rules are meant to be fair to both you and me, and futher cooperation, not limit it. If you are an end-user, do not distribute kernels based on CF-Root, and do not distribute ROMs using it, you can skip this post, it is not for you. If you make kernels based on CF-Root, or your ROMs include CF-Root, read this post and follow the rules.
I don't mind you using the CF-Root hacked kernels, in fact I think it's great All parts of CF-Root are free to use/include in your own stuff, if these rules are followed.
If something doesn't work for you, feel free to PM/ask for a change. None of these rules are set in stone, maybe you have a good reason to want something different.
Usage of "CWM Manager", "Tweak Manager", and "ext4 tools" apps
- You may not modify these APKs in any way, if you include or redistribute them. The only exception to this rule is modifying the icons to match your ROM's theme.
- You may not re-post these files anywhere else (separately from CF-Root), but you may of course link to the post (not the download directly!) in the CF-Root thread containing these files. In other words, either you include them or you don't, but you can't offer them as a separate download.
- You must use the appropriate versions, released at the same time as the kernel, or any newer version released by me. For example, if you are using CF-Root v3.0, if you use/include these apps, you must use CWM Manager 1.50+, Tweak Manager 1.20+ and ext4 Manager 1.20+.
- You must test that their functionality remains 100% intact regardless of your (kernel/ROM) modifications. If the functionality is not as expected with your (kernel/ROM) modifications but you still include the apps, you must clearly state what you know is broken.
If you are just using CF-Root in your custom ROM, but do not modify the CF-Root kernel in any way (except icons)
- You must include a notice that the ROM uses CF-Root, and the version of CF-Root used.
- You should (not required but strongly encouraged) also include a link to this thread ( http://forum.xda-developers.com/showthread.php?t=788108 )
- You should (not required) include a link to donate to me, Chainfire ( http://www.jongma.org/dx.php )
- You should (not required) inform me that you are using it either by posting in the CF-Root thread or sending me a PM. (Thanks!)
- As you are not modifying CF-Root in any way (except icons), you can skip the rest of this post
Modifications to CF-Root (aside from the icons)
- Due to a lot of bickering and argueing, I'm simply no longer allowing this at all
- You can still kang a script or two left and right, I don't mind, as long as you are not basing an entire kernel on mine, or re-branding it, etc. Use common sense, you know exactly what I mean.
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 (unprotected recovery and CWM compatibility) OR (CWM3)
If you are looking for highly optimized kernels or kernels that perform specific functions, look elsewhere. All CF-Root's are based on original Samsung kernels, they are NOT recompiled, and thus ensure maximum compatibility.
THIS IS NOT A ROM - it is only a kernel. You need to have a firmware already on your device. You do NOT need to wipe anything for this patch. You DO need to read the instructions.
MAKE SURE YOUR PHONE CAN ENTER DOWNLOAD MODE USING THE KEYCOMBINATION WHILE BOOTING BEFORE FLASHING CF-ROOT (or anything, really)
There have now been over 200.000 downloads of CF-Root for various devices, 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!)
- The kernel is fully stock and taken from the original firmware, with just the following added:
- Superuser 18.104.22.168 FROYO ( CF-Root < 2.4 versions )
---- Busybox 1.15.3 or 1.17.1 (if not mentioned in the filename it is 1.15.3)
---- "2e" recovery (can flash unsigned update.zip's)
---- Integrated fix for ClockworkMod's nandroid (22.214.171.124+) GINGERBREAD ( CF-Root >= 2.4 versions, JVK and newer )
---- Busybox v1.16.2androidminimal (from CWM)
---- Integrated CWM 126.96.36.199 / RFS
CF-Root v4.3 (JVT and newer)
--- Superuser updated to v3
--- Kernel is now in "insecure" mode (rooted ADB shell)
CF-Root v4.4 (JW4 and newer)
--- ro.secure=1, patched adbd to act as if ro.secure=0
- Flash CF-Root-xxx-vX.X.tar (from the attached zip) as PDA in ODIN, without repartition. Done.
- 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 (alternative if you are already running CF-Root 2.5 or newer)
- 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.
Replacing CF-Root with other kernels (speedmod, voodoo, etc) 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 2e recovery will be lost (unless the other kernel also includes it), but there should not be issues.
CF-Root is made to be applied on a stock kernel. Going from a lagfixed kernel to CF-Root usually does not work. Unlagfix first.
Voodoo If you are running the latest Voodoo, you probably do not need CF-Root at all. Voodoo has the basic root features in place, but not the applications. Voodoo does not come with 2e recovery, but it does come with CWM, so there is no need for 2e on Voodoo. To get Superuser and Busybox on Voodoo, simply open Market and search, download, and install them ! Voila !
ClockworkMod on FROYO ( CF-Root versions < 2.4 )
CF-Root is ClockworkMod compatible, it does not include CWM itself. It uses 2e recovery, which means it can flash unsigned update.zip's, like CWM.
To use CWM, either place the update.zip in the correct location ( /sdcard ), or install it through the ROM Manager application.
When you boot into recovery, you will get the 2e recovery, even if CWM is installed. It does not boot directly into CWM (though it may do so when you boot into recovery from the ROM Manager application). Select "flash update.zip" in recovery to start CWM.
Important note: The very first time you do this on a ROM, it will usually not work. The phone will reboot normally after you flashed the update.zip. You need to reboot into recovery a second time and flash update.zip again. Then you will be launched into CWM. After this, it will work the first time you select it.
ClockworkMod on GINGERBREAD ( CF-Root versions >= 2.4, excluding JV1 on which CWM is broken )
CF-Root includes a special version of CWM3, modified to work with RFS. CWM3 by default does not support RFS, koush' versions are all based on ext4. The RFS compatibility is done with heavy scripting, the same method used on CF-Root for Galaxy Tab. For SGS CWM3 is also recompiled from source with some slight modifications to handle key input correctly.
CF-Root/CWM3 is NOT compatible with ROM Manager! Manage/perform your backup/restores from CWM directly.
- Booting into recovery will immediately give you CWM. The standard recovery is completely gone.
- A "CWM" icon is added to your applications, which will reboot your device into recovery mode (CWM).
- 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.
- Version jumped from 1.3 to 2.4 to keep the cross-device CF-Root versioning in-sync (CF-Root is also available for Galaxy Tab).
- If you wonder where your bootup/shutdown sounds have gone, CF-Root probably removed them to make sure it has enough space available.
- ( CF-Root versions < 2.6 ) Make sure to boot up your device fully at least once before flashing CF-Root. This is because the device may have some code it needs to run at first boot. CWM disables this code.
CWM Manager on GINGERBREAD ( CF-Root versions >= 2.5 )
Because of incompatibility with ROM Manager, I wrote and included "CWM Manager". This is a new app (as of March 30, 2011) and beta. You can find it under Applications -> CWM. It is much faster to use than manually booting into CWM and selecting these options.
- Boot to CWM
- Backup firmware
- Restore backups
- Delete backups
- Install APKs ( CF-Root versions >= 2.8 )
- Flash CWM3 update.zip's
- Flash kernels (zImage, zImage in TAR, zImage in ZIP, zImage in TAR in ZIP)
Note: If you flash a different kernel, CWM Manager may remain installed. However, functions may not work, because they need kernel compatibility ! At this version of CWM Manager this does not produce errors, it just doesn't do what you expect it to
Tweak Manager on GINGERBREAD ( CF-Root versions >= 2.8 )
CF-Root includes a number of tweaks that are applied on startup. From CF-Root versions 2.8 and up a "Tweaks" application is included you can use to select which tweaks to apply.
Ext4 Manager on GINGERBREAD ( CF-Root versions >= 2.8 )
CF-Root supports ext4 mounts for the main mount points. Converting between rfs and ext4 however requires a secondary external package (which you can find in the download area a great many posts below this one), because it is all too large to fit inside the kernel. Download the APK from below, put it on your sd card, start CWM Manager, select "Install APK", find the APK and tap to install. Now you can use the "ext4" app to convert between filesystems, manually check the filesystem, etc.
Obviously you should revert back to rfs before flashing a new stock ROM. A lot of custom ROMs support ext4 as well, but it is still advised to revert to rfs before installing them.
Please note that when first using the tool to convert, you will probably notice /system is not converted. If this happens, it is because /system does not have enough free space for the extra space overhead of ext4. You will need to free up some space on /system before the conversion will succeed.
- Show current filesystem status
- Convert between rfs <=> ext4 and back
- Manual fsck
- Selects either internal or external sdcard for temporary storage, depending on which has the most space
- Automatically reverts on conversion failure
- If it tells you to PANIC !, please do so
Custom boot / init scripts on GINGERBREAD ( CF-Root versions >= 2.8 )
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.
Custom boot animations and binaries on GINGERBREAD ( CF-Root versions >= 2.9, broken in 2.8 ! )
CF-Root also supports custom boot animations:
Installing busybox over the included version on GINGERBREAD ( CF-Root versions >= 3.0 )
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.
- (FROYO) ADB in recovery is flaky. Sometimes it works, sometimes it doesn't. If you go into ClockworkMod it usually works, though.
- (FROYO) An older version of BusyBox is used (in some versions) because the newer versions drive me absolutely crazy with throwing color codes into the shell while it isn't supported.
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! I don't know which file to pick! The filenames confuse me!
First thing: don't panic! It's all rather easy, and you won't easily do something bad! I am personally attentive to use the exact same version as the ROM I am running, but it's not that important.
First, go to Settings -> About phone -> Build number. It should say something like FROYO.xxJPy. It's primarily the JPy that we are interested in. Try to match that with a download link available in this (and the next few) posts. Some of the downloads dont just have JPy file name format, but are called xx_xxx_JPy.
Let me explain that. Samsung isn't always very precise in naming/marking their different (leaked) firmwares. CF-Root's are modified kernels, the filenames explain in more detail which exact firmware ROM the base kernel was taken from, for those experts who understand.
If you are not one of those people, go back to the JPy thing. The "y" in JPy is 0-9, A-Z. If they run out of numbers, they use letters. So A would be 10 (9 + 1), while Z would be 35 (9 + 26). Find the one that is closest to yours, if yours is not present, and flash that one.
The truth is, these kernels, they don't differ all that much. It's quite likely that the very latest version (at time of writing: JPY) will work perfectly fine on your ROM. There are some small differences, but using a different version is unlikely to cause serious issues. The closer the versions are, the less likely there are to be issues, BUT it is still quite possible that the latest version will work better for you than the matching version (or not!).
If you are just installing CF-Root to flash a custom ROM like Darky, make sure you have ROM Manager already installed, ClockworkMod flashed, then simply install the latest CF-Root, reboot once normally, then reboot in recovery and run the Darky update.zip. In this case it does NOT need to be a near match at all!
LOOK WELL AT THE FILENAMES, MAKE SURE YOU ARE GETTING THE RIGHT VERSION !
ROOTING JVK: See this post instead. It contains a CF-Root version specifically for JVK, you do not need to flash back the original kernel again. I also strongly advise you to read the first post of this thread.
ROOTING JV1: The JV1 version is not compatible with ANY version of ClockWorkMod (CWM).
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?