dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Wiki > Main > HowToCompile (compare)

Difference: HowToCompile (r20 vs. r19)

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

1. Get the source

Check out the trunk from SVN.

   $ svn co svn:// 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 SH1 ARM targets (Archos) (Ipods, Sansa, Olympus, Toshiba, Iriver H10) this is

$ which sh-elf-gcc 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 ARM SH1 target (Ipods, (Archos) Sansa, Olympus, Toshiba, Iriver H10)

$ which arm-elf-eabi-gcc 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 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 SVN checkout command a bit:

   $ svn co svn:// 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

Revision r20 - 16 Dec 2011 - 23:41 - MichaelGiacomelli
Revision r19 - 10 Dec 2010 - 09:01 - ThomasMartitz
Copyright by the contributing authors.