Introduction

With the confluence of increasingly powerful hand-held devices and a relatively open software platform such as Android, more and more people are becoming curious about the possibilities of tinkering with these devices. With this curiosity comes inquiry, and this inquiry leads to exploration. However, while the resources to accomplish many exciting tasks are readily available, it is more than a trivial task to find answers for the questions those tasks elicit. Often finding the right question to ask is the real challenge.

This Wiki is intended to provide clarity to those who are just starting with Android, specifically the Samsung Vibrant. The resources gathered here, however, should also be valuable to seasoned users.

This is the Samsung Galaxy S Vibrant (SGH-T959) for T-Mobile. Not to be confused with the international variant (GT-I9000), Samsung Galaxy S 4G (SGH-T959V), Bell Vibrant (GT-I9000M), or any other variant for other carriers.

Getting started

So you want to tinker with the Vibrant...

Initially approaching the topic of customization for the Vibrant (or any Android powered phone, for that matter) is daunting for the simple fact that it can be difficult to determine where to start. Most users that have explored this topic have learned that "rooting" is the first step.

Rooting

What is rooting?

Simply put, "rooting" is what enables you, the user, to make changes to the Android system that would normally be locked safely away.

Linux, the operating system on which Android is based, has a strict access structure that restricts all users from making significant changes to operating system. The only avenue by which system changes can be made is be entering a privileged mode called "root", or "super-user".

In Android environments, this privileged mode is inaccessible by default. The only way to make system changes is to use a special program called "Superuser" to mediate those actions. The process of "rooting" involves exploiting a security flaw in the OS to load the "Superuser" program onto the phone. As a result, the specific "rooting" process is typically different from phone to phone. The good news: super-smart, super-persistent Android hackers have found a way to root nearly every Android phone out there today.

Rooting Methods

Rooting a device has been easier than the past. Download the following ZIP and flash it in Clockwork Recovery.

SuperSU gives you extra stability, functionality, or a replacement for Superuser. Must have ROOTED device to install. DO NOT UNINSTALL SUPERUSER AFTER! IT IS NECESSARY OR SUPERSU WILL NOT WORK PROPERLY.

How To Flash a ROM

This is a generic guide that should work with all Vibrant ROMs that have been packaged into a flashable zip for use with Clockwork Recovery. Please read all information in the initial post of each ROM release thread in case there are additional instructions from the dev specific to that ROM.

Step 4: Find a ROM of your choosing that says it can be flashed via Clockwork Recovery. This file will be a .zip file. If it is a .pit or .tar file, you will need to flash via Odin (which is explained in another section of this Wiki).

Step 5: Download the ROM of your choice, making sure that it is put onto the internal SD card NOT the external. Also, DO NOT rename the file.

Step 6: Reboot into ClockworkMod Recovery. There are several ways to do this: click Reboot into Recovery in ROM Manager or power off your phone and use the 3 button combo (power and volume up & down). If you initially go into stock recovery (a screen with blue lettering, an exclamation point and only 4 options) don't panic. Simply select "reinstall packages" using the volume rocker and then the power button once your selection is highlighted. Sometimes you will have to select "reinstall packages" twice.

Step 7: When you see green letters, you are in Clockwork Recovery. Select "install zip from sd card" and then "choose zip from sd card." Find the ROM .zip file that you downloaded in Step 5 and put on your internal SD. Select it.

Step 8: Let the install do its thing. Wait until it says the installation is complete.

Step 9: Go back to the main Clockwork Recovery menu and select "reboot system now."

Step 10: Enjoy your new custom ROM.

Check the Guides section of this Wiki for more detailed information, including how to backup your data before flashing a new ROM.

ROMs

Custom Roms

Utilities/Tools

At some point or another, any Vibrant user who delves into modding/hacking/improving their device will find themselves needing a it more than a just their phone, pc and interface cable. Below are a few utilities to assist with access to parts of the Vibrant unaccessible otherwise.

ADB

ADB (Android Debug Bridge) is a small command-line utility for PC's (Windows and Linux) included as part of the Android Software Development Kit (Android SDK). It's not particularly complicated, but it does provide an external path to allow manipulation of the Android hardware, making it indispensable. From the command line, it's possible to reboot and enter recovery mode, push files onto the phone's memory, and allow or shell access to the phone.
For those people who have hardware locked phones that wont allow entry to recovery mode using the phone's hardware buttons, ADB is often the easiest means of getting into recovery.

In order to use ADB, the correct USB drivers must be installed. See the drivers section for links.

ADB Guidance:

There are many resources explaining the many uses of ADB. Google's website on ADB is quite informative, but may be overkill for some folks looking to do very simple tasks. An XDA user, Nephron has put together a how-to page with details on setting everything up.

Basic ADB Commands: Run from the Windows/Linux/Mac command line.

adb devices Used initially upon connecting the phone to computer. This will start the ADB server if it is not started and return a unique identifier for th attached phone. This will provide confirmation that the phone is connected and ready to receive commands from ADB.

adb reboot recovery This will send a command to the attached device to reboot into recovery mode.

adb shell Access of the Android shell of the connected phone is one using this command.

adb kill-server Used to stop the ADB server (if having trouble getting ADB to recognize the device)