These docs are for v20160720. Click to read the latest docs for v20170213.

Consider forking the project on GitHub before proceeding with this procedure if you intend to contribute back to the project. (More details on this are at [Tracking Development with Git](🔗))

Document Version

This version of the documentation is specific to a released version of dRonin. If you wish to build/track next (the latest development branch), please select the "dev" version of the docs next to the search box above.

## 1. Set up prerequisites for the build environment

## Ubuntu/Mint/Debian based distributions

First ensure your package manager is up to date:

Next, get a host compiler and other build tools, along with your revision control environment:

If you are running a 64-bit version of Linux (if you run `uname -m` and the output says `x86_64` you are in a 64-bit environment), you'll also need to install 32-bit compatibility libraries.

Finally, install some additional libraries required to compile GCS

## Fedora-based Distributions

Install the required packages:

## 2. Check out the dRonin repository and build

## Clone the source code repository

First, clone the dRonin repository. Change to an appropriate directory to check out the code. If you have your own fork, specify its URL on the git command line (otherwise you can use the parent fork per the below example).

## Automatic download and install of required programs

The dRonin build environment is capable of installing the rest of the tools that it needs.

### Qt build tools

Next, run `make qt_sdk_install`, copy the path from the output in your terminal and paste it into the installer when prompted.

Do not install Qt to the default location!

When running the qt sdk install command, you'll be told where to install qt, then the GUI installer will open. Here is what it will look like:

Be sure to copy the specified path into the installer when prompted for the install location!

### Arm cross compilation toolchain

This is easy. Just type: `make arm_sdk_install`

## 3. Build the software

You should be ready to go. Type `make all` to compile the entire project. Type `make` to see a list of possible make arguments.

## 4. Install udev rules

You need to grant permission for normal users (ie. not root) to access your flight-controller boards from the GCS. This is accomplished by installing specific udev rules for the various flight controller boards.

Check if your user is in the group "plugdev" by running 'groups'

If you're not in group "plugdev"...

If you're not in the group "plugdev", you can add the group to your user by running this command:

Then, log-out and log back in and check again by running `groups`

Next, run these commands to install the dRonin udev rules:

## 4. Run GCS

Launch the gcs with `./build/ground/gcs/bin/drgcs` and connect to / flash your board.