blob: 334948f224a054a96b5346166d44a246013150c4 [file] [log] [blame]
Robert Hak40bafc52002-08-21 10:19:23 +00001 __________ __ ___.
2 Open \______ \ ____ ____ | | _\_ |__ _______ ___
3 Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
4 Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
5 Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
6 \/ \/ \/ \/ \/
7
Daniel Stenberge083a1d2003-02-20 21:01:57 +00008Build Your Own Rockbox
Robert Hak40bafc52002-08-21 10:19:23 +00009
Björn Stenberg4b392cd2003-07-10 11:52:42 +0000101. Check out 'rockbox' from CVS (or extract a downloaded archive). You
11 want to check out 'rockbox-devel' instead if you want the simulator
12 code too (for trying out things on host before making target tests).
Robert Hak40bafc52002-08-21 10:19:23 +000013
Björn Stenberg4b392cd2003-07-10 11:52:42 +000014 (For more information about the simulator, read UISIMULATOR.)
Robert Hak5f84df92002-08-21 10:22:49 +000015
Björn Stenbergd4c1fc62004-11-11 09:36:41 +000016 $ cvs -d:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox login
17 $ cvs -z3 -d:pserver:anonymous@www.rockbox.org:/cvsroot/rockbox co rockbox
Robert Hak40bafc52002-08-21 10:19:23 +000018
Björn Stenberg4b392cd2003-07-10 11:52:42 +000019 or
20
21 $ tar xzf rockbox.tar.gz
22
232. Create a build directory, preferably in the same directory as the firmware/
24 and apps/ directories. This is where all generated files will be written.
25
26 $ cd rockbox
27 $ mkdir build
28 $ cd build
Robert Hak40bafc52002-08-21 10:19:23 +000029
304. In your build directory, run the 'tools/configure' script and enter what
Daniel Stenberge083a1d2003-02-20 21:01:57 +000031 target you want to build for and if you want a debug version or not (and a
32 few more questions). It'll prompt you. The debug version is for making a
33 gdb version out of it. It is only useful if you run gdb towards your target
34 Archos.
Robert Hak40bafc52002-08-21 10:19:23 +000035
Björn Stenberg4b392cd2003-07-10 11:52:42 +000036 $ ../tools/configure
37
Daniel Stenberge083a1d2003-02-20 21:01:57 +0000385. *ploink*. Now you have got a Makefile generated for you.
Robert Hak40bafc52002-08-21 10:19:23 +000039
Daniel Stenberg5059ce52002-11-29 10:21:55 +0000406. Make sure you have sh-elf-gcc and siblings in the PATH. Make sure that you
41 have 'perl' in your PATH too.
Robert Hak40bafc52002-08-21 10:19:23 +000042
Björn Stenberg4b392cd2003-07-10 11:52:42 +000043 $ which sh-elf-gcc
44 $ which perl
45
Daniel Stenberg5059ce52002-11-29 10:21:55 +0000467. Run 'make' and soon the necessary pieces from the firmware and the apps
47 directories have been compiled, linked and scrambled for you.
48
Björn Stenberg4b392cd2003-07-10 11:52:42 +000049 $ make
50
Daniel Stenberge083a1d2003-02-20 21:01:57 +0000518. Copy the archos.mod or ajbrec.ajz file to your archos, reboot it and
52 *smile*. Recent Rockbox versions need no reboots, just PLAY a new rockbox
53 version and that'll be loaded and replace the currently running version.
Robert Hak40bafc52002-08-21 10:19:23 +000054
Björn Stenberg4b392cd2003-07-10 11:52:42 +000055 $ mount /dev/sda1 /mnt/archos
56 $ cp ajbrec.ajz /mnt/archos
57 $ umount /mnt/archos
58
Robert Hak40bafc52002-08-21 10:19:23 +000059Whenever the tools/configure script gets updated, you can make your makefile
Björn Stenberg4b392cd2003-07-10 11:52:42 +000060updated too by running 'tools/configure update'.
Robert Hak40bafc52002-08-21 10:19:23 +000061
Björn Stenberg4b392cd2003-07-10 11:52:42 +000062If you want to build for more than one target, just create several build
63directories and create a setup for each target:
Robert Hak40bafc52002-08-21 10:19:23 +000064
Björn Stenberg4b392cd2003-07-10 11:52:42 +000065 $ mkdir build-fmrecorder
66 $ cd build-fmrecorder
67 $ ../tools/configure
68
69 $ mkdir build-player
70 $ cd build-player
71 $ ../tools/configure
72
73Questions anyone? Ask on the mailing list. We'll be happy to help you!