Giter Club home page Giter Club logo

docker-modm-build's Introduction

docker-modm-build

Docker containers for building modm for different architectures:

  • ARM Cortex-M (STM32, SAMD, ...): docker pull ghcr.io/modm-ext/modm-build-cortex-m:latest
  • Atmel/Microchip AVR: docker pull ghcr.io/modm-ext/modm-build-avr:latest
  • RISC-V: docker pull ghcr.io/modm-ext/modm-build-risc-v:latest
  • Hosted (Linux): docker pull ghcr.io/modm-ext/modm-build-base:latest
  • ARM Cortex-M with OpenOCD: docker pull ghcr.io/modm-ext/modm-build-cortex-m-openocd:latest

Image modm-ext/modm-build-cortex-m-openocd with OpenOCD

You can program ARM Cortex-M (STM32, SAMD, ...) targets using the cortex-m-openocd.Dockerfile image like this:

docker run -it --rm -v $PWD:$PWD --user $(id -u $USER) -e DIR=$PWD --device=/dev/bus/usb/003/007:/dev/bus/usb/003/007 ghcr.io/modm-ext/modm-build-cortex-m-openocd:latest /bin/bash -c 'cd $DIR && ls && scons program'

Where $PWD is your modm project directory and /dev/bus/usb/003/007:/dev/bus/usb/003/007 is the device, where your programmer is located (for example ST-LINK/V2.1).

Build images

make all -j4

# Push to ghcr.io
make push

docker-modm-build's People

Contributors

chris-durand avatar kikass13 avatar rleh avatar salkinium avatar strongly-typed avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

docker-modm-build's Issues

lbuild is outdated in image at 1.1.0. modm requires 1.4.0

I am using the latest image

$ docker pull modm/modm-build:latest
latest: Pulling from modm/modm-build
Digest: sha256:7991e4510460b7e1b62779cc3f4cef37b1ba482c26dbd98e4dd53b59f2cc8450
Status: Image is up to date for modm/modm-build:latest
$ docker run -it --rm modm/modm-build:latest /bin/bash
# lbuild --version
lbuild 1.1.0
root@b388c7a65654:/build/src# lbuild build
/usr/local/lib/python3.6/dist-packages/lbuild/config.py:138: FutureWarning: The behavior of this method will change in future versions. Use specific 'len(elem)' or 'elem is not None' test instead.
  if cache_node:
modm requires at least lbuild v1.4.0, please upgrade!
    pip install -U lbuild

When this is fixed no manual update / installation of lbuild is necessary in the CI/CD

pip3 install -U lbuild

is necessary.

Missing Scons Installation

Scons is missing in the latest docker-image.

You might want to add scons or scons3 in the Dockerfile to the package list.

From an internal CI run:

$ scons --version
SCons import failed. Unable to find engine files in:
  /usr/local/lib/python3.6/dist-packages/scons-3.0.1
  /usr/local/lib/python2.7/dist-packages/scons-3.0.4
  /usr/local/lib/scons-3.0.4
  /usr/lib/scons-3.0.4
  /usr/local/lib/scons-3.0.4
  /usr/local/lib/python2.7/site-packages/scons-3.0.4
  /usr/local/lib/python2.7/site-packages/scons-3.0.4
  /usr/lib/scons-3.0.4
  /usr/local/lib/python2.7/dist-packages/scons
  /usr/local/lib/scons
  /usr/lib/scons
  /usr/local/lib/scons
  /usr/local/lib/python2.7/site-packages/scons
  /usr/local/lib/python2.7/site-packages/scons
  /usr/lib/scons
Traceback (most recent call last):
  File "/usr/local/bin/scons", line 195, in <module>
    import SCons.Script
ImportError: No module named SCons.Script
ERROR: Job failed: exit code 1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.