Raspberry Pi Cross-Compiler in a Docker Container
An easy-to-use all-in-one cross compiler for the Raspberry Pi.
Please raise any issues on the GitHub issue tracker as I don't get notified about Docker Hub comments.
- The gcc-linaro-arm-linux-gnueabihf-raspbian-x64 toolchain from raspberrypi/tools
- Raspbian sysroot from sdhibit/docker-rpi-raspbian :new:
- Easy installation of raspbian packages into the sysroot using the customised qemu arm emulator from resin-io-projects/armv7hf-debian-qemu :new:
- Easy-to-use front end wrapper program
This image is not intended to be run manually. Instead, there is a helper script which comes bundled with the image.
To install the helper script, run the image with no arguments, and redirect the output to a file.
docker run sdthirlwall/raspberry-pi-cross-compiler > ~/bin/rpxc chmod +x ~/bin/rpxc
rpxc [command] [args...]
Execute the given command-line inside the container.
If the command matches one of the rpxc built-in commands (see below), that will be executed locally, otherwise the command is executed inside the container.
rpxc -- [command] [args...]
To force a command to run inside the container (in case of a name clash with a built-in command), use
-- before the command.
rpxc install-debian [--update] package packages...
Install native packages into the docker image. Changes are committed back to the sdthirlwall/raspberry-pi-cross-compiler image.
rpxc install-raspbian [--update] package packages...
Install raspbian packages from the raspbian repositories into the sysroot of thedocker image. Changes are committed back to the sdthirlwall/raspberry-pi-cross-compiler image.
Pull the latest version of the docker image.
If a new docker image is available, any extra packages installed with
install-raspbian will be lost.
Update the installed rpxc script with the one bundled in the image.
Update both the docker image and the rpxc script.
The following command-line options and environment variables are used. In all cases, the command-line option overrides the environment variable.
RPXC_CONFIG / --config <path-to-config-file>
This file is sourced if it exists.
RPXC_IMAGE / --image <docker-image-name>
The docker image to run.
RPXC_ARGS / --args <docker-run-args>
Extra arguments to pass to the
docker run command.
rpxc install-debian and
rpxc install-raspbian are really only intended for getting a build environment together. Once you've figured out which debian and raspbian packages you need, it's better to create a custom downstream image that has all your tools and development packages built in.
Create a Dockerfile
FROM sdthirlwall/raspberry-pi-cross-compiler # Install some native build-time tools RUN install-debian scons # Install raspbian development libraries RUN install-raspbian libboost-dev-all
Name your image with an RPXC_IMAGE variable and build the image
export RPXC_IMAGE=my-custom-rpxc-image docker build -t $RPXC_IMAGE .
With RPXC_IMAGE set, rpxc will automatically use your new image.
# These are typical cross-compilation flags to pass to configure. # Note the use of single quotes in the shell command-line. We want the # variables to be interpolated in the container, not in the host system. rpxc sh -c 'CFLAGS=--sysroot=$SYSROOT ./configure --host=$HOST' rpxc make
Another way to achieve this is to create a shell script.
#!/bin/sh CFLAGS=--sysroot=$SYSROOT ./configure --host=$HOST make
And call it as
See the examples directory for some real examples.
I genuinely enjoyed reading it, you're a great author.I will ensure that I bookmark your blog and definitely will come back later on. I want to encourage yourself to continue your great job, have a nice morning.
Template Blog Seo Friendly
Cara MenggantiTemplate Blog
Marimas Bikin Adem, Tidak Bikin Batuk
Jobsmart.co.id : Situs Informasi Lowongan Kerja Terbaru di Indonesia
Cara Membuat Blog Gratis
Daftar Kontes Seo Terbaru 2017
Cara Mengganti dan Menginstall Template WordPress
Cara Membuat Posting Artikel Pertama di Blog WordPress
Cara Setting Website Gratis di WordPress
cara membuat website gratis diWordPress
Cara Membuat Website Gratis | Tutorial Blog | SEO Wordpress
Note: Your examples directory link is broken.