CONSTRUCTION AREA
Go to file
William Wilgus 8577d5aea3 Buflib_init Bugfix Minsize
when buflib_init is called with a buffer smaller than
sizeof(union buflib_data); size will be zero
Later when the alloc fails buflib will keep try to free items
in order to satisify the request this crashes in the sim
I suspect this behavior holds true on device as well
but I havent verified this as of yet.

patch adds minimal overhead to the buflib and panics when the size is too small

Change-Id: I46e510367fc1cac19ce01ee6f92d8cf0d65ef914
2020-07-15 13:29:21 +00:00
android android: Fix configure script for "newer" versions of the NDK 2020-04-13 16:51:58 +02:00
apps puzzles: always reset input state before pause menu 2020-07-14 23:04:46 -04:00
backdrops Add Cabbiev2 port for 128x96x16 targets (Samsung YH-820), made by me. 2014-03-27 19:50:48 +00:00
bootloader xDuoo X3II and X20 port 2020-04-06 18:15:41 +02:00
debian Prepare new maemo release 2013-03-10 12:12:38 +01:00
docs FS#13211: Updated Serbian Translation (Boris Kovačević) 2020-07-08 20:40:25 +00:00
firmware Buflib_init Bugfix Minsize 2020-07-15 13:29:21 +00:00
flash Limit more variables to file scope 2015-01-11 21:40:51 +01:00
fonts Remove superfluous executable bits on a bunch of files. 2011-06-08 14:22:03 +00:00
gdb Limit more variables to file scope 2015-01-11 21:40:51 +01:00
icons Updated 8x8 tango icons 2020-05-23 09:23:53 -05:00
lib FS#12966: display '+' for positive replaygain values 2020-07-09 22:18:25 +00:00
manual Pictureflow manual update 2020-07-14 13:24:49 +00:00
packaging Prepare unofficial pandora release 2013-03-10 14:09:30 +01:00
rbutil rbutil: Handle the new Retired target status. 2020-07-14 13:03:06 +00:00
tools FS#13214: Update Italian translation (Alessio Lenzi) 2020-07-14 16:13:13 +00:00
uisimulator misc: strip 'x' bit from some UIsim stuff 2020-06-12 15:43:43 +00:00
utils Python3-related fixes in some of our scripts 2020-07-09 14:39:27 +00:00
wps Agptek Rocker: Initial commit 2018-06-12 10:31:14 +02:00
.gitattributes Add a gitattributes file for the migration. 2011-12-01 14:14:59 +00:00
.gitignore Python3-related fixes in some of our scripts 2020-07-09 14:39:27 +00:00

docs/README

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

Build Your Own Rockbox

1. Clone 'rockbox' from git (or extract a downloaded archive).

   $ git clone git://git.rockbox.org/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!