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



Search | Go
Wiki > Main > HowToCompile

Build Your Own Rockbox

Note: This page provides a high level overview for experienced c developers. For more detailed information, see DevelopmentGuide.

Before you start

Do you have the cross compilers installed? Rockbox cannot be built on your standard compilers. Instructions for installing the cross compilers can be found at http://www.rockbox.org/wiki/CrossCompiler

1. Get the source

Clone from our official repository.

   $ git clone git://git.rockbox.org/rockbox

2. Create a build directory

Create a build directory, preferably in the same directory as the firmware/ and apps/ directories. This is where all generated files will be written.

   $ cd rockbox
   $ mkdir build
   $ cd build

3. Run configure

In your build directory, run the 'tools/configure' script and enter what target you want to build for and kind of build you want to build. Normally you want to compile the normal build, which is also the default value at this promt. It'll prompt you. The debug version is for making a gdb version out of it. It is only useful if you run gdb towards your target Archos.

   $ ../tools/configure

After you followed the instruction, it will automatically generate a Makefile for you.

Note: Run
   $ ../tools/configure --help
for more information and command line arguments, which enable you to automate building.

4. Working PATH

Make sure you have the compiler and siblings in the PATH. Make sure that you have 'perl' in your PATH too. For ARM targets (Ipods, Sansa, Olympus, Toshiba, Iriver H10) this is
   $ which arm-elf-eabi-gcc
   $ which perl
Or, If building for a Coldfire target (Iriver H100, H300; Iaudio M / X, MPIO):
   $ which m68k-elf-gcc
Or, If building for an SH1 target (Archos)
   $ which sh-elf-gcc
Or, If building for a MIPS target (Onda VX7x7)
   $ which mipsel-elf-gcc

5. Build

Run 'make' in the build dir and soon the necessary pieces from the firmware and the apps directories have been compiled, linked and scrambled for you.
   $ make
If you have a multicore processor, you might want to use it to its full potential to build faster :
   $ make -j

6. Install

   $ make zip

Extract the newly created rockbox.zip file on your target, reboot it and smile. You can also just run the Rockbox binary from the Rockbox filebrowser and it'll be loaded and replace the currently running version.

If you would like to build a full zip with the fonts included as well, you'd use this command line instead:

   $ make fullzip

7. Multiple Versions

If you want to have more than one source tree on your PC, just alter the Git clone command a bit:

   $ git clone git://git.rockbox.org/rockbox rockbox_another_tree
or extract the source archive in another folder.

If you want to build for more than one target, just create several build directories and create a setup for each target:

   $ mkdir build-fmrecorder
   $ cd build-fmrecorder
   $ ../tools/configure

   $ mkdir build-player
   $ cd build-player
   $ ../tools/configure

8. Ui Simulator

The Ui Simulator simulates Rockbox right on your PC. Please visit UiSimulator for more information about it.
r21 - 24 Jan 2012 - 12:24:19 - MarcinBukat
Copyright by the contributing authors.