-
Notifications
You must be signed in to change notification settings - Fork 178
Getting Started
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.
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.
wget https://sourcery.mentor.com/GNUToolchain/package4571/public/arm-none-linux-gnueabi/arm-2009q1-203-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 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
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://github.com/mindboards/ev3sources.git ~/projects
cd ~/projects/lms2012/open_first
make
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).
Tips:
- 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.