dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Wiki > Main > CygwinDevelopment (compare)

Difference: CygwinDevelopment (r42 vs. r41)

Setting up a cygwin Rockbox development environment

LinusNielsenFeltzing has created precompiled Cygwin packages for the SH-1, 68K/Coldfire and ARM cross GCC tools.


New and inexperienced users may find the brief outline on this page insufficient to get up and running. If so, try the CygwinInstallWithScreenShots page

Step 1: Download the cygwin installer

Go to the cygwin home page, and download setup.exe from there ("Install or update now!").

Step 2: Install the base development environment

Run the setup.exe you just downloaded. If you are unsure about the questions asked by the installer, just choose the default, until you get to package selection. That bit is important.

Step 2.1: Package selection.

When you are asked to select the packages to install, select the following : (Make sure you leave the selection for "Base" untouched)

  • Archive - zip
  • Archive - unzip
  • Devel - binutils
  • Devel - gcc
  • Devel - gcc-g++
  • Devel - gcc-mingw-core
  • Devel - gdb (if you want to debug simulator code)
  • Devel - libiconv
  • Devel - make
  • Devel - mingw-runtime
  • Devel - patchutils
  • Devel - subversion
  • Editors - nano (to change the cross compiler path)
  • Interpreters - perl
  • Net - Curl
  • Text - tetex-base (if you want to build the manual)
  • Text - tetex-extra (if you want to build the manual)
  • X11 - libfreetype-devel (if you want to convert ttf to anti-aliased fonts)
  • X11 - libfreetype6 (if you want to convert ttf to anti-aliased fonts)

Step 3: Select the Rockbox mirror site and install

Start the Setup program again. When the installer prompts you for a mirror site URL, enter in the "User URL" field and click "Add".

In case you encounter an error regarding missing .sig file, supply the -X (--no-verify) command-line flag when using Cygwin's setup.exe. This can be added into the command-line invocation in a Windows shortcut, for convenience.

Select the packages you need. We suggest you select all of them, since you will be needing them when test compiling your code for all Rockbox targets. They should be listed as follows:

  • Devel - sdl (for the uisimulator)
  • Devel - sh-elf-binutils
  • Devel - sh-elf-gcc

Most new developers will want to compile for ARM. Unfortunately, we do NOT provide prebuilt ARM or Coldfire compiler binaries suitable for building rockbox, and attempting to use the ones in the installer will most likely fail.

If you want to build for an ARM or Coldfire target, you can skip the rest of this guide and follow the instructions here to build the latest compiler: CrossCompiler

Step 4: Add the cross-compiler directory to your path

To successfully compile Rockbox, the cross compiler directory has to be in your path. This is automatically done by the installation script, but if that fails for some reason, there are a couple ways of doing so, here's one:

Edit using nano or vi (not Notepad or Wordpad in Windows) /etc/profile and add ":/opt/sh/bin:/opt/m68k/bin:/opt/arm/bin" (without the quotation marks) to the end of the line that says:


so that it reads:


Save the changes, exit cygwin and restart cygwin.

An alternative way is to temporarily tell the compiler to accept commands from your build directory (where you wish to build rockbox). This can be done by typing the following into cygwin, after navigating to your build directory

export PATH=/usr/local/arm-elf/bin:$PATH

Note that you have to type this in everytime you wish to compile rockbox.

Done. Happy hacking!

Step 5: Add inputenx to your teTeX installation

To be able to build the manual you will need to manually install inputenx (required since r27481). Please download inputenx.dtx and follow the instructions below:

1) Unpacking. The .dtx file is a self-extracting docstrip archive. The fi les are extracted by running the .dtx through plain TEX:

tex inputenx.dtx

2) If your TEX Copy all extracted distribution (teTEX, mikTEX, . . . ) relies on file name databases, you to the path must refresh these. For example, teTEX users run


3) If your TEX distribution (teTEX, mikTEX, . . . ) relies on file name databases, you must refresh these. For example, teTEX users run




Step 6: Update SDL on your cygwin installation

You might need to update SDL, if the rockbox simulation does not compile (e.g. missing SDL_stdinc.h).

1) Download the current SDL package SDL-1.2.14 (or newer).

2) Uncompress the package to a local path, enter this path, compile and install it:

./configure && make && make install

Related links

For further instructions about compiling rockbox with Cygwin, see the SimpleGuideToCompiling page.

r43 - 30 Jan 2012 - 18:12:38 - BorisGjenero

Revision r42 - 28 May 2011 - 17:37 - AndreeBuschmann
Revision r41 - 28 May 2011 - 11:43 - AndreeBuschmann
Copyright by the contributing authors.