# Beginner's Guide to a Droid X



## Sysadmin-x

Welcome to the Droid X guide! I hope to expand up on this as much as possible, so be sure to check back for updates!

*The Benefits of rooting
*
So why root your android phone? Well, there are several benefits... First, you can backup up your phones current state whenever you would like (makes is easy to jump back and forth if you mess things up!). In addition, you can also install different themes (different color interfaces for the basic framework and applications). You can also install custom ROMs (this is an Android OS that has been built from either Motorola's source, or the Google SDK and released through their generosity for the rest of us to enjoy!

Rooting: Many people are unsure of rooting their phones but have heard of other people doing it. Here is my stance on rooting your phone: 
If you are technically savvy, or can follow instructions well and have confidence in your ability to do so, I would definitely recommend it! If you are unsure of your abilities to do so, and simply use your Droid X because it is a great phone right out of the box, then I would recommend reading through this guide and some other threads on the Droid X forums so you can familiarize yourself with the potential possibilities and process' involved with rooting and customizing your phone. I do not say any of this to deter anyone from wanting to root their phone, it just can be a dangerous situation for those who are not familiar with how it could potentially damage their phone. 
I have seen many ask about the dangers of rooting. First off, yes it will void your warranty, but you CAN unroot your phone. I will include this information later =)
#1 rule of modding your phone: ALWAYS TAKE A BACKUP BEFORE MAKING ANY MODIFICATIONS!
with that said... let's continue =)

Rooting: Just because you have a rooted phone, does not explicitly open up new features on your phone.... What it does do, is open up the possibility for features on your phone =) Keep reading...

Themes: In order to theme your phone, you first have to deodex it. If you attempt to theme the phone without deodexing it, you can run into issues... Themes allow you to change the look of the phone framework and applications (e.g. different colors or images). Make sure to follow rule #1, and then follow any specific instructions that the creator of the theme may have included with their post.

Droid X Bootstrap: This is the saving grace for the Droid X created by Koush. Installing this application once rooted allows you to create backups, restore backups and install custom themes, ROM's, and other modifications that have been made into flashable zip format. I will explain how to use this later as well.

Custom ROMs: Custom ROM's are a developers build of the android operating system either using the Motorola ROM as their base, or building directly from Google's SDK. Many of the ROM's for the Droid X are "blur-free" which means that they look like a generic android OS install the way Google intended it. The default "ROM" that comes on your phone has what is known as "blur" by Motorola. It is just graphical enhancements to the way the phone operates that mostly tie into social networking applications and widgets. Many Android enthusiasts believe that Motorola Blur or HTC Sense ruins the Android feel. Whether or not to use a blurred or blur-free ROM is really up to you and how you like your phone to look and feel.
I will cover more about ROM's later in my posts and try to give an overall description of each. As usual, before trying to flash any ROM, be sure to backup your phone.

Overclocking your phone: Overclocking for those who do not already know what this means, is basically the ability to tell your phone's processor to run at a higher speed. This basically just improves performance on your phone, but can be harder on the phone as well. By telling the phone run at a faster processor speed, you can decrease the battery life of your phone. The droid X overclocks in a different manner than with most Android phones, due to the inability to run custom kernels on the Droid X.

For those who are not familiar with the potential of overclocking your phone, I highly recommend not doing it. While rooting can be dangerous, if you mess up overclock settings on your phone, you can do more harm than good.

So I have seen a bunch of people asking questions that seem to pop up repeatedly on the forums... I plan on adding to this as i put this guide together for a few people who really needed more step by step instructions to get going. Feel free to suggest stuff for me to add, and I will throw it in.

Thanks, and enjoy the following:

Ok, here are the steps for setting up the sdk, getting rooted, and all that good stuff... have a feeling I will be making this into a new thread...perhaps....

