Skip to content
This repository has been archived by the owner on Sep 10, 2023. It is now read-only.
/ docker-rpi2xc Public archive

Docker container to cross-compile for the rpi2

Notifications You must be signed in to change notification settings

danielfrg/docker-rpi2xc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Docker container to cross-compile for the raspberry pi 2

docker pull danielfrg/rpi2xc

Example

Inside the workspace directory create hello.c:

#include <stdio.h>

int main() {
    printf("Hello, world!\n");
    return 0;
}

Run (replacing the volume parameter to a valid location on your computer)

docker run -v /Users/drodriguez/code/raspberrypi/rpi2xc/workspace:/workspace rpi2xc arm-linux-gnueabihf-gcc -o hello hello.c
```

And it will create a `hello` binary, if you execute it locally it will not work so move it to the pi with `scp workspace/hello pi@raspberry:.` and run it from there:

```
pi@raspberrypi ~ $ ./hello
Hello, world!
```

## Advanced

For more advanced stuff you might need to get the `/lib` and `/usr` from your raspberry pi.

Start up the pi and run in your laptop (where `raspberry` is the ip of the raspberry pi):

1. `rsync -rl --delete-after --safe-links pi@raspberry:/usr ./rootfs`
2. `rsync -rl --delete-after --safe-links pi@raspberry:/lib ./rootfs`
3. `rsync -rl --delete-after --safe-links pi@raspberry:/opt/vc ./rootfs/opt`

Share it to the container by adding
```
-v /Users/drodriguez/code/raspberrypi/rpi2xc/rootfs:/rootfs
```

## cmake

A `CMAKE_TOOLCHAIN_FILE` is provided at `/root/pi.cmake`:

```
git clone https://github.com/jameskbride/cmake-hello-world.git 
```

```
cd cmake-hello-world
mkdir build
cd build
cmake -D CMAKE_TOOLCHAIN_FILE=/root/pi.cmake ../
make
```

```
scp CMakeHelloWorld pi@raspberry:.
ssh pi@raspberry ./CMakeHelloWorld
```

## Building

`docker build -t rpi2xc .`

About

Docker container to cross-compile for the rpi2

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages