Commit f0d94559 authored by Kai's avatar Kai Committed by Rahix

feat(build): Add a Dockerfile for firmware building

Original work from @sistason in MR !121, rebased
on latest master.

Commit 1ea42e8e
Author: Kai <sistason@sistason.de>
Date:   Mon Aug 19 21:58:11 2019 +0200

    Adds Docker for firmware-building

    This commit adds a Dockerfile to build a docker
    container to build the firmware with.  It also
    updates the documentation on how to do that.
parent d03f0a85
......@@ -183,3 +183,25 @@ Otherwise, rerunning ``./bootstrap.sh`` will also clean the build-directory.
(it's supposed to create a large file with 0xff in it) - this requires the
LC_ALL environment variable to be not set, or set to "C"
(but not UTF8 or similar).
Docker
======
Alternatively, clone the ``master`` branch of the firmware repository and enter it:
.. code-block:: shell-session
$ git clone https://git.card10.badge.events.ccc.de/card10/firmware.git
$ cd firmware
Afterwards, build a docker-container which will build the firmware via:
.. code-block:: shell-session
$ docker build -f docker/Dockerfile_fwbuild -t card10-firmware-builder .
Now, you can start the container with the firmware directory mounted, which will build the
firmware into the firmware/build directory:
.. code-block:: shell-session
$ docker run -v $(pwd):/firmware card10-firmware-builder
FROM ubuntu
RUN apt-get update && apt-get -y install gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi python3 python3-pip ninja-build git
RUN pip3 install meson crc16 pillow
VOLUME /firmware
WORKDIR /firmware
CMD ./bootstrap.sh && ninja -C build && chown -R --reference=/firmware build
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment