Rockbox
Find a file
Linus Nielsen Feltzing dcf56e9744 Proper encoding
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15954 a1c6a512-1295-4272-9138-f99709370657
2007-12-18 14:42:46 +00:00
apps Proper encoding 2007-12-18 14:42:46 +00:00
bootloader * Make the Gigabeat S bootloader a bit more interesting: it looks for the first firmware file it finds on the second partition and attempts to load it. Loading fails to get past the splash screen though. 2007-11-27 15:40:29 +00:00
docs Accept two rbutil patches by Clemens Werther: 2007-12-16 18:56:45 +00:00
firmware Another fix for file system issues when encountering disk full (like when recording) 2007-12-13 23:36:22 +00:00
flash Include some more stuff in the tarballs. 2007-09-04 21:53:33 +00:00
fonts add a bold version of 9+18x18 2007-12-10 11:07:51 +00:00
gdb Include some more stuff in the tarballs. 2007-09-04 21:53:33 +00:00
manual Accept FS #8323 by David Bishop: always use the term bootloader 2007-12-17 22:27:19 +00:00
rbutil move w32-specific resources to a separate file to prevent building them on other platforms. Use an alias in the resource file to remove the need of copying the file. 2007-12-17 21:35:25 +00:00
tools when building on MinGW, make sure to set CC to gcc. Make ar call silent. 2007-12-15 15:11:53 +00:00
uisimulator Simulate the effects of sector caching a bit. Bypass I/O yield if a byte counter hasn't reached a certain threshold. Can be dialed-in by changing a #define. 2007-12-03 15:33:12 +00:00
utils Firmware update utility for the Gigabeat S and probably other MTP devices. Based on libmtp's sendfile.c example, tweaked by Maurus Cuelenaere and me to send firmware files. 2007-11-22 18:07:40 +00:00
wps Add greyscales to Rockboxed theme and mimic the color variant a bit more. 2007-09-29 19:05:30 +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*.

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!