sui generis, linux, python, devops, robotics, polyamory, data custodian

Cross Platform ODROID ARM Docker quemu CI/CD Pipeline

2016-01-17 devops ubergarm
Want to develop, build, test, and deploy consistent code across multiple platforms and even architectures? Maybe work on your Raspberry Pi or ODROID code from your laptop, push a Docker image, then pull the exact same code onto your target hardware device? Maybe even automate all these steps using Continious Integration?! Yeah why not! :) Background I first tried this on Circle CI but ran into some hiccups with with binfmt_misc not being quite full acessible on their build machines. Continue reading

Cross Platform ARM w/ Docker and quemu

2015-12-12 devops ubergarm
The goal is to automate building armhf (armv7) compatible Docker images. These images can be used for dev, build, test, and deploy to ensure a consistent user experience. The most common development, cloud, and build machines currently run x86-64 architecture hardware. This complicates working on software targeted at embedded arm platforms. With modern kernels that support binfmt misc and the right combination of qemu-XXX-static binary one can run arbitrary format Docker images on arbitrary host hardware. Continue reading

Cross Platform ODROID ARM Docker quemu

2015-12-12 devops ubergarm
Overview In this post I document how to boot an ODROID ARM image from a x86 machine running qemu-system-arm from inside a Docker container. After this experience, I’m leaning towards a solution that uses binfmt_misc on the host and qemu-arm-static to run ARM docker images as opposed to emulating a whole specific system. Check out docker-arm-circleci UPDATE: I just put together an updated system based on the binfmt_misc solution. Check it out here: ubergarm/qemu Continue reading