To mess around with Android-powered devices sooner or later you will need Android SDK or more precise two of its components: Android Debug Bridge (or ADB) and Fastboot.

ADB is a command line tool that send terminal commands from your computer to phone connected via USB. While ADB is usually used in the process of rooting or modifying the phone, commands can be sent to unrooted devices too. I am using ADB to reboot device or boot it into recovery mode. More info about ADB can be found on official documentation.

Fastboot is a tool to modify firmware of the device. It allows sending commands to bootloader, therefore you can flash custom system images and recoveries. You can’t flash whole ROMs with it, so usually partitions are written one-by one (bootloader, radio, system, boot, recovery). Not all devices support Fastboot, for instance Rockchip-based devices (e. g. GeekBox) use own application to flash images called upgrade_tool. For more info on Fastboot see nice wiki page at Cyanogenmod or Wikipedia.

Installing both ADB and Fastboot on Linux Mint (or any Ubuntu based distribution) is easy as running following command in terminal:

sudo apt-get install android-tools-adb android-tools-fastboot

It is also recommended to declare rules for main Android phone manufacturers in udev. Perform that by executing three commands below:

sudo wget -O /etc/udev/rules.d/51-android.rules
sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo service udev restart

To see what ADB version you’ve got, run:

adb version

Which will output something like:

Android Debug Bridge version 1.0.31

I don’t remember exact reason why, but I had to update ADB to more recent version than was on Ubuntu’s repository, so I ran:

wget -O - | tar -zxvf - adb
sudo mv adb /usr/bin/adb
sudo chmod +x /usr/bin/adb

And got following adb version:

Android Debug Bridge version 1.0.32

Update December 11th: as of now repository already contains version Android Debug Bridge version 1.0.32, so no need to install manual update.

That’s it – you’re ready to root your device or upgrade already rooted one.

Have fun unlocking full Android potential!