diff --git a/DOCKER_LICENSE b/DOCKER_LICENSE new file mode 100644 index 0000000..8ca52e7 --- /dev/null +++ b/DOCKER_LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 Ryan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/DOCKER_README.md b/DOCKER_README.md new file mode 100644 index 0000000..d3d8310 --- /dev/null +++ b/DOCKER_README.md @@ -0,0 +1,14 @@ +# Arm Embedded Docker Environment +Minimal docker environment for building arm-embedded projects + +## Usage +Run interactively with ```docker run -it --rm -v `pwd`:/root ryankurte/docker-arm-embedded /bin/bash```. +This will create a temporal instance (changes will be dropped on exit) with a binding from the current directory to the root user home directory. + +## Includes: + - build-essential (native) + - make, cmake + - gawk, genromfs, ccache + - arm-none-eabi from [launchpad.net](https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded) + - [Yotta](http://yotta.mbed.com/) + \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..717312d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,62 @@ +FROM ubuntu:latest +MAINTAINER Ryan Kurte +LABEL Description="Docker image for building arm-embedded projects" + +# General dependencies +RUN apt-get update && apt-get install -y \ + git \ + subversion \ + curl \ + cmake \ + make \ + automake \ + autoconf \ + python-setuptools \ + ninja-build \ + python-dev \ + libtool \ + unzip \ + libffi-dev \ + libssl-dev \ + libusb-1.0.0 \ + libusb-1.0.0-dev \ + software-properties-common \ + python-software-properties \ + gawk \ + genromfs \ + ccache \ + clang \ + build-essential \ + python3 \ + python3-dev \ + python3-pip \ + libprotobuf-dev \ + protobuf-compiler \ + libprotobuf-c-dev \ + protobuf-c-compiler \ + python-protobuf + +# arm-none-eabi custom ppa +RUN add-apt-repository ppa:team-gcc-arm-embedded/ppa && \ + apt-get update && \ + apt-get install -y gcc-arm-embedded + +# Yotta +RUN easy_install pip && \ + pip install yotta && \ + mkdir -p /usr/local/lib/yotta_modules \ + chown $USER /usr/local/lib/yotta_modules \ + chmod 755 /usr/local/lib/yotta_modules + +# Pyserial for serial programming +RUN pip install pyserial + +# STLink util +RUN git clone https://github.com/texane/stlink.git && \ + cd stlink && mkdir build && cd build && \ + cmake .. && make && make install + +# Cleanup +RUN apt-get clean && \ + rm -rf /var/lib/apt +