kumquat-buildroot/support/docker/Dockerfile
Julien Olivain 93c7b55c77 support/docker: add qemu-system-misc for riscv runtime tests
The docker image currently contains qemu-system-arm and
qemu-system-x86. Each package contains the 32bit and 64bit variants.
This has been sufficient for the time being.

The RISC-V ecosystem is growing rapidly. It is starting to become
mainstream. To increase the diversity in Buildroot runtime tests,
this commit adds the qemu-system-misc package in the Docker image,
in order to have the commands qemu-system-riscv{32,64}. This package
also contains other architectures (for example: microblaze, nios2,
s390x, xtensa, ...).

For Debian package details, see:
https://packages.debian.org/bullseye/qemu-system-misc

Signed-off-by: Julien Olivain <ju.o@free.fr>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2023-08-24 23:20:26 +02:00

69 lines
2.0 KiB
Docker

# This Dockerfile generates the docker image that gets used by Gitlab CI
# To build it (YYYYMMDD.HHMM is the current date and time in UTC):
# docker build -t registry.gitlab.com/buildroot.org/buildroot/base:YYYYMMDD.HHMM support/docker
# docker push registry.gitlab.com/buildroot.org/buildroot/base:YYYYMMDD.HHMM
# We use a specific tag for the base image *and* the corresponding date
# for the repository., so do not forget to update the apt-sources.list
# file that is shipped next to this Dockerfile.
FROM debian:bullseye-20230202
LABEL maintainer="Buildroot mailing list <buildroot@buildroot.org>" \
vendor="Buildroot" \
description="Container with everything needed to run Buildroot"
# Setup environment
ENV DEBIAN_FRONTEND noninteractive
# This repository can be a bit slow at times. Don't panic...
COPY apt-sources.list /etc/apt/sources.list
# The container has no package lists, so need to update first
RUN dpkg --add-architecture i386 && \
apt-get -o APT::Retries=3 update -y
RUN apt-get -o APT::Retries=3 install -y --no-install-recommends \
bc \
build-essential \
bzr \
ca-certificates \
cmake \
cpio \
cvs \
file \
g++-multilib \
git \
libc6:i386 \
libncurses5-dev \
locales \
mercurial \
openssh-server \
python3 \
python3-flake8 \
python3-magic \
python3-nose2 \
python3-pexpect \
python3-pytest \
qemu-system-arm \
qemu-system-misc \
qemu-system-x86 \
rsync \
shellcheck \
subversion \
unzip \
wget \
&& \
apt-get -y autoremove && \
apt-get -y clean
# To be able to generate a toolchain with locales, enable one UTF-8 locale
RUN sed -i 's/# \(en_US.UTF-8\)/\1/' /etc/locale.gen && \
/usr/sbin/locale-gen
RUN useradd -ms /bin/bash br-user && \
chown -R br-user:br-user /home/br-user
USER br-user
WORKDIR /home/br-user
ENV HOME /home/br-user
ENV LC_ALL en_US.UTF-8