Find a file
Amaury Pouly ff946f1f69 imxtools: completely rework patching logic to prepare unpatching
The old code was working but a mess to maintain. The new code is cleaner
and always simpler handling of all the different options. Extraction of the
OF is no longer a standalone function but just one particular output type.
This commit prepares the ground for firmware "unpatching" (aka OF extraction
from patched OF). The patching code itself did not change so this commit
should still produce the exact same images as before.

Change-Id: I3840793d4b78b8435e38c08f558840925085ead1
2017-01-02 21:43:10 +01:00
android Don't require a specific BUILD_TOOLS_VERSION. 2014-09-25 00:26:25 +02:00
apps Fixes and re-sync for puzzles 2017-01-01 15:00:09 -05:00
backdrops Add Cabbiev2 port for 128x96x16 targets (Samsung YH-820), made by me. 2014-03-27 19:50:48 +00:00
bootloader bootloader/common: disable unused broken code 2016-05-25 10:52:19 +02:00
debian Prepare new maemo release 2013-03-10 12:12:38 +01:00
docs Port of Simon Tatham's Puzzle Collection 2016-12-18 18:13:22 +01:00
firmware zenxfistyle: enable dualboot stub api 2016-12-19 18:32:51 +01: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 wpsbuild: Rewrite to fix various issues and support .fms 2012-06-10 21:20:36 +02:00
lib unwinder: in get__sp(), use the more correct "msr cpsr_c, ..." form 2016-12-12 13:15:47 +01:00
manual Port of Simon Tatham's Puzzle Collection 2016-12-18 18:13:22 +01:00
packaging Prepare unofficial pandora release 2013-03-10 14:09:30 +01:00
rbutil imxtools: completely rework patching logic to prepare unpatching 2017-01-02 21:43:10 +01:00
tools rockoxdev.sh: fix compilation of ARM toolchain 2016-12-04 15:11:58 +01:00
uisimulator zenxfi3: fix recording keymap and simulator keymap 2016-09-21 00:29:42 +01:00
utils imxtools: fix bug aes128 (did not update cbc-macp) 2017-01-01 19:52:00 +01:00
wps lcd-24bit: Introduce a 24-bit mid-level LCD driver 2014-06-21 00:15:53 +02:00
.gitattributes Add a gitattributes file for the migration. 2011-12-01 14:14:59 +00:00
.gitignore Add buflib tests to .gitignore 2015-01-03 18:21:59 +01: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 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!