2014-06-18 22:31:40 +00:00
|
|
|
# initialize from the image
|
|
|
|
|
|
|
|
FROM ubuntu:14.04
|
|
|
|
|
|
|
|
# add and update package repositories
|
|
|
|
|
2014-06-25 12:25:30 +00:00
|
|
|
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FE324A81C208C89497EFC6246D1D8367A3421AFB && echo "deb http://ppa.launchpad.net/terry.guo/gcc-arm-embedded/ubuntu trusty main" >> /etc/apt/sources.list && apt-get update
|
2014-06-18 22:31:40 +00:00
|
|
|
|
2014-06-22 22:37:24 +00:00
|
|
|
# define used versions for pinning
|
|
|
|
|
2014-07-01 19:42:00 +00:00
|
|
|
ENV GCC_ARM_VERSION 4-8-2014q2-0trusty10
|
|
|
|
ENV LIBOPENCM3_GITREV f6b6d62ec5628ebb0602c466ee9fd7a6070ef1f0
|
|
|
|
ENV TREZOR_MCU_GITREV v1.2.0
|
2014-06-22 22:37:24 +00:00
|
|
|
|
2014-06-18 22:31:40 +00:00
|
|
|
# install build tools and dependencies
|
|
|
|
|
2014-06-22 22:37:24 +00:00
|
|
|
RUN apt-get install -y build-essential git gcc-arm-none-eabi=$GCC_ARM_VERSION python
|
2014-06-18 22:31:40 +00:00
|
|
|
|
|
|
|
# clone the source code
|
|
|
|
|
2014-06-22 22:37:24 +00:00
|
|
|
RUN git clone https://github.com/libopencm3/libopencm3 && git clone https://github.com/trezor/trezor-mcu
|
2014-06-18 22:31:40 +00:00
|
|
|
|
|
|
|
# build libopencm3
|
|
|
|
|
2014-06-22 22:37:24 +00:00
|
|
|
RUN cd libopencm3 && git checkout $LIBOPENCM3_GITREV && make
|
2014-06-18 22:31:40 +00:00
|
|
|
|
|
|
|
# build the firmware
|
|
|
|
|
2014-06-22 22:37:24 +00:00
|
|
|
RUN cd trezor-mcu && git checkout $TREZOR_MCU_GITREV && git submodule update --init && make && cd firmware && make
|