---+!! First Time Guide to Rockbox Development %TOC% <br /> Welcome to our humble project. In order to get your hands dirty as quickly and smoothly as possible, here follows our suggested approach! --- ---++ Join the Rockbox Community *Mail*: We have a very active <a href ="/mail">developers mailing list</a> no serious Rockbox freak can live without. *IRC*: There's always a bunch of friendly and helpful people around in the <a href="/irc/">IRC channel</a>. *Forum*: Most users will show up and discuss issues in the <a href="http://forums.rockbox.org/">Rockbox web forum</a> --- ---++ Set Up Your Environment You need suitable build tools before you can setup the compiler. Pick one of these: ---+++ Windows Development on Windows is also supported using VMs or unix compatibility layers. ---++++ Virtual Machine (Strongly Recommended) You can download a full Ubuntu desktop image here for use with the open source virtual machine Virtual box: [[http://web.mit.edu/mgg6/www/rockbox_virtualbox.7z][Ubuntu VM (405MB)]] (username/password): ubuntu/reverse You can download virtualbox [[https://www.virtualbox.org/wiki/Downloads][here]]. This will give you a complete linux desktop running within Windows with the ARM and simulator compilers already configured and git installed. By default the image is configured for 4 processors, and to pass sound and USB devices through. This should allow audio playback in the uisimulator, and directly copying compiled rockbox builds to a player over USB. If you have a different number of processors, you may wish to allocate fewer or more in the Virtualbox settings. ---++++ Unix Layers for Windows You can also use Cygwin or Interix to run the development tools directly in Windows. Unfortunately this approach is quite slow, more difficult to setup and not recommended for most users. See: [[CygwinDevelopment][Set up a Cygwin development environment]] OR [[InterixDevelopment][set up a Interix development environment]]. ---++++ Linux Boot CD [[CoLinuxDevelopmentPlatform][set up a coLinux development environment]] ---+++ Linux, Mac OS X, or any Unix-like OS These platforms can build rockbox natively. --- ---++ Get The Source Get a fresh source to build Rockbox from. We usually recommend you get the sources fresh from the Git repo ([[UsingGit][How to use Git]]). --- ---++ Build the cross compiler Rockbox requires a specific version of gcc compiled with various options in order to cross compile for each device. Fortunately, Git contains a simple script that will build gcc with the correct options for most platforms. ---+++ Virtual Box Our Virtual Box image already includes the most common compilers, but if you want to build them you can use the Linux directions below. ---+++ Linux, Mac OS X [[CrossCompiler][Building the cross compiler]], or alternatively [[LinuxSimpleGuideToCompiling][Beginners Version]]. This describes using the automatic tool to setup gcc and is fairly simple. ---+++ Unix Layers in Windows See: [[CygwinDevelopment][Set up a Cygwin development environment]] OR [[InterixDevelopment][set up a Interix development environment]]. --- ---++ Build Rockbox Build rockbox using your acquired sources! If you're using Linux or the suggested cygwin approach, read [[HowToCompile][How to compile Rockbox]]. Also note that we have put a whole lot of effort in writing simulators so that you can build, run and try code on your host PC before you build and download your target version. This of course requires a working compiler for your native system. --- ---++ Change Rockbox Before you change any code, make sure to read the <a href="http://git.rockbox.org/?p=rockbox.git;a=blob;f=docs/CONTRIBUTING">contributing</a> information if you want to have any hope of having your changes accepted. Now, you fixed any bugs? You added any features? Then read appropriate section of [[UsingGit][UsingGit]] how to upload your change for review. Of course, you can also check the <a href="http://www.rockbox.org/tracker/index.php?type=2">open bug reports</a> and jump in and fix one of them (or possibly <a href="http://www.rockbox.org/tracker/?do=newtask&project=1">submit a new bug report</a>). ContributingToRockbox and [[http://forums.rockbox.org/index.php?board=49.0][Feature Ideas]] section of the Rockbox Technical Forum may also be a source of inspiration for those unsure of where to begin. You may also see existing code in the form of a patch. We mostly use gerrit now instead of patches, but not always. See [[WorkingWithPatches][working with patches]]. ---
r38 - 10 Oct 2013 - 19:51:09 -
Copyright © by the contributing authors.