Device(s): Xperia Z1, Nexus 4, Nexus 7 3G, HTC One X
Thanked 13,929 Times in 7,546 Posts
ClockworkMod (or any recovery image) is the piece of software used to install a custom ROM on your phone, flash themes, kernels or other scripts etc. You can install ClockworkMod via ROM Manager or push it manually via ADB Commands. If you're new, I'd recommend using ROM Manager as it's a 1 click, job done type deal. The recovery image is loaded either via ROM Manager or by powering on your handset whilst holding Volume down and selecting Recovery in the bootloader. For a guide on how to use clockwork, click here.
Alternative recoveries include Amon Ra and 4EXT Recovery, but for simplicities sake, Clockwork is probably you're easiest choice.
Please note that you cannot flash clockwork on Samsung Phones using ADB, or ROM Manager (you'll hard brick the device). If there is a version of clockwork (specific to that particular Samsung device) it must be flashed using Odin.
Once you've rooted, if you want to install a custom ROM. Generally before installing a custom ROM you'll need to wipe the handset before hand. As a consequence you'll lose all apps and associated data, however using Titanium Backup, you can backup your apps and data after you've flashed your ROM. Click Show below for a guide on how to backup your apps with TB:
The first time it runs it takes a little while to open as it needs to scan the apps you've installed and check for root/busybox access. If you get a super user prompt up, click allow. Once it's done what it needs to do, you'll be presented with a screen like the one below:
From there, hit the Backup & Restore button at the top of the screen. This will take you to a list of all the apps installed on your handset. On that screen, hit the menu button on your phone, then filters.
In the next screen, under the section entitled, Filter By Type, you want to put a tick in the box which says User, then press the Apply button at the top right hand side of the page.
You'll then be taken to back to the list of apps you've installed on your phone.
From there, hit menu, then batch and you'll be taken to a screen which looks like this:
You want to hit RUN next to backup all users apps, the next screen you see will look like this:
Press select all, then run the batch operation. It will then backup alll your apps and the data associated with them.
The kernel is the OS at its most basic format and acts as the bridge between Android and the phones hardware. It looks after things like voltages, power consumption, WiFi Strength (to a certain degree), CPU speed and the scheduler (see above). It's also one of the first things the bootloader kicks in to life after your handset is switched on. A decent kernel can make a massive difference to performance and battery life. There's a very good overview of what a kernel is/what it does here.
Allows you increase the speed of the phones CPU to increase performance. Generally, Custom ROMs have performance improvements over stock software so overclocking is not essential and I wouldn't recommend it unless you know what you're doing. However, if you decide to go down that route, you can use SetCPU or No Frills CPU to do so. In Cyanogen ROMs, there is an overclock option in the Performance menu so you don't need any 3rd Party tools.. If you do decide you want to overclock, be very careful and don't fire in massive increases straight away as you could really damage your handset. It's also best not to uncheck "Set on Boot" whilst you're still testing what your phone can do safely. Conversely, you can also underclock to increase battery life.
The Governor controls how the kernel sets the CPU speed, dependant on usage. There's a detailed list of how the different Governors work below:
interactive - Instead of sampling the cpu at a specified rate, the governor will scale the cpu frequency up when coming out of idle. When the cpu comes out of idle, a timer is configured to fire within 1-2 ticks. If the cpu is 100% busy from exiting idle to when the timer fires then we assume the cpu is underpowered and ramp to MAX speed. smartass - Is an improved version of interactive governor ondemand – Available in most kernels, and the default governor in most kernels. When the CPU load reaches a certain point (see “up threshold” in Advanced Settings), ondemand will rapidly scale the CPU up to meet demand, then gradually scale the CPU down when it isn't needed. conservative – Available in some kernels. It is similar to the ondemand governor, but will scale the CPU up more gradually to better fit demand. Conservative provides a less responsive experience than ondemand, but can save battery. performance – Available in most kernels. It will keep the CPU running at the “max” set value at all times. This is a bit more efficient than simply setting “max” and “min” to the same value and using ondemand because the system will not waste resources scanning for CPU load. powersave – Available in some kernels. It will keep the CPU running at the “min” set value at all times. userspace – A method for controlling the CPU speed that isn't currently used by SetCPU. For best results, do not use the userspace governor. brazilianwax - Very agresive version of smartass interactiveX - Tweaked Interactive governor by Imoseyon by adding more features like suspend/wake profile ondemandX - Tweaked and ported from 2.6.38 base Ondemand governor by Imoseyon by adding more features like suspend/wake profile Scary - It's based on Conservative which has a slower ramping than Ondemand but then again it has Smartass elements which is a governor with one the fastest rampings SavagedZen - Another Smartass-based kernel with many modifications aiming to attain both better battery and performance. Batterysave - When the cpu load increases past the threshhold it scales up to the next speed and takes another load sample and keeps doing that(best on battery life/performance ratio)
There's also an excellent post here on pretty much everything you want to know on kernels and governors.
It's worth noting, that not all kernels support all governors, this is taken from LordMod's thread here, another thread by knzo on XDA and a little info from Tresezk.
The scheduler controls what percentage CPU is given to each running task. There are 2 Android/Linux schedulers, CFS (Completely Fair Scheduler) & BFS (Brain **** Scheduler). CFS ensures that all running tasks/apps will be given an equalish amount of the CPUs processing power, perfect for multi-tasking. BFS means the app running in the foreground receives the lions share of CPU. BFS is ideal for people who use their phone for gaming.
Personally, I tend to go for CFS as I find BFS slightly worse on battery life, but each to their own. CFS should be fine for most people, but you're free to experiment yourself.
Here's also a little info on NOOP and Deadline Elevators from Tresezk:
The Deadline elevator uses a deadline algorithm to minimize I/O latency for a given I/O request. The scheduler provides near real-time behavior and uses a round robin policy to attempt to be fair among multiple I/O requests and to avoid process starvation. Using five I/O queues, this scheduler will aggressively re-order requests to improve I/O performance.
The NOOP scheduler is a simple FIFO queue and uses the minimal amount of CPU/instructions per I/O to accomplish the basic merging and sorting functionality to complete the I/O. It assumes performance of the I/O has been or will be optimized at the block device (memory-disk) or with an intelligent HBA or externally attached controller.
The Radio controls all external communication, WiFi, Phone Calls, 3G, GPS, Bluetooth etc. Your current radio is listed under the baseband version in the About Phone section in settings. Most ROMs devs will recommend a Radio to work with their ROM. Failure to match a radio can result in poor battery life, weak signal, no WiFi etc. However, it's dependant on each phone/ROM. I've had mismatched Radios before and I've never noticed that much of a problem.
Flashing a radio is a pretty risky operation so make sure you have at least 60% battery whilst doing so (although the phone is plugged in whilst you're flashing, it doesn't charge). It's also important you ensure the download isn't corrupt, you can do this with MD5 Checker. Instructions are included with the download. Match the MD5 checksum of the radio.img (Wherever you download the radio from should provide this), not the zip file. (Might only be relevant to the Desire HD???)
Please read the instructions and follow them precisely before you go ahead and flash a radio. A bad radio flash can permanently and unrecoverably brick your handset. I've done it a couple of times (flashed a radio, not bricked my phone ) and I know I can type the instructions off by heart, but I still make sure I have them in front of me, just to be on the safe side. It's very easy to do, but just be careful when you do it!!!!
If you're not comfortable with flashing a radio and you're mismatched, you can flash something called a Radio Interface Layer or RIL. The RIL controls how the radio and the handset talk to each other and normally comes in zip format and flashable in clockwork. See the post I linked to for more info. RILs are only really relevant for Sense based ROMs, there's no need for CM7 or MIUI.
These are just a Linux file systems, similar to the FAT32/NTFS in Windows. EXT4 is supposedly faster and can handle larger file sizes. A lot of ROMs still use EXT3, but the ROMs that support EXT4 will offer an additional download which will wipe and format the phone's file systems to EXT4. This is flashed in clockwork. Having used an EXT4 ROM with the EXT3 file system and vice versa, I've never encountered an issue.
By default, the wipes in Clockwork format to EXT3.