Rockbox
Find a file
Aidan MacDonald 6da490099b Touchscreen: absolute point mode scrolling bugfix
Due to this inadequate bounds check, it was possible under certain
conditions to cause a crash by touching & scrolling in the empty
space "after" the last item of a list.

Change-Id: Ic6c30214d887e1c7ccb212de272248ca24f60856
2021-06-22 21:42:02 +01:00
android android: Fix configure script for "newer" versions of the NDK 2020-04-13 16:51:58 +02:00
apps Touchscreen: absolute point mode scrolling bugfix 2021-06-22 21:42:02 +01:00
backdrops Add Cabbiev2 port for 128x96x16 targets (Samsung YH-820), made by me. 2014-03-27 19:50:48 +00:00
bootloader mi4: replace chksum_crc32 with crc_32r 2021-06-21 09:36:54 +00:00
debian Prepare new maemo release 2013-03-10 12:12:38 +01:00
docs Add microtar library (for use by M3K bootloader) 2021-05-12 11:30:13 +01:00
firmware Sansa Connect: Refactor AVR command handling 2021-06-22 19:18:17 +02:00
fonts Remove superfluous executable bits on a bunch of files. 2011-06-08 14:22:03 +00:00
gdb Nuke the never-functional iriver ifp-7xx port 2021-04-26 07:42:58 -04:00
icons Revert Non-Alpha Updated 8x8 tango icons 2020-10-25 16:21:58 +00:00
lib FS#13299: Handle MP3 files with more than 128K of headers before audio data 2021-06-16 17:37:29 -04:00
manual FS#13297: M3K Autolock allows one action before disabling touchpad 2021-06-12 21:11:28 +00:00
packaging Prepare unofficial pandora release 2013-03-10 14:09:30 +01:00
rbutil jztool: add correct compiler flags for building on Mac 2021-06-06 11:52:23 +01:00
tools build: Add an 'xz' target to generate a .tar.xz image 2021-06-17 11:56:59 -04:00
uisimulator ErosQ Simulator: fix keymap 2021-06-07 22:01:47 +00:00
utils mknkboot: optimize verifyfirm 2021-06-17 15:30:51 +00:00
wps [Cabbiev2] If the 'Artist' tag is empty read the 'Album Artist' tag. 2021-05-20 18:52:48 -06:00
.gitattributes Add a gitattributes file for the migration. 2011-12-01 14:14:59 +00:00
.gitignore jztool: New utility for installing a bootloader on FiiO M3K 2021-04-17 20:23:19 +00:00

               __________               __   ___.
     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 mips/m68k/arm-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 generated using the rockboxdev.sh script in the /tools/ folder of the
   source.

   $ which arm-elf-eabi-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-fuzeplus
   $ cd build-fuzeplus
   $ ../tools/configure

   $ mkdir build-xduoox3
   $ cd build-xduoox3
   $ ../tools/configure

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