*SDK:*
First off... you will want to go to the following site to download the sdk:
http://developer.android.com/sdk/index.html
Grab the following download: android-sdk_r08-windows.zip 
I saved it to C:\sdk (i created a folder called SDK right at the root of C: drive). When it finishes, unzip this using 7zip (or any other unzip program you like) to the sdk folder. When it is finished unzipping, you should have a folder called "android-sdk_r10-windows". If you open up that folder, you will find a folder called "android-sdk-windows". Open this folder up and double click on the "SDK Manager.exe". This will open up a window, and bring up additional windows, one of which will ask you to "choose packages to install". You can download any or all of them. I recommend downloading the following: (NOTE: this may have changed as I don't recall the API versions for sdk r10)
•	Android SDK Platform-tools, revision 1 (the top-most download)
•	SDK Platform Android 2.3, API 9, revision 1
•	SDK Platform Android 2.2, API 8, revision 2
•	USB drivers (I don't think this shows up in the latest version of the sdk's first download window. I believe it is found if you go to the available packages section the "Android SDK and AVD Manager and expand the 3rd party section....but if you happen to see it in there...grab it)
This should be sufficient for now. All packages are accepted by default. If you do not wish to download all of them, simply highlight each one (one at a time) and then click the reject button towards the bottom middle of the window. When you have selected the packages you wish to download, click the install button.
After this has installed, you now have the Android SDK installed on your machine. You can close all windows related to the SDK, as we don't actually need to do anything with it, it simply has tools within it that we will need later. (This is where the adb command originates from. There is an adb.exe tool in the "platform-tools" folder of the sdk install, but we will get to this later).
Now you will want to go to your desktop (or anywhere you have a shortcut or icon for My Computer), right click on My Computer, and select properties. Under the "advanced" tab of the window that opens, you should see a button at the bottom that says "environment variables". Click on this, and then find the "Path" variable under System Variables NOT user variables. Click Edit and go to the end of the "Variable Value" field. You will want to make sure there is a semicolon ";" at the end of this before typing any additional info. You will want to add the full path of your android SDK install. For example, if you followed my example for download/saving/extracting/installing above, you would type the following information into the end of the "Variable Value" section:

C:\sdk\android-sdk_r10-windows\android-sdk-windows\platform-tools

If you installed to another location, be sure to type the correct path to the "tools" folder within your installation of the Android SDK. Then click the OK button, and close any windows that were opened from adding to the "path variable".


----------



## Sysadmin-x

*Droid X Drivers*
This section is a little more difficult to explain, as there are so many variables depending on what operating system you are running (windows XP, Windows Vista, Windows 7, etc). and whether or not you are running a 32-bit or 64-bit instance of your chosen Operating system. 
Here is one link for Droid X drivers:
http://www.verizon-phones.org/verizon-motorola-droid-x-usb-drivers-pc-charging-drivers-download.html
I simply googled Droid X drivers, I'm sure this isn't the best link, but just for example I'm throwing it out there. If you google Droid X USB drivers you should be able to find the drivers you need, as well as help and instructions on how to get everything working.
Once you get the usb drivers installed, you will want to connect your Droid X to your computer. If it is recognized, you will get a notification in your drop down bar on your phone. On your phone, press on the USB connection in the drop down menu, and select "charge only". Next, open up a command prompt on your computer. Type the following in and hit enter:
adb devices
You should see something simiilar to the following come up if everything is configured correctly:
C:\>adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
015A882315005010 device

If you see something similar to what I have above... then ADB is working correctly, and we can continue! Now we will move on to getting your device rooted! You will want to grab the z4root.apk that I have attached earlier in this thread and download it onto your computer. We will now test out if adb is indeed working! Save the z4root.1.3.0.apk and put it in the "tools" folder of the sdk we downloaded earlier. Now open up a new command prompt (or use the one we opened earlier if you haven't already closed it!) Change directories to the "tools" folder of the sdk:
If you installed the SDK where I used in my example.... type the following:
cd C:\sdk\android-sdk_r10-windows\android-sdk-windows\platform-tools (press enter)
type the following: adb install z4root.1.3.0.apk (press enter)
You should now see the following:
C:\android-sdk-windows\tools>adb install z4root.1.3.0.apk
1833 KB/s (978414 bytes in 0.521s)
pkg: /data/local/tmp/z4root.1.3.0.apk
Success

*
z4root and ROOTING*
If you get all of this, you have now installed a package using adb and we know the interface works. If you don't want to have to mess with this method of installing, you could also download "Astro File Manager" from the android market. You would then need to save z4root.apk to your sdcard of your Droid X. Then open the Astro program and browse to your SDcard and file the z4root.1.3.0.apk. Press on the .apk file and it should come up with a box that says something similar to "open with app installer" or "app manager"... don't recall exactly what it says, but should be something similar to package management or install of some sort. After pressing on that, you should see an install button. Press on that to install z4root.
Now that z4root is installed, you will want to go to your application list on your phone and press on the z4root to open the application. Press on the permanent root button and wait! This process may take a while, and your phone will reboot, but when it does, you are now rooted.

Make sure when trying to root your phone that you go into Settings-->Applications-->Development make sure "usb bebugging" is enabled.

*Removing BOOTSTRAP COMPLETELY* (You only need to follow these steps if you WANT to remove Droid X bootstrap by Koush, this is not installed on your phone by default).
If you would like to completely remove Droid X bootstrap from your phone, here is what you need to do:
1) connect your phone to ur pc in charge only mode. Make sure it is recognized by adb
A) open command prompt and type "adb devices" (hit enter, your phone should show up)
2) in the command prompt, type "adb shell" (press enter)
3) type "su" (press enter)
4) type "mount -o rw, remount /dev/block/mtdblock4 /system" (press enter)
5) type "cp /system/bin/logwrapper.bin /system/bin/logwrapper"(press enter)
6) type "adb reboot" (press enter)
Your phone will reboot after typing adb reboot, and may take a little bit longer to boot the first time after bootstrap is removed (it may not, I just haven't gone through this process in a while).

Bootstrap should now be completely removed.

Note: all text in quotes is just what you should type...do not include the quotation marks when entering commands.

Disclaimer: I take no responsibility if you mess up your phone. Typing these commands incorrectly CAN mess up your phone. By following these directions, you do so at your own risk.
*
Installing Droid X Bootstrap*
You can grab this .apk file from this thread as well, as I have it posted in one of my previous posts. You will then install this .apk file the same way that you installed z4root. Obviously if you are using the adb command prompt method, you will want to replace z4root.apk with the full name of the droid X bootstrap apk; if you are using a file manager or installer, just follow the same instructions as before as well.
With the bootstrap installed, you are now able to take backups and restore them as well in the event your phone has problems.


----------



## Sysadmin-x

*THEMES AND HOW TO USE:*
NOTE: In order to install a theme, you must deodex your phone. If you attempt to try and install a theme without deodexing your phone, you can run into problems down the road.

*How to Deodex Your phone the EASY way:*
Below is a link that Septhin (from Sephtin.com, all credits go to him for this) posted. This is a SYSTEM ONLY flashable .zip that will give you root, as well as deodex your phone ONLY if you are on the 2.3.340 OTA for verizon. Copy this to your sdcard, and flash in bootstrap recovery! Note: If coming from anything other than an existing 2.3.340 system, then you should wipe data/factory reset for safety's sake!

http://www.mediafire.com/?gvvgnum0uma2huk

If you are on the 2.3.15 OTA looking for Deodexed system:

http://www.mediafire.com/?drixq6ry6ja83oq

*
How to Manually Deodex your Droid X: *
_ Note_: all credit for this portion of the writeup goes to Webst3r on droidxforums and those he has mentioned at the bottom of this section. I did not write up the deodex portion of this guide. I am simply including it as a one stop guide to help as many people as possible.
I AM NOT RESPONSIBLE FOR WHATEVER HAPPENS TO YOUR PHONE!

You must be rooted!

What you'll need: 
A Windows based machine 
xUltimate v2.2
*Patience *

Process:
1.	Unzip xUltimate v2.2, and launch "Main.exe"
2.	If everything goes well xUlt should recognize the phone and make a connection. You now should see a list of options.
3.	Run option 1. After option 1 is done, run option 2.
4.	Now these well take a while. Run option 3.
5.	IMPORTANT: After you have run option 3, you MUST navigate to the xUltimate folder and find "origi_frame" folder, and delete "guava.odex". It's a bad file, and interferes with deodexing process.
6.	Now run option 4, and wait.
7.	Exit xUltimate, and put the phone in USB mass storage.
8.	Go back into the xUltimate folder and copy "done_frame", and "done_app", and move them to the root of the sdcard.
9.	Open a command prompt, and do the following: (note: at the end of each of the following lines, press the enter/return key on your keyboard)

Code:
adb shell
su 
stop
mount -o rw,remount -t ext3 /dev/block/mmcblk1p21 /system
cp /sdcard/done_app/* /system/app/
cp /sdcard/done_frame/* /system/framework/
rm /system/app/*.odex
rm /system/framework/*.odex
mount -o ro,remount -t ext3 /dev/block/mmcblk1p21 /system
reboot

Your phone should now be deodexed!

You may notice an increase in speed, and you now have the ability to edit certain files with greater effects. (i.e. services.jar)

Credits: (note these credits are from the original post made by Webst3r, not me, but I would also like to thank them for their work and contributions!)
Rainabba and Mike919: For initially working with me to get a white clock, and later deodex.
toxman: For testing, and being a huge risk taker. 
teenfaces: For letting me use his services.jar
And especially Xeudoxus: For letting me a guinea pig, for xUltimate, and answering my questions. And also for the making the xUltimate tool. It defiantly makes thing easier.

*SBF: What is it, and what does it do?!?*

An sbf file contains the data files necessary to return an Motorola phone back to its "out of the box state". This means it is as if you just pulled the phone out of the box and turned it on. A successful sbf will return you to stock status without any custom ROM, or theme. Usually when one uses and sbf file, you will also want to wipe data/factory reset before hand, and after using and sbf for best results. 
_
SO WHAT DO I NEED?_
•	RSDlite 4.8 http://www.multiupload.com/HL0ZAL9GK8
•	Motorola Drivers: http://www.motorola.com/consumers/v/index.jsp?vgnextoid=bda09ec8009a0210VgnVCM1000008806b00aRCRD
•	Correct SBF files for your phone:
o	If you are on 2.3.15 OTA (bootloader 30.03): http://www.multiupload.com/HS3Q4U95CG
o	2.3.32 Full SBF: Then go to this site for all the mirror lists. I will post a few direct links below: http://www.mydroidworld.com/forums/droid-x-discussion/5633-droid-x-2-3-32-full-sbf.html
•	http://www.multiupload.com/QX7Q3B53UQNOTE: http://depositfiles.com/en/files/60kvlswk2
o	If you have already flashed 2.3.32, and/or have 30.04 bootloader: 2.3.34 SYSTEM ONLY SBF: 
•	DIRECT LINK TO SBF: http://www.megaupload.com/?d=OXK9Q1ZG
•	some have preferred to flash individual files through Bootstrap recovery from MyDroidWorld. If you would like to use this method and are more comfortable flashing files than SBF, use this site:
o	http://mydroidworld.com/forums/droi...ystem-baseband-2-3-340-kernel-bootloader.html
• 2.3.340 FULL SBF: http://www.mydroidworld.com/forums/droid-x-discussion/6367-new-full-sbf-droid-x-2-3-340-a.html

•	Thanks to Maderschramm, there is any easier way to get back to stock on 2.3.340 OTA WITH ROOT

*MADERSTCOK "SBF"* (note I did not do this write-up, all credit goes to Bouchigo on android forums. Original credit goes to Maderschramm over at DroidXforums and XDA)
NOTICE: Coming from ANY non-blur based ROM and doing Maderstcok is guaranteed to bootloop due to mismatch in framework without a data/cache wipe.

http://www.droidxforums.com/forum/droid-x-hacks/15666-maderstcok-ota-2-3-340-update-zip.html
maderstcok - OTA 2.3.340 update.zip

None are responsible for your phone but you.

After a bit of work I've created an update.zip for you guys that want a fresh install of 2.3.340 without sbfing.

This is the FULL, OTA 2.3.340 - contains radio, kernel, and all other updates, even those EXCLUDED by the 2.3.340 system only sbf.

What that means is that if you have 2.3.15, 2.3.151, or 2.3.320 you're one update.zip away from the OTA 2.3.340

This is useful in many ways: 
•	You want stock .340 but didn't create a nandroid backup
•	Can't OTA (modded phone)
•	Get ready for an OTA
•	Remove Root
•	Add bloat back
•	Re-Odex
•	Your phone is acting weird on the update
•	Something broke
•	Fresh ROM install
•	You don't want to flash 5 update.zips or sbf to update your phone
•	etc.
This will format your system data (helps prevents bootloops - not 100%) and system (in case a rom put some apps in the /system/app) partitions and also changes the boot image to the stock moto M (to fix the Tranquility boot logo - something even an SBF won't fix).

_As always, make a backup and I'm not responsible for what happens to your phone._ 
Download the file here and place it on your sdcard: http://www.droidxforums.com/forum/
•	Mirror 1 http://ubuntuone.com/p/XAk/
•	Mirror 2 http://www.megaupload.com/?d=4AO672L1

_*Instructions: *_
1.	Using the Droid X Bootstrapper make a backup. (more information here)
2.	Browse (using volume buttons) to "install zip from sdcard" and select it with the camera button.
3.	Select "choose zip from sdcard".
4.	Select "maderstcok340.zip"
5.	Confirm the install.
6.	Be patient, wait for the install to finish.
7.	Reboot the Droid X. DO NOTHING ELSE IN CLOCKWORKMOD!!!!!!!
8.	Activate the phone with VZW (more instructions below).

If you attempt to create a backup or flash a rom post maderstcok installation you're going to have a paperweight. This seems to be because maderstcok removes root and the clockworkmod recovery area, so it doesn't like you playing around in there. Re-root and reinstall the bootstrapper, then create a backup or flash a new rom, DON'T DO IT BEFORE REBOOTING THE DX AFTER ISNTALL.

Formatting Data and Cache is optional; however, if you want a really clean install do so. If you factory reset you'll be forced to activate the phone automatically while if you don't you'll have to follow the quick and dirty activation instructions below - the choice is ultimately yours.

_Quick and dirty instructions for activation: _
1.	Dial *228
2.	Press 1
3.	Enter last 4 of primary acct holder's SSN
4.	Wait - more in depth instructions in a link further down.

This can take some time, especially on the two system installs and the radio install. Don't battery pull unless you want a brick.

The file won't flash properly if you have a botched download - this seems to be caused by the size of the file. Please check your file size before flashing:

Size: 284.7 MB (298481300 bytes) 
MD5: ce7122280eafad4a39ba7fefeb764bf5

My free filehosters sometimes .zip the .zip - it looks like maderstcok340.zip.zip 
Just unzip once and check the md5 to make sure it checks out - if not, redownload. Don't try to flash the .zip.zip without unzipping it once!

You'll have to activate your phone again after the install. See this for additional help.

If you encounter any problems during the flashing process follow standard ROM installation troubleshooting (i.e. battery pull, factory reset, etc.)

A lot of this stuff is from Team Black Hat - I did pull some of my own phone files too - but if you're looking to donate, please hit them up. Without them we'd be up a creek. Tell 'em I sent ya

One final note - z4root seems to work flawlessly after flashing this file. Just thought I'd throw that in there...

Enjoy!


----------



## Sysadmin-x

*How to use RSDlite and an SBF file:
*
NOTES ABOUT USING SBF and RSDlite: Make sure your battery is fully charged. If your phone dies while applying an SBF file, you could be stuck...Be sure to create a backup before using SBF, this could be a nandroid backup, and I would also recommend backing up your SMS messages and applications and any application data (use Titanium backup).
I have found this to have the best results.... before applying an SBF, boot into bootstrap recovery and do a wipe data/factory reset.

1.	Turn off your phone. Hold down the "Volume down" + camera button while holding the power button. Your screen should flash and say

Bootloader
30.03 (or 30.04 if you are on the latest update)

Battery OK
OK to program
Connect USB
Data Cable

2.	Open up RSDlite and click the " ... " button to browse to the appropriate SBF that you need to use.
a.	If on bootloader version 30.03 then you will want to use the VRZ_MB810_2.3.15_1FF_01.sbf file
b.	If on bootloader 30.04, then you will more than likely want to flash the 2.3.34 system only sbf (SHADO_X6_2.3.34_SYSTEM-ONLY.sbf)
3.	Once it recognizes the file, connect your droid X to the computer via the usb cable. You should see your phone listed in the bottom section of RSDlite. 
4.	Click the start button, and watch the magic at work =)
5.	When your phone reboots, I generally try to do another wipe data/factory reset.
a.	When turning phone on, hold down home button + power button. When the droid with the ! comes up, press the search button. You can use the volume up/down buttons to navigate, and the camera button to select.

If your phone dies during sbf, A) make sure to charge your battery before sbf next time














here are some instructions
*IF YOUR PHONE DIES DURING SBF*
How to Fix
One thing that you may notice is that when you have this error, your phone will not charge the battery and you'll only be able to see the screen turn on if its plugged into the wall. Somewhere on the screen it will say "Your Battery is Low" and "Cannot Reprogram" or something like that. The easiest way to get through this is to find a friend with a charged battery or go to your local Verizon store and see if they have a demo phone they can use to charge your battery. If you're like me though you will not be lucky in any sense like this so you will have to find the MacGyver inside of you and get a little creative. What you need for this is an old USB cord. One end must be a standard USB cable head and the other can pretty much be anything. Once you have that, follow these steps:

NOTE: I TAKE NO RESPONSIBILITY FOR DAMAGE DONE TO ANY PHONE, BATTERY, ETC. FOLLOW THESE STEPS WITH CAUTION TO AVOID RISK OF DAMAGE.

1. Take your cable and cut off one of the ends, leaving a standard USB plug at the opposite end to plug into your computer.

2. Now you need to strip about and inch of the wire off until you get to the core where you should see 4 colored wires (red, black, white, and green). The colors don't really matter and they may vary, just as long as you can see a red wire and a black wire.

3. Strip off about a quarter inch of the rubber sleeving on the red and black cables, exposing the actual metal wire.

4. Twist the metal strands of each of the wires a couple of times so that all of the wires from the black cable are together and all of the wires from the red cable are together. This is just to make sure that you don't create a short circuit.

5. Here's where it gets a little tricky. You are going to use this cable to make the phone think the battery is fully charged, when in fact you will just be powering the phone using the power from the USB port. Pull out the battery on your phone and find the 4 exposed metal slots (the battery terminals).

6. Each of the far terminals should be labeled with a plus (+) or a minus (-). What you need to do is put exposed leads on the red wire up to the positive terminal and the leads of the black wire up to the negative terminal.

7. While still holding the leads on their respective terminals, slide the battery back into place in the phone. MAKE SURE THE WIRES ARE NOT TOUCHING WHEN YOU PUT THE BATTERY INTO THE PHONE! BAD THINGS COULD HAPPEN ONCE YOU PLUG THE CORD INTO THE COMPUTER!

Note: As tested by parm289, you can skip step 7 and just use the cable to charge the battery if you'd like. He recommends allowing it to charge for 6-7 minutes before placing it back into the phone. Thanks parm!

8. Once the battery is in place and the wires are on the correct terminals but not touching each other, plug the USB cord into the computer. If all has gone as it should, the screen on your phone should come on (may have to press the power button) and the phone should be telling you that the battery charge is okay and that it is okay to program. YAY! Your phone is almost back to normal!

9. Go back up to the previous section in this post that tells you how to reflash the .sbf and follow all of the instructions there. Once that has finished flashing the .sbf to your phone, your phone should be back to working order! You will most likely have to redo the entire setup on your phone but at least your phone is no longer a fancy paperweight.


----------



## Sysadmin-x

*ROM overviews:*

Note due to the constant change in version numbers, I have may not have updated this list. I will try to keep it updated as I can.

BLUR ROMs: Apex 1.3, ZapX Bazinga, Rubix Blurry 1.8, Simply Stunning X, DarkSlide 4.2, Fusion 2.0, Tranquility 3.7.0 (has option to add blur)
Blur-less ROMs: Tranquility3.7.0, Rubix Focused 1.9.7, Liberty 1.5, Cobalt 1.0 , Ultimate Droid, FlyX, Darkslide 4.2, GummyJar 2.5, Incredibly Re-Engineered 1.0, Obsidian 2.0.2, Fission 2.5.7

*LIBERTY 1.5
*
http://forum.xda-developers.com/showthread.php?t=939592

ROM Features:
Base....Originally based on GummyJAR, I would call Liberty's bas a evolution of GummyJAR at this point
95% of all the apps were built from source.... rather than decompiled and hacked apps via APKmanager!! And it shows in pure speed!!!!
Blurless
Wycontacts
Cytown Phone
AOSP Pattern lock
AOSP tab Lockscreen with the option for Rotary as well
Custom terminal emulator with added color options
Reboot option in power down menu
Launcher2 with increased snap velocity
Custom Liberty wallpapers app
Custom Liberty live wallpapers (nexus Mod like, modded from CM source)
Music control's in lockscreen (will control any music source including Pandora)
MusicMod by Eliot Stocker (built from CM source and compiled by Team Liberty)
Inverted Gtalk and Gvoice
Gingerbread keyboard - built by hotaru modified by Team Liberty for better button size
AppWidgetPicker - credit boombuler
Latest Market included
build.prop tweaks - thanks to LexusBrian400
Ads blocked via hosts file - thanks to delta_foxtrot2
10% battery increments support
Clockwork recovery (bootstrap) installs on initial install
Working init.d with config file (start-up scripts)
Liberty scripts:
(Run them in terminal emulator. Type script_name -help for more info)
** ads, allinone, apploc, backup, bootani, cache, camsound, compcache, chglog, donate, exe, fixperms, freemem, install_zip, load, pulldown_text, install_zip, load, market_history pulldown_text, rb, restore,rmapk, setcpu, setprops, slim, sound, switch, symlink, sysro, sysrw, usb, zipalign_apks **
All apps optimized and zip aligned
More to come...

Toolbox Features:

• App Management:

* Apps2SD
* Remove/Backup system/data apps
* Install Add-Ons on the fly (blur, non-blur, extras, etc.)
* Backup/restore feature

• Liberty Mods

* Switch between transition animations
* Change boot logos
* Set Build Properties * File editor included by Fr4gg0r *
* Install Fonts
* Install Themes from the toolbox
* Pulldown-bar text editor
* Icon Chooser (change application and battery icons)

• Liberty Tweaks

* Ad Blocker (Block/Unblock)
* Cache Manager (clear/move to SD)
* Free Memory
* Manage Boot Animation
* Mount system rw, fix permissions, zipalign apps, etc.

• Reboot Options

* Reboot, reboot bootstrap, reboot recovery, powerdown

• Settings

* App Theme (change theme of toolbox)
* Notify for ROM updates/patches
* Lockscreen Settings
* Recovery safe mode
* Overclocking
* Sysctl Support
* Camera Shutter Sound
* Tools (Spare Parts, Dev Tools, Testing Menu)
* Restore apps feature
* Set install location on boot
* Zipalign apps on reboot
* Clear cache on reboot
* Fix permissions on reboot

*Rubix 1.9.7*

http://forum.xda-developers.com/showthread.php?t=927644

_Rubix Focused 1.9.7 overview:_ If you are looking for a ROM with great stability and battery life, then look no further than Rubix Focused 1.9.7. Drod2169 has thrown some amazing scripts in this ROM that allow for app backup, ad-block, and many others. His direct support for the ROM and great speed and responsiveness from his dev work makes it a solid choice. In addition, he has fully customized sysctl.conf to help improve battery life, Java VM management, speed and performance.

* SMART One-Click Overclock App (QuickClock for rubiX) (Credit to Paul Anderson's amazing work!)
* This is a very brilliant OC app. It configures specifically for your device, and OC's to the BEST value, and voltage settings for your phone.
**If your max speed turns out to be <1100, it will only overclock to 1100. This is for the sake of Overclocking, and the safety of your device to not push it higher.
* Base is GummyJar (Credit Kejar)
* Full firstboot functionality.
* Rotary Lockscreen Option
* AOSP Settings Menu (No Compass Calibrate/Battery Manager. For Battery Info, check out About Phone/Battery Use)
* GB Keyboard with working size (cause size does matter )
* Theme by Mycahya
* Working 3G HotSpot
* Phone as Modem/USB Tether Option (Instructions stored in rubiX Folder on your SDCard)
* AOSP Lock screen instead of themed Moto tabs!
* Lockscreen pattern no longer on a timer.
* Market Apps installed to Data Partition
* This Includes:
 * Maps
* Gmail
* Voice Search
* YouTube
* ADW Launcher
* Street View
* Spare Parts
* Adobe Flash Player
* DL Crutch Lite (For Browser Downloads)
* Tweaks adjusted
* File Manager (Credit to Cyanogen)

Gingerbread Parts: (Credit to Pete)

* Launcher 2
* Gallery 3D
* Alarm Clock
* Desk Clock

_SCRIPTS_: Credit to Fabulous, JRummy, Sephtin and myself.
adblock: block or view ads
apps: run the script for directions. If you choose restore, you must reboot after for it to take effect
backup: backs up all of your user apps. backup -bk is the correct way to run the script
calc: remove/restore the calculator
carhome: remove/restore the car home launcher
dxeye: remove/restore the DX LWP Please note that this is removed by default, and placed in /data/rubix run the script to restore.
email: remove/restore the email app
fixperm: fixes permissions (credit Koush)
gallery: switches between the 2D (credit to Cyanogen) and 3D AOSP Gallery
genie: remove/restore the news/weather app
office: remove/restore QuickOffice: Please note that this is removed by default, and placed in /data/rubix run the script to restore.
sys: write the system read/only (-ro) or read/write (-rw)
zipalign_apks: zipaligns all the apps in system. Unnecessary since this is ran on every boot!

*
Fission 2.5.7*

http://forum.xda-developers.com/showthread.php?t=839246

_
About Fission_: The first generic Android platform for current and future Droid devices. We are a bunch of mad hackers, modders and developers that were not happy with the current model of Droids being "Blurred" so we began a mission to rid our devices from the blurriness of VZW Android systems. It started with a crazy idea of messing with the Droid2 SDK that has turned into a full fledge AOSP generic type of ROM. We have incorporated many features that were only seen in AOSP ROMs before this. Some of the features include Reboot in Power Menu, custom built Framework, vanilla Android GUI, totally blur free app folder and many more AOSP like features to come in the short term future.

_Features:_
True Vanilla ROM with generic Android feel, not themed to look like one. No blur apps...
Reboot in Power Menu.
Custom Framework - 10% battery increments with display percent number & without.
Overclock ready out of box.
Lots of free memory.
ROM has root and has been deodexed, and zip aligned.
Busybox installed and symlinks have been applied.
Clean base for you to customize how you like.
And many more...


----------



## Sysadmin-x

*Short Little MetaMorph Guide for Changing Icons
*
Had someone in a post ask about changing some battery icons... So this is a little blip about using it...

I recommend checking out DroidPirate.com if you are looking for images. If anyone else has a place they use for icons, please let me know, and I will add it to this post! Thanks

How-To

MetaMorph ONLY installs the current theme files to the app that exist in the /system/app/ if there is no file you must find the .apk on your phone and place it into the /system/app/ directory.

1) pick the icons you want and download the .zip
2) The file should be a ".ZIP" extension, make sure you do not unzip the file.
3) Connect your device via USB and mount
4) On the root of your SD-Card you need to create a folder called "AndroidThemes" IT MUST LOOK EXACTLY LIKE THAT OR IT WILL NOT WORK
5) Copy the .ZIP file you downloaded and place it in the "AndroidThemes" folder.
6) Assuming you already have the MetaMorph application installed on your phone. Open the MetaMorph app.
7) Click on "Unzip/Extract New Theme"
8) You should the .zip file you have added to the AndroidThemes folder like in the image shown below.
9) Click on the file inside of MetaMorph a MetaMorph install screen should come up telling you about the theme you are installing like shown below (just click Close)
10) Now you should see a button located on the bottom click on "Apply All" this will begin the process of the application skinning.
11) You should see a message box that pops up that says "All Themes Applied" like shown below
12) Reboot your phone and make sure whatever app you where skinning is now skinned.

*Recovering Contacts If You Lose Backup Assistant When Using a Custom ROM:*

For those of you who relied on Backup Assistant in the default Moto ROM for your contacts, you are in luck =)
Go to backupassistant.com and log in. From here, you can see all of the contacts as of your last sync, and then you can back them up as an Outlook CSV. Next, login to your gmail account, click on "Contacts" and then click "Import". Import the .csv file that you generated from backupassistant.com and....VOILA, all of your contacts are now synced to your gmail account, and you can kiss backup assistant goodbye!

*
SysCtl.conf Tweaks*

_Credit for this section goes to macpro88 at DroidXforums and Marius from whom macpro mentions below_

Liberty 1.0 and Syssctl Config

Listen up everyone! Since the release of Liberty 1.0, JRummy16 also released a new app in the market called Sysctl Config, which gave users an interface to manually edit and tweak the sysctl.conf file. Alongside this, Liberty made it easier to configure the sysctl.conf file using the integrated menu option under Liberty Settings without the use of the app.

Please take special note! That any ROM can utilize these sysctl.conf tweaks, not just Liberty, and rooted stock as well.
(You must be rooted and have busybox installed for this to work on stock)

So what is the purpose of this thread? And what is Sysctl.conf all about?

First of all, we are going to explore what sysctl.conf is.

Second of all, we are going to explore what sysctl.conf does, and what it can do for your phone.

Lastly, we are going to explore how sysctl.conf works and what kind of benefit is has on the Android OS.

Now, before we get started, we need to clear something up! The tweaks and modifications we will discuss in this thread, WILL NOT IN ANYWAY INFLUENCE BENCHMARK SCORES SUCH AS QUADRANT! Benchmark apps are meant to measure hardware performance only and are in no way affected by these tweaks and modifications, but make no mistake! You will notice at least a slight increase in Android's performance and a possible increase in battery life as well.

Another thing that everyone needs to know is that the Android OS is a Linux based operating system, so there will be a lot of references to Linux, just so you are not confused.

So lets get started shall we?!?!

Ok, so first of all, let's explore what sysctl.conf is.

The sysctl.conf is a configuration file for "sysctl" which is an interface for dynamically changing kernel parameters in the Linux OS. The configuration file contains the following elements, vm.min_free_kbytes, vm.dirty_ratio, vm.dirty_backgroud_ratio, vm.vfs_cache_pressure, vm.oom_kill_allocating_task. There are many other elements within the file, but we will be primarily focusing on these specifically (the vm prefix stands for virtual memory). The sysctl.conf file should be located in /etc (/system/etc) by default. To enable it you need your ROM to execute "sysctl -p" somewhere during the boot process (or shortly afterward). We will also be discussing how to enable it if it is not already done so. You can also run sysctl -p manually to enable it any time after the OS is started.

Now, let's get down to what sysctl.conf does and how it works.

Min Free KBytes (vm.min_free_kbytes) - This is used to force the Linux VM to keep a minimum number of kilobytes free. The VM uses this number to compute a pages_min value for each lowmem zone in the system. Each lowmem zone gets a number of reserved free pages based proportionally on its size. Default is 2048kb.

Dirty Ratio (vm.dirty_ratio) and Dirty Background Ratio (vm.dirty_background_ratio) control how often the kernel writes data to "disk" (in our case the internal microSD system card, not the removable microSD card). When your apps write data to disk, Linux actually doesn't write the data out to the disk right away, it actually writes the stuff to system memory and the kernel handles when and how the data is actually going to be flushed to the disk. These values represent a percentage, the higher the percentage, the longer it waits to flush, the lower the percentage, the more often flushes will occur. Now remember, we are dealing with solid state storage, not the traditional disk platter and spindle. So we are actually able to delay flushes a little longer with solid state versus a traditional hard drive disk.

VFS Cache Pressure (vm.vfs_cache_pressure) -Now here is where it gets interesting! File system cache (dentry/inode) is really more important than the block cache above in dirty ratio and dirty background ratio, so we really want the kernel to use up much more of the RAM for file system cache, this will increas the performance of the system without sacrificing performance at the application level. The default value is 100, as a percentage, and what you want to do is lower the value to tell the kernel to favor the file system cache and not drop them aggressively.

Oom Allocating Task (vm.oom_kill_allocating_task) (enable or disable, generally in Linux this value is either a "1" or a "0," representing as on or off.) -This enables or disables killing the OOM-triggering task in out-of-memory (oom) situations. If this is set to zero, or disabled, the OOM killer will scan through the entire task list and select a task based on heuristics to kill. This normally selects a rogue memory-hogging task that frees up a large amount of memory when killed. If this is set to non-zero, or enabled, the OOM killer simply kills the task that triggered the out-of-memory condition. This avoids the expensive task list scan, which can take mass amounts of time and "hang" or freeze the system.


----------



## Sysadmin-x

Continued from the previous post:

This information has been pulled from the following sites:
 imoseyon: Sysctl tweaking for faster, longer lasting Android
imoseyon: sysctl (and minfree) tweaks revisited
http://www.linuxinsight.com/proc_sys_vm_hierarchy.html

How to edit the values manually, follow these steps:

1) First enable sysctl from Liberty settings, if you are on Liberty
2) Run Root Explorer
3) Modify /data/liberty/init.d.conf to make sure that sysctl is enabled ("sysctl = 1")
4) Go to /system/etc/, and mount it r/w
5) Modify sysctl.conf by long pressing the sysctl.conf file and selecting "Open in Text Editor." When finished, save the file and exit
6) Run Terminal Emulator
7) Type "sysctl -p" (output should confirm whether you've done step 4&5 correctly)

(Soon to come, how to enable if your ROM does not support sysctl, which will require much more tweaking.)

If you want to check to see if your changes take hold after reboots, run this in Terminal Emulator:

sysctl -a| grep vm

or

sysctl -p

This command will give you all the sysctl values, scroll down to find the ones you edited and verify that they are the same values you changed them too.

Now, if you want the easy way out, our good friend Marius has been great, and created a flash-able .zip that does all of the work for you!

The .zip can be found here, at Marius' blog titled "imoseyon."

When you flash the .zip file, in Bootstrap Recovery, the following will take effect, and please note, any settings you may have altered, will be overwritten!

Applying the .zip will do the following:

1. Install BusyBox 1.18.0 (in an alternate location)
2. Enables cron, which is a Linux time-base job scheduler
3. Tweaks certain kernel elements (vm, minfree, etc.)
4. Tweaks build.prop (on some ROMs)
5. Flushes system caches once a day (1AM PT)

This .zip should be all you need to get your phone running in tip-top shape. The zip is fairly ROM agnostic, meaning that almost any rooted ROM is going to work (rubiX, Liberty, ApeX, Darkslide, etc. and maybe even stock ROM, as long as you are rooted). It should also work for both Droid X and Droid 2.

Please make sure you create a backup before flashing anything!

After you flash the .zip, you can run the following command in Terminal to make sure it was applied successfully:
pgrep -f crond

If you get a value on the following line, the .zip has been applied successfully, don't worry about what number you, everyone may end up with a different number.

If you are really feeling adventurous and are down for a good read, and really want to get to know the Android OS even better, please follow Marius' blog, as it is a great read!
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
There really is NO right answer when you research sysctl. The best thing to do would be to search VM Linux tweaks. Most of the time, you'll see sysctl values that people optimizing their Linux systems use. Take a look at those, and then look into the actual name of what you're tweaking, to find out what it does.

VFS Cache Pressure, go ahead and disable that. I think the stock value is 100, so enter that. At the value of "12" which is the default in Liberty (from one of my old sysctl's) causes a slowdown after a while, even though makes everything much more responsive at the get go. The slowdown is why I removed it from rubiX roms. OOM Kill Allocating Task kills off the app that caused you to run out of memory, which runs better than the stock android configuration.

The default values in Liberty sysctl tweaks are what I suggested to JRummy after extensive research and testing with Drod on RubiX. The settings Marius used up above are actually the stock settings, so you would have those values by disabling sysctl all-together, which is definitely an option. By raising the dirty ratio and dirty background ratio to 95 and 60 respectively, you are allowing for fewer memory flushes which results in much improved battery life. I found, as Drod mentioned, that with vfs_cache_pressure too low, you will see some slowdowns in performance at around 50 hours without a reboot. Through additional testing, I determined that a setting of 50 here, half that of stock will provide a good blend of benefits without risk. You would need to be running for something like 150 hours without a reboot in order to ever see a slowdown with this setting. It may be even more than that.

From what I have gathered it seems the general consensus in this thread is that there are two main approaches to this:

vm.min_free_kbytes = a
vm.dirty_ratio = b
vm.dirty_background_ratio = c
vm.vfs_cache_pressure = d

One is the self-maintained, improved overall performance approach:

3072 => a => 2048
95 => b => 70
60 => c => 40
50 => d => 25*

*at 25 you're probably going to have to reboot after about two days

Recommend values in bold

The other is the automated purge cache controlled, extreme performance approach:

3072 => a => 2048
95 => b => 70
60 => c => 40
10** => d => 1***

**Need to run a script to purge cache every 22-30

*** Need to run a script to purge cache every 10-16

Personal recommendation for most people (no manual flushing required):

dirty_ratio = 90
dirty_background_ratio = 55
vfs_cache_pressure = 20

If you are willing to play around with manual or timed flushing I think you can squeeze a little more performance and battery life with:

dirty_ratio = 90
dirty_background_ratio = 70
vfs_cache_pressure = 1

A lot of this stuff is subjective and very dependent on your usage pattern. I've gone about 3 days with the latter without having to flush and probably could have gone a lot longer except i was running some other experiments that caused my phone to reboot.
-------------------------------------------------------------------------------------------------------------------------------------


----------



## DrewM25

Very nice write up!


----------



## SyNiK4L

very nice. a bunch of good stuff in here. Some stuff that I had no idea about or what it meant. Thx for the write up


----------



## xust

Seems like a partially updated, older thread from elsewhere







:x

Now where's the Droid 2 action?


----------



## kauthor47

+1 to charging battery by connecting the terminals to a cable. I'm glad I'm not the only person who has had to cut up a USB cable because my phone died during SBF. xD


----------



## e3zkiel

Great add to the forums...


----------



## Sysadmin-x

xust said:


> Seems like a partially updated, older thread from elsewhere
> 
> 
> 
> 
> 
> 
> 
> :x
> 
> Now where's the Droid 2 action?


Haha truth be told I created this guide originally on XDA before rootzwiki was what it is now. I really like the idea b16 and bird have behind rootzwiki which is why I moved my thread here. I hope to update it soon, I just have a VERY busy work schedule.

If there are questions, please ask, just because I don't have it in the guide, doesn't mean I dont have the info, and if I truly don't, I will help find the answer.

Thanks


----------



## Steady Hawkin

I can tell allot of hard work went into this, great addition to the forum!


----------



## parkjam

Holy christ! Great write up. I think everyone can appreciate the tons of work and effort that went into creating such an impressive reference. You should just make this the DX wiki, it contains everything one would need to know


----------



## jlloyd

Great job on this. Lots of info in there


----------



## davidjr621

wow man! this thread looks amazing!!!! I don't have a DX anymore, but if I still had it, i'm sure this thread would have helped a lot at the time!


----------



## INt_Rnd_Pooka

Awesome resource! Only thing I see lacking is links to the .07 and .12 radio flashable zips. I know they're posted in countless threads, but searching for them is like trying to find a plate of green eggs and ham in a haystack


----------



## mcp770

Holy Crap Man! You sir are the guide master. Nice work!


----------

