Virtual Machine (Strongly Recommended)

This will give you a complete linux desktop running within Windows with the ARM and simulator compilers already configured and git installed. By default the image is configured for 4 processors, and to pass sound and USB devices through. This should allow audio playback in the uisimulator, and directly copying compiled rockbox builds to a player over USB. If you have a different number of processors, you may wish to allocate fewer or more in the Virtualbox settings.

Unix Layers for Windows

You can also use Cygwin or Interix to run the development tools directly in Windows. Unfortunately this approach is quite slow, more difficult to setup and not recommended for most users.

Linux Boot CD

Linux, Mac OS X, or any Unix-like OS

Get The Source

Get a fresh source to build Rockbox from. We usually recommend you get the sources fresh from the Git repo (How to use Git).

Build the cross compiler

Rockbox requires a specific version of gcc compiled with various options in order to cross compile for each device. Fortunately, Git contains a simple script that will build gcc with the correct options for most platforms.

Virtual Box

Our Virtual Box image already includes the most common compilers, but if you want to build them you can use the Linux directions below.

Unix Layers in Windows

Build Rockbox

Build rockbox using your acquired sources! If you're using Linux or the suggested cygwin approach, read How to compile Rockbox.

Also note that we have put a whole lot of effort in writing simulators so that you can build, run and try code on your host PC before you build and download your target version. This of course requires a working compiler for your native system.

Change Rockbox

Before you change any code, make sure to read the contributing information if you want to have any hope of having your changes accepted.

Now, you fixed any bugs? You added any features? Then read appropriate section of UsingGit how to upload your change for review. Of course, you can also check the open bug reports and jump in and fix one of them (or possibly submit a new bug report).