Thread Author (OP)
Join Date: Jun 2011
Location: Wherever my 18 wheels take me
Device(s): Samsung Continuum Rooted 2.2.2 EC07 Deodexed
Carrier: Not Provided
Thanked 53 Times in 41 Posts
[GUIDE] Terms and definitions
Dealing with another member, over the past few weeks, he mentioned that some of these terms are a little confusing. And there is no real place, that he's found, that really explains all of them. So, I thought I'd give it a whirl.
This run down will be from the bootloader up. If anyone more savvy than I sees any corrections that need to be made, feel free to post them, or shoot me a PM.
So, here we go.
Bootloader: In general, it is just what it says. It's a very small bit of software that initially starts when you press the power button on your phone. Generally speaking, you have at least 2 bootloaders. The primary one, which is what initially starts. Then a secondary one, that is a little more complex, and boots your kernel. be it recovery kernel, or rom kernel. The purpose of a series of bootloaders is to keep your phone from having to load your operating system from scratch. An action that would be very resource intensive, much more prone to single bit errors, and take much longer.
Kernel: The kernel is the foundation of your phone's software side. Just above the bootloader. It controls the interactions between your software, and hardware. Essentially, when you press the screen, the hardware side said 'user pressed this', passes the info through the kernel to the software, which activates whatever app or option you called, and then passes the info to draw said graphical info on the screen back to the hardware, going back through the kernel. There are generally 2 types of kernels on your phone. Your ROM kernel, and Recovery kernel. Each works with whichever they are made for.
Recovery: This is, for lack of a better term, akin to safe mode on your windows computer. It's a barebones interface, generally text based, that allows you to affect things having to do with your ROM. When you are making adjustments to the ROM itself, you can't do it while the ROM is running. (Hence the reason you install things in recovery. Or, if you get an OTA update, or update your PRL, it reboots your phone. It can't actually change anything while the ROM is running.). The recovery console, actually allows you to make these changes, then boot into your ROM so that the changes can take effect.
ROM. This is your operating system. When you boot your phone up, this is what you see on a regular basis. The backbone of your ROM can be broken down into 3 or 4 parts, depending on what version of Android you are on. All versions have a framework, whatever manufacturer specific framework is on the phone (in samsung's case, it TWFramework), and services.jar. If you were on Gingerbread (2.3.x) and later, you have 'systemui.apk' as well.
Cache: Your cache is a part of your internal flash card that your ROM deposits prefab information to let applications load faster. Every once in a while, it's good to clear this out. Essentially, it's house cleaning.
Dalvik Cache: Where your regular cache is information actually written to a physical location on your flash drive to work with the actual apps themselves, you Dalvik cache deals with the cache that works with Dalvik Virtual Machine (which is the way in which your rom loads or 'calls' various applications and application related services). Anytime you flash anything to do with your framework or services you need to wipe this to avoid force close issues.
Those cover most of the terms you will run into, when it comes to the operating system.
The following are some of the terms you will run into when flashing
Flash: To install something, either via a computer program (In samsung's case, it's ODIN or Heimdall. Motorolla uses RSD lite, or SBF flash, I'm not sure what the name of HTC's program is) The other option for flashing is via a custom recovery. Clockwork Mod is one of the most popular. But, there are several out there.
Tar or Tar.md5: The extension used for flashing in ODIN. You can break this file down in a zip archive extractor (such as winrar or 7zip) to flash the individual files in Heimdall.
MD5 checksum: This is a method used (characterized by a md5 extension) that is generated when your phone creates a flashable file to ensure that it isn't corrupted, the next time it is flashed. If you create a file for ODIN (or any other computer based flashing program) by pulling the files with adb or an emulator, a MD5checksum will be generated. A Nandroid backup also generates one. If a file is changed after it is pulled, it will invalidate the checksum, and the file will become unflashable.
PIT: This stands for Partition Information Table. This file is used by your phone when it is interacting with computer based flashing programs (Odin, heimdall, and the like). It essentially tells the phone in which partition to place each block of data. If you use this, and check 'repartition', it wipes and formats each partition before it attempts to place data into that partition. Hence the reason why you will be in a world of hurt if you click repartition when flashing a file that doesn't have bootloaders, for example. Your phone wipes and formats your boot partition, but it doesn't put anything in there. Therefor, it has no program to boot the phone with. Also, PIT files are meant to be use with specific roms. It is generally generated when the file is initially created.
ADB: Android Debugging Bridge. This is a program that is a part of the Android SDK (Standard Development Kit). And is used to pull files, push files, initiate scripts, debug and trouble shoot things on your phone by sending it direct level commands. It's handy to have, and essential if you want to use modification tools such as apk manager. You can learn more about ADB if and when you start monkeying with things on your phone to change them around.
Emulator: Very similar to ADB, but it is done on your phone. For much the same purpose.
That is all for now. If anyone runs across any other terms they'd like explained. Or has additional terms that they know the explanation of, and wish to add them, feel free. And once again, if anyone finds any of this information inaccurate, or incomplete, feel free to speak up.