release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide



Wiki > Main > DevelopmentGuide (compare)

Difference: DevelopmentGuide (r36 vs. r35)

First Time Guide to Rockbox Development


Welcome to our humble project. In order to get your hands dirty as quickly and smoothly as possible, here follows our suggested approach!


Join the Rockbox Community

Mail: We have a very active developers mailing list no serious Rockbox freak can live without.

IRC: There's always a bunch of friendly and helpful people around in the IRC channel.

Forum: Most users will show up and discuss issues in the Rockbox web forum


Set Up Your Environment

You need suitable build tools before you can setup the compiler. Pick one of these:

Windows

Development on Windows is also supported using VMs or unix compatibility layers.

Virtual Machine (Strongly Recommended)

You can download a full Ubuntu desktop image here for use with the open source virtual machine Virtual box:

Ubuntu VM (475MB) (405MB) (username/password): ubuntu/reverse

This will give you You can download virtualbox a complete linux Desktop running within Windows with the ARM and simulator compilers already configured. NOTE: if you want to use "git" (and you probably will), you will actually have to install that after setting up the virtual image. (Sorry about that, we will probably fix this soon). From the virtual machine, open a terminal window and type "sudo apt-get install git" to install git. here.

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.

See: Set up a Cygwin development environment OR set up a Interix development environment.

Linux Boot CD

set up a coLinux development environment

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

These platforms can build rockbox natively.


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.

Linux, Mac OS X

Building the cross compiler, or alternatively Beginners Version. This describes using the automatic tool to setup gcc and is fairly simple.

Unix Layers in Windows

See: Set up a Cygwin development environment OR set up a Interix development environment.


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).

ContributingToRockbox and Feature Ideas section of the Rockbox Technical Forum may also be a source of inspiration for those unsure of where to begin.


r38 - 10 Oct 2013 - 19:51:09 - MichaelGiacomelli

Revision r36 - 16 Jun 2012 - 01:45 - MichaelGiacomelli
Revision r35 - 15 Jun 2012 - 12:07 - DaveHooper
Copyright by the contributing authors.