[Vibrant Android Development] BruceElliott:
PB,

(1) Download and install paid versions of (a) ROM Manager, (b) Titanium Pro, and (c) Root Explorer or Astro (I have both but find myself using Root Explorer most of the time). These are critical tools to (a) access an important recovery environment and do an image backup of the entire system; (b) back up individual applications and data including settings (system and downloaded apps and data); and (c) browse and cut/paste to all areas of the flash system; (a, b, and c, respectively).

(2a) Download and learn to use Odin. This is an application that runs on your desktop and provides direct access to protected areas of your flash memory. It is used to flash firmware to the phone and is particularly important if you need to recover from experimentation. On the phone side, you must activate a "flashable recovery environment" to use Odin. You will know that recovery is activated if a big yellow triangle with an android digging with a shovel appears.

(2b) An alternative to flashing with Odin is to flash from an environment created from ROM Manager called "Clockwork Mod Recovery" ("CWM"). However, the ROM image files to use with CWM are different than those used with Odin. Odin ROM (PDA) files are .tar files, while a CWM-flashable file has a .zip extension. Such zip file contains the same image files as do Odin .tar files but also includes a script to tell the CWM environment where to put the files. Odin, on the other hand, is pre-programmed to know where to put the files.

(3) Note that a complete firmware flash of the OS includes three categories of files. The big one, formally called the "PDA," includes the user interface (UI), app and data management, etc. The second portion is a single binary file named "modem.bin" and controls the radios. The third is a single file named "zImage" and is the hardware kernel containing the drivers, a reduced version of Linux, etc. The actual nomenclature used in practice is a bit confusing. People use the term "ROM" ambiguously to mean either the PDA or all three of the elements discussed above in this paragraph. Generally speaking, the modem and kernel may be flashed separately or together with the PDA. So, it is important to know whether the "ROM" includes or excludes the modem and kernel, especially when using Odin, because these files may be entered on separate fields on the Odin interface.

(4) Create a “nandroid” backup (a binary image of the entire system) using ROM Manager. Copy these files to your computer, because they will not do you much good if the phone including the backup files gets wiped. The nandroid can be used to restore after a “mistake.” Of course, you can always “Odin” back to stock JFD as explained below. The difference, however, is that the nandroid includes all of your settings, phone directory, emails, etc. that are very painful to have to re-enter into your phone. In practice, it is usually best after a disaster to Odin back to JFD and then restore with your nandroid. (Note that I have never experienced such disaster, probably because I am an EE, am careful, and do not flash very often. Even so, I always do backups before flashing anything.)

(5) Ok, so the nandroid will restore everything. But what if you need to restore only one or a few things? (Settings, a list, one or more apps with their data, etc.) That is what Titanium is for. It backs up apps and data as individual files for selective restoral. As with the nandroid, Titanium backups should be copied to your computer to assure their availability in case of a complete wipe of the phone. In practice, I use the following method: (a) create nandroid using ROM Manager; (b) do a complete backup of all apps and data using Titanium; and (c) copy the entire internal sdcard to a backup space on your computer. Step (c) will ensure that all backup files are transferred to your computer.

(6) This raises the confusing question of Vibrant’s storage structures. One normally thinks of an “sdcard” as an external card that can be plugged into a device to increase storage capacity. Vibrant has a 16 GB internal memory chip. 2 GB of that chip is partitioned off as protected system memory. The remainder is available to the user and can be seen on your computer browser. The terminology problem is that Vibrant refers to that remainder of the 16 GB internal flash chip as “sdcard” because the chip is of the same type as used in external “sd cards.” Thus the need to clarify as to “internal” sdcard or “external” sd card. When you use Root Explorer to see your file structure from a Linux point of view, from the root location, you see /sdcard/sd, where sdcard is the internal user-available flash memory and sd is the external sd card (the latter stock card being 2 GB and containing the movie “Avatar”). Very confusing, but that is the way it is. All other files under root (seen with Root Explorer) are protected system files residing in the 2 GB space partitioned off from the 16 GB internal flash memory and visible only when a phone is “rooted,” ("rooted" meaning that a R/W protect flag has been removed from that portion of the file system so that you can access this area with Linux tools such as Root Explorer or a Windows-based tool, "adb").

(7) Download stock JFD ROM (combination PDA, kernel, and modem). This is the version of firmware that is on the phone when you purchase it. You may need this to get back to stock if you mess up your phone. A sure way to clean up any mess is to Odin back to JFD.

(8) As of this date (1/15/2011), download JL5 and flash over JFD. Then flash the latest (KA5) modem over JL5. Next, download the Voodoo version of the KA5 kernel from here: http://xdaforums.com/showthread.php?t=870480 and flash over JL5. At that point you will be at the latest and greatest stable (read: stock) system that I have tested and use daily. (Note that I am not a ROM junkie. I really do not have time for this hobby and am only doing it to make my phone more usable.)

(9) I consider the "Voodoo" kernel enhancement to be the most valuable modification to the Vibrant available on XDA. It speeds up file access by perhaps as much as 50%.

(10) As you can see, this post is a general “how to get started” overview of Android ROM management on the Vibrant. It may be useful to a newbie to avoid “can’t see the forest for the trees” syndrome. However, it merely complements and does not replace seeing the trees themselves. Each of these steps is explained in gory detail many times on multiple posts on XDA. I strongly suggest that anyone who wishes to get started safely read and understand detailed instructions for each of these steps before flashing anything. There is a very protected memory area containing three hierarchies of boot loading code, including the code required to execute the recovery environment to restore a system using Odin. Although hard to do, if you wipe this out it will probably cost more than the phone is worth to find a technician with a specialized piece of equipment required to access these memory locations to restore the primary boot loader.

(11) How is it possible that mature adults could be wasting time like this? :eek: