Uniform Development by Docker & QEMU
Uniform Development by Docker & QEMU

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications.

QEMU is a generic and open source machine emulator and virtualizer.

Combine Docker and QEMU to run Raspbian on X86 or AMD64 platform, and build Docker image include your program that can run on RPi (ARMv6) and RPi 2 (ARMv7).

Step 1: Install Docker & QEMU on Linux

I use Ubuntu to demo this project.

Install Docker on Ubuntu:

curl -sSL https://get.docker.com/ubuntu/ | sudo sh

Insatll QEMU on Ubuntu:

sudo apt-get install qemu-user-static

Step 2: Run Raspbian on X86

Uniform Development by Docker & QEMU

Pull RPi Raspbian image of Docker

sudo docker pull philipz/rpi-raspbian:latest

sudo docker run -it --rm -v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static philipz/rpi-raspbian bash

Step 3: Write once, Run anywhere

Uniform Development by Docker & QEMU
Uniform Development by Docker & QEMU
Uniform Development by Docker & QEMU

Dockerizing any program of linux system, it can run anywhere.

In Arch Linux on RPi install Docker.

pacman -S docker

Build Docker images of your program. This is the "Hello World" example of Mono application, first run on RPi (ARMv6). Then it run on RPi 2 (ARMv7), also run on X86 finally.

So we could portable program on RPi, RPi 2, and PC by Docker.

Step 4: Example - Run RPi XRDP Application on X86

Uniform Development by Docker & QEMU
Uniform Development by Docker & QEMU

The other example is XRDP (Remote Desktop) of RPi.

sudo docker run -it --rm -p 3389:3389 -v /usr/bin/qemu-arm-static:/usr/bin/qemu-arm-static philipz/raspbian-xfce:latest bash

Then open Remote Desktop Client to connect the XRDP of RPi on X86.

Cheers...

 
 

Tag cloud

make build easy simple arduino making homemade solar laser printed portable cheap mini building custom cardboard wooden create super lego turn paracord chocolate your paper light intel