rust-raspberrypi-OS-tutorials/docker/rustembedded-osdev-utils/Dockerfile
Andre Richter 812ba841f3
Revert to Ubuntu 19.10
20.04 comes with Ruby 2.7, which emits some annoying deprecation warnigs that
can't be silenced even when using the RUBYOPT variables suggested for doing so.

Work around that for now by reverting to Ubuntu 19.10 which still uses 2.5 and
does not have this bug.
2020-05-31 12:53:27 +02:00

84 lines
3.5 KiB
Docker

## SPDX-License-Identifier: MIT OR Apache-2.0
##
## Copyright (c) 2017-2020 Andre Richter <andre.o.richter@gmail.com>
## Copyright (c) 2019-2020 Nao Taco <naotaco@gmail.com>
FROM ubuntu:19.10
ARG VCS_REF
LABEL org.label-schema.vcs-ref=$VCS_REF \
org.label-schema.vcs-url="https://github.com/rust-embedded/rust-raspberrypi-OS-tutorials"
LABEL maintainer="The resources team <resources@teams.rust-embedded.org>, Andre Richter <andre.o.richter@gmail.com>"
# Ruby gems
COPY Gemfile .
RUN set -ex; \
tempPkgs=' \
automake \
bison \
build-essential \
flex \
git \
libtool \
pkg-config \
wget \
'; \
apt-get update; \
apt-get install -q -y --no-install-recommends \
$tempPkgs \
# persistent packages
ca-certificates \
gdb-multiarch \
libpixman-1-dev \
libglib2.0-dev \
libusb-1.0.0-dev \
locales \
python3 \
ruby \
ruby-dev \
; \
# Ruby dependencies
gem install bundler; \
bundle install --retry 3 --without development; \
# QEMU
git clone git://git.qemu.org/qemu.git; \
cd qemu; \
git checkout tags/v5.0.0; \
./configure --target-list=aarch64-softmmu --enable-modules \
--enable-tcg-interpreter --enable-debug-tcg \
--python=/usr/bin/python3; \
make -j8; \
make install; \
cd ..; \
rm -rf qemu; \
# Openocd
git clone --depth 1 https://git.code.sf.net/p/openocd/code openocd; \
cd openocd; \
./bootstrap; \
./configure --enable-ftdi; \
make -j8; \
make install; \
# GDB
wget -P ~ git.io/.gdbinit; \
# Cleanup
apt-get purge -y --auto-remove $tempPkgs; \
apt-get autoremove -q -y; \
apt-get clean -q -y; \
rm -rf /var/lib/apt/lists/*
# Locales
RUN locale-gen en_US.UTF-8
ENV LANG=en_US.UTF-8 \
LANGUAGE=en_US:en \
LC_ALL=en_US.UTF-8
# Openocd
COPY rpi3.cfg /openocd/
COPY rpi4.cfg /openocd/
# GDB
COPY auto /root/.gdbinit.d/auto