Rockbox
Find a file
Rafaël Carré da16248e47 Plugins: modify IRAM copying code
Move to plugin_crt0.c, plugins don't need PLUGIN_IRAM_* macros anymore
IRAM is no longered zeroed before copying (as it is at the same address
than BSS) -> Fix FS#11581
Use cpucache_invalidate() (and not cpucache_flush), needed for self-modifying code on cached IRAM

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27948 a1c6a512-1295-4272-9138-f99709370657
2010-08-30 20:47:53 +00:00
android Android port: also include native libraries in APK file 2010-08-17 21:13:13 +00:00
apps Plugins: modify IRAM copying code 2010-08-30 20:47:53 +00:00
backdrops Cabbiev2 480x800 port, very similar to the 320x480 one. 2010-08-12 19:06:40 +00:00
bootloader Introduce NORETURN_ATTR wrapper for __attribute__((noreturn)), using this and a bit further cleanup in main gets rid of a warning when compiling for android. 2010-08-12 13:38:25 +00:00
docs Added myself 2010-08-27 13:23:32 +00:00
firmware Change lc_open_from_mem() return type to void* 2010-08-30 20:47:26 +00:00
flash Move memset6() declaration to string-extra.h, kills a warning compiling for android since it ships a memory.h. 2010-08-12 13:55:01 +00:00
fonts Polish charset for 09-Nedore font, FS #11460 by Tomasz Kowalczyk 2010-07-05 11:54:03 +00:00
gdb Generate C file / header for svn version string 2010-05-27 09:41:46 +00:00
icons Revert hotkey bitmaps 2010-05-07 14:46:42 +00:00
lib Accept FS#11567 by Fred Bauer - better memory management for the skin fonts 2010-08-25 14:11:38 +00:00
manual Change dap{} to \dap{} in the iaudio battery capacity description 2010-08-29 21:19:12 +00:00
rbutil Update INSTALL file and move it in preparation of merging rbutil/ and utils/. 2010-08-30 17:52:01 +00:00
tools As of r27902, codecs and plugins need to be marked as executable to work in the UI simulator on Windows. 2010-08-29 12:29:34 +00:00
uisimulator Use system headers a bit more: use host's fcntl.h for O_RDONLY etc. 2010-08-27 12:38:25 +00:00
utils Support resolving of DLLs when running on Windows. 2010-08-30 17:51:53 +00:00
wps Further upgrades of Cabbiev2 wps files to viewports - FS#11490 by HAyden Pearce and me 2010-08-21 23:39:19 +00:00

               __________               __   ___.
     Open      \______   \ ____   ____ |  | _\_ |__   _______  ___
     Source     |       _//  _ \_/ ___\|  |/ /| __ \ /  _ \  \/  /
     Jukebox    |    |   (  <_> )  \___|    < | \_\ (  <_> > <  <
     Firmware   |____|_  /\____/ \___  >__|_ \|___  /\____/__/\_ \
                       \/            \/     \/    \/            \/

Build Your Own Rockbox

1. Check out 'rockbox' from SVN (or extract a downloaded archive).

   $ svn co svn://svn.rockbox.org/rockbox/trunk rockbox

     or

   $ tar xjf rockbox.tar.bz2

2. 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. Make sure you have sh/arm/m68k-elf-gcc and siblings in the PATH. Make sure
   that you have 'perl' in your PATH too. Your gcc cross compiler needs to be
   a particular version depending on what player you are compiling for. These
   can be acquired with the rockboxdev.sh script in the /tools/ folder of the
   source, or will have been included if you've installed one of the
   toolchains or development environments provided at http://www.rockbox.org/

   $ which sh-elf-gcc
   $ which perl

4. In your build directory, run the 'tools/configure' script and enter what
   target you want to build for and if you want a debug version or not (and a
   few more questions). 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

5. *ploink*. Now you have got a Makefile generated for you.

6. Run 'make' and soon the necessary pieces from the firmware and the apps
   directories have been compiled, linked and scrambled for you.

   $ make
   $ make zip

7. unzip the rockbox.zip on your music player, reboot it and
   *smile*.

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

Questions anyone? Ask on the mailing list. We'll be happy to help you!