Any one familiar with the subject feel free to join in. Im will start by talking about the basics of adb and adb commands. If you need to dive into adb right now to root there is a video for how to set it up and how to root using adb (thanks nat3mil) here: http://www.droidforums.net/forum/thunderbolt-hacks/141791-rooting-tbolt-through-adb-step-step-video.html So I will get started. Android Debug Bridge (adb) is a versatile tool lets you manage the state of an emulator instance or Android-powered device. It is a client-server program that includes three components: A client, which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients. A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device. A daemon, which runs as a background process on each emulator or device instance. In response, adb prints this status information for each instance: Serial number — A string created by adb to uniquely identify an emulator/device instance by its console port number. The format of the serial number is <type>-<consolePort>. Here's an example serial number: emulator-5554 State — The connection state of the instance. Three states are supported: offline — the instance is not connected to adb or is not responding. device — the instance is now connected to the adb server. Note that this state does not imply that the Android system is fully booted and operational, since the instance connects to adb while the system is still booting. However, after boot-up, this is the normal operational state of an emulator/device instance.