rockbox/docs
Thomas Martitz 249bba03f1 Initial commit of the Samsung YP-R0 port.
This port is a hybrid native/RaaA port. It runs on a embedded linux system,
but is the only application. It therefore can implement lots of stuff that
native targets also implement, while leveraging the underlying linux kernel.

The port is quite advanced. User interface, audio playback, plugins work
mostly fine. Missing is e.g. power mangement and USB (see SamsungYPR0 wiki page).

Included in utils/ypr0tools are scripts and programs required to generate
a patched firmware. The patched firmware has the rootfs modified to load
Rockbox. It includes a early/safe USB mode.

This port needs a new toolchain, one that includes glibc headers and libraries.
rockboxdev.sh can generate it, but e.g. codesourcey and distro packages may
also work.

Most of the initial effort is done by Lorenzo Miori and others (on ABI),
including reverse engineering and patching of the original firmware,
initial drivers, and more. Big thanks to you.

Flyspray: FS#12348
Author: Lorenzo Miori, myself

Merry christmas to ypr0 owners! :)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31415 a1c6a512-1295-4272-9138-f99709370657
2011-12-24 11:56:46 +00:00
..
logo lcd_color/cabbiev2: New iconset in multiple sizes 2011-11-26 16:01:11 +00:00
API Removed executable flag 2007-01-09 23:29:07 +00:00
BATTERY-FAQ Convert the whole codebase to UTF-8, except docs/COMMITTERS and tools/creative.c, which need checking. 2008-05-05 10:32:46 +00:00
BATTERY-FAQ-LIION
CHARGING_ALGORITHM Removed executable flag 2007-01-09 23:29:07 +00:00
COMMITTERS Belatedly adding myself to COMMITTERS in alphabetical order 2011-12-12 11:11:29 +00:00
CONTRIBUTING "No code in .h files or #defines" 2009-10-23 07:26:48 +00:00
COPYING
COPYING-MANUAL Manual license is GFDL, add it to the docs folder. 2006-12-17 11:54:10 +00:00
CREDITS Initial commit of the Samsung YP-R0 port. 2011-12-24 11:56:46 +00:00
gpl-2.0.html Remove duplicated license file. 2010-09-04 18:50:12 +00:00
HISTORY Convert to UTF-8 and a few tweaks. 2008-02-07 00:56:07 +00:00
KNOWN_ISSUES deleting files and then resume is not good 2007-05-19 16:54:25 +00:00
LICENSES
MAINTAINERS Spanish translation update by Francisco Vila (FS#10003). Also add him as Spanish maintainer. 2009-03-11 11:05:42 +00:00
NODO Remove outdated NODO list from the docs folder. Replace it with a link to the wiki. 2010-05-15 21:54:24 +00:00
PLUGIN_API Remove rockbox 2.6 plugin API doc 2010-07-25 13:54:13 +00:00
profontdoc.txt Make sure files which aren't windows-specific use \n line endings only 2010-06-17 16:59:51 +00:00
README configure update hasn't worked in ages... 2008-01-21 22:21:28 +00:00
sample.colours Make sure files which aren't windows-specific use \n line endings only 2010-06-17 16:59:51 +00:00
sample.icons Add a sample.icons file, and add a few more files to the docs folder in the zips 2007-06-18 09:32:28 +00:00
TECH Fix example command line for profile_reader.pl 2009-12-22 09:41:12 +00:00
UISIMULATOR Turn the simulator background into a clickable area. i.e. you click on the play button to press play. It also maps mouse scrollwheel events to rockbox scrollwheel events. This facilitates testing because you don't have to move your hand between the mouse and keyboard. 2010-02-16 17:34:48 +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!