Till KTH:s startsida Till KTH:s startsida

Cross-compiling on an Ubuntu machine for the Raspberry Pi

This page describes how you can cross compile for the Raspberry Pi on a Ubuntu machine. Most of it is taken from

http://stackoverflow.com/questions/19162072/installing-raspberry-pi-cross-compiler

sudo apt-get install git rsync cmake libc6-i386 lib32z1 lib32stdc++6
mkdir ~/raspberrypi
cd ~/raspberrypi
git clone git://github.com/raspberrypi/tools.git
mkdir ~/raspberrypi/rootfs
rsync -rl --delete-after --safe-links pi@192.168.1.PI:/{lib,usr} $HOME/raspberrypi/rootfs

where 192.168.X.Y should be replaced with the IP address of your Pi.

You need about 2.8GB for all the files and some time for downloading it all.


Add 

export PATH=$PATH:$HOME/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin
at the end of the file ~/.bashrc. You can edit the file with 
gedit ~/.bashrc

Log out and log in again
gedit ~/raspberrypi/pi.cmake

Add this to the file

SET(CMAKE_SYSTEM_NAME Linux)
SET(CMAKE_SYSTEM_VERSION 1)
SET(CMAKE_C_COMPILER $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-gcc)
SET(CMAKE_CXX_COMPILER $ENV{HOME}/raspberrypi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf-g++)
SET(CMAKE_FIND_ROOT_PATH $ENV{HOME}/raspberrypi/rootfs)
SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

Now we test it

cd ~/
git clone https
://github.com/jameskbride/cmake-hello-world.git cd cmake-hello-world mkdir build cd build cmake -D CMAKE_TOOLCHAIN_FILE=$HOME/raspberrypi/pi.cmake ../ make scp CMakeHelloWorld pi@192.168.X.Y:/home/pi/ ssh pi@192.168.X.Y ./CMakeHelloWorld

where again 192.168.X.Y should be replaced with the IP address of your Pi.

Lärare Patric Jensfelt skapade sidan 30 september 2014

Lärare Patric Jensfelt ändrade rättigheterna 30 september 2014

Kan därmed läsas av alla och ändras av lärare.