Getting Started

codeZeilen edited this page Dec 3, 2013 · 9 revisions

Get Linux

These instructions are for a Debian based Linux distro. If you are on another OS, you can run Linux in an virtual environment such as VirtualBox.

Install the required tools

To get started with the EV3 source code, you will need the following prerequisites:

  • git: Version control system required to download code repository from GitHub.

    sudo apt-get install git
  • Code Sourcery Lite for ARM version 2009q1-203: Toolchain used to cross-compile the code for the ARM processor. Again, there are some places the location for this is hard coded, so don't install it anywhere else.

    mkdir -p ~/CodeSourcery/Sourcery_G++_Lite
    tar -C ~/CodeSourcery/Sourcery_G++_Lite --strip-components=1 -xjf arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
  • mkimage: Required to compile kernel.

    sudo apt-get install u-boot-tools
  • convert: Required to compile lms2012.

    sudo apt-get install imagemagick
  • doxygen: Required to build the documentation (see tips below).

    sudo apt-get install doxygen

Get the code

Some of the scripts in the source code expect the source tree to be in ~/projects, so don't put it anywhere else.

git clone git:// ~/projects

Build the code

cd ~/projects/lms2012/open_first

This will show you a list of what can be built. It should look something like this:

Execute "make TARGET" where TARGET is:
 lms2012: to build the lms2012 program and its libraries
 modules: to build lms2012 kernel modules
 programs: to build bytecode programs and their data files
 kernel: to build Linux kernel
 u-boot: to build u-Boot
 doc: to build documentation
 clean: to clean everything

Add the ARCH=X86 argument to run for X86 platform (some targets
are then meaningless).


  • Run make doc.view to build the docs and open them in a web browser. It has lots of useful information about the EV3 - you will definitely want to have a look!
  • You can run make TARGET.clean to clean an individual target.
  • In case you run in any problem that during the build process arm-none-linux-gnueabi-* files can't be found, link them to /usr/bin.