rockbox/docs
Hristo Kovachev dd2a5294d6 Credit Aleksey Kozyulin for the russian.lang update
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8839 a1c6a512-1295-4272-9138-f99709370657
2006-02-25 23:55:02 +00:00
..
API Made set_irq_level() an inline function, and optimized it by removing the bit shifts 2004-03-02 11:32:59 +00:00
BATTERY-FAQ Added comment about flashed Rockbox 2004-03-16 07:39:32 +00:00
BATTERY-FAQ-LIION Added Scott's V2/FM battery faq 2004-05-21 21:15:21 +00:00
CHARGING_ALGORITHM More aggressive Recorder V1 charging (patch #1116884 from Jerry Van Baren) 2005-03-03 07:25:43 +00:00
CONTRIBUTING Spell out that we use ISO 8859-1 at places, but we should rather remain 2005-10-28 10:44:50 +00:00
COPYING Removed 'howto' addition 2003-11-20 14:13:30 +00:00
CREDITS Credit Aleksey Kozyulin for the russian.lang update 2006-02-25 23:55:02 +00:00
CUSTOM_CFG_FORMAT Added new channels modes and invert setting in cfg-loader. Patch by Christian Determann. 2003-03-10 14:07:36 +00:00
CUSTOM_WPS_FORMAT The previous commit I did was supposed to fix the wps mode patch only 2005-08-21 20:18:24 +00:00
FAQ Updated Q76, dir buffer full 2004-12-01 08:30:25 +00:00
FILES Profiling support, tools and documentation. 2006-01-18 20:54:13 +00:00
HISTORY Some additions & corrections 2004-10-05 10:50:01 +00:00
LICENSES Better random number generator: Mersenne twiser with improved initialisation. BSD-style license. 2006-01-20 01:21:26 +00:00
NODO Slight clarification... 2004-09-17 07:16:09 +00:00
PLUGIN_API Bagder in version 1.81 of plugin.h: "fprintf() is now fdprintf()" so time to put it in here too :) 2005-06-01 20:35:08 +00:00
README Corrected hostname 2004-11-11 09:36:41 +00:00
TECH Profiling support, tools and documentation. 2006-01-18 20:54:13 +00:00
UISIMULATOR Add make install step - still quite outdated, but at least what's there is more correct now. 2005-06-26 22:47:19 +00:00

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

Build Your Own Rockbox

1. Check out 'rockbox' from CVS (or extract a downloaded archive). You
   want to check out 'rockbox-devel' instead if you want the simulator
   code too (for trying out things on host before making target tests).

   (For more information about the simulator, read UISIMULATOR.)

   $ cvs -d:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox login 
   $ cvs -z3 -d:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox co rockbox

     or

   $ tar xzf rockbox.tar.gz

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

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. Make sure you have sh-elf-gcc and siblings in the PATH. Make sure that you
   have 'perl' in your PATH too.

   $ which sh-elf-gcc
   $ which perl

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

   $ make

8. Copy the archos.mod or ajbrec.ajz file to your archos, reboot it and
   *smile*.  Recent Rockbox versions need no reboots, just PLAY a new rockbox
   version and that'll be loaded and replace the currently running version.

   $ mount /dev/sda1 /mnt/archos
   $ cp ajbrec.ajz /mnt/archos
   $ umount /mnt/archos

Whenever the tools/configure script gets updated, you can make your makefile
updated too by running 'tools/configure update'.

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!