Packages
nerves_system_br
1.33.5
1.34.0
1.33.9
1.33.8
1.33.7
1.33.6
1.33.5
1.33.4
1.33.3
1.33.2
1.33.1
1.33.0
1.32.5
1.32.4
1.32.3
1.32.2
1.32.1
1.32.0
1.31.7
1.31.6
1.31.5
1.31.4
1.31.3
1.31.2
1.31.1
1.31.0
1.30.1
1.30.0
1.29.3
1.29.2
1.29.1
1.29.0
1.28.3
1.28.2
1.28.1
1.28.0
1.27.3
1.27.2
1.27.1
1.27.0
1.26.1
1.26.0
1.25.3
1.25.2
1.25.1
1.25.0
1.24.1
1.24.0
1.23.3
1.23.2
1.23.1
1.23.0
1.22.8
1.22.7
1.22.6
1.22.5
1.22.4
1.22.3
1.22.2
1.22.1
1.22.0
1.21.6
1.21.5
1.21.4
1.21.3
1.21.2
1.21.1
1.21.0
1.20.6
1.20.5
1.20.4
1.20.3
1.20.2
1.20.1
1.20.0
1.19.1
1.19.0
1.18.6
1.18.5
1.18.4
1.18.3
1.18.2
1.18.1
1.18.0
1.17.4
1.17.3
1.17.2
1.17.1
1.17.0
1.16.5
1.16.4
1.16.3
1.16.2
1.16.1
1.16.0
1.15.2
1.15.1
1.15.0
1.14.5
1.14.4
1.14.3
1.14.2
1.14.1
1.14.0
1.13.8
1.13.7
1.13.6
1.13.5
1.13.4
1.13.3
1.13.2
1.13.1
1.13.0
1.12.4
1.12.3
1.12.2
1.12.1
1.12.0
1.12.0-rc.0
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.10.3
1.10.2
1.10.1
1.10.0
1.9.5
1.9.4
1.9.3
1.9.2
1.9.1
1.9.0
1.8.6
1.8.5
1.8.4
1.8.3
1.8.2
1.8.1
1.8.0
1.7.3
1.7.2
1.7.1
1.7.0
1.6.8
1.6.7
1.6.6
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.2
1.3.1
1.3.0
1.2.2
1.2.1
1.2.0
1.1.0
1.0.1
1.0.0
1.0.0-rc.4
1.0.0-rc.3
1.0.0-rc.2
1.0.0-rc.1
1.0.0-rc.0
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1-2017-11
0.16.0-2017-11
0.15.1
0.15.0
0.14.1
0.14.0
0.13.9
0.13.8
0.13.7
0.13.6
0.13.5
0.13.4
retired
0.13.3
0.13.2
0.13.0
0.12.1
0.12.0
0.11.1
0.11.0
0.10.1
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.2
0.4.1
Nerves System BR - Buildroot based build platform for Nerves Systems
Current section
Files
Jump to
Current section
Files
support/docker/nerves_system_br/Dockerfile
# SPDX-FileCopyrightText: None
# SPDX-License-Identifier: CC0-1.0
FROM hexpm/erlang:28.4.2-ubuntu-noble-20260324
LABEL maintainer="Nerves Project developers <nerves@nerves-project.org>" \
vendor="NervesProject" \
description="Container with everything needed to build Nerves Systems"
ARG TARGETPLATFORM
ARG BUILDPLATFORM
ENV FWUP_VERSION=1.15.0
# See https://github.com/CircleCI-Public/cimg-base/blob/main/Dockerfile.template for generic setup
# Change default shell for RUN from Dash to Bash
SHELL ["/bin/bash", "-exo", "pipefail", "-c"]
ENV DEBIAN_FRONTEND=noninteractive \
TERM=dumb \
PAGER=cat
# Configure environment
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/90nerves && \
echo 'DPkg::Options "--force-confnew";' >> /etc/apt/apt.conf.d/90nerves && \
apt-get update && apt-get install -y \
curl \
locales \
sudo \
&& \
locale-gen en_US.UTF-8 && \
rm -rf /var/lib/apt/lists/* && \
\
groupadd --gid=1005 nerves && \
useradd --uid=1005 --gid=nerves --create-home nerves && \
echo 'nerves ALL=NOPASSWD: ALL' >> /etc/sudoers.d/50-nerves && \
echo 'Defaults env_keep += "DEBIAN_FRONTEND"' >> /etc/sudoers.d/env_keep && \
sudo -u nerves mkdir /home/nerves/project && \
sudo -u nerves mkdir /home/nerves/bin && \
sudo -u nerves mkdir -p /home/nerves/.local/bin
ENV PATH=/home/nerves/bin:/home/nerves/.local/bin:$PATH \
LANG=C.UTF-8 \
LC_ALL=C.UTF-8
# Set time
RUN ln -sf /usr/share/zoneinfo/Etc/UTC /etc/localtime
# Set the locale
RUN apt-get update && apt-get install -y locales
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8 C.UTF-8/' /etc/locale.gen && \
locale-gen
# The container has no package lists, so need to update first
RUN apt-get update -y -qq
# Install Buildroot packages (see <Buildroot>/support/docker/DockerFile
RUN apt-get -o APT::Retries=3 install -y --no-install-recommends \
bc \
build-essential \
bzr \
ca-certificates \
cmake \
cpio \
cvs \
file \
g++ \
git \
libncurses5-dev \
locales \
mercurial \
openssh-server \
python3 \
python3-flake8 \
python3-magic \
python3-nose2 \
python3-pexpect \
python3-pytest \
rsync \
shellcheck \
subversion \
unzip \
wget
# Install additional packages for Nerves and fwup
RUN apt-get -o APT::Retries=3 install -y --no-install-recommends \
bzip2 \
curl \
gawk \
gcc \
gnupg \
gosu \
jq \
libmnl-dev \
libz-dev \
libssl-dev \
openssh-client \
pkg-config \
python3-aiohttp \
python3-ijson \
python3-pip \
python3-requests \
squashfs-tools \
xz-utils \
autoconf \
automake \
libtool \
libarchive-dev \
libconfuse-dev
# Install packages to make image easier to use
RUN apt-get -o APT::Retries=3 install -y --no-install-recommends \
sudo \
vim-tiny \
&& apt-get -q -y autoremove \
&& apt-get -q -y clean \
&& rm -rf var/lib/apt/lists/*
# Build fwup from source for the current architecture
RUN git clone https://github.com/fwup-home/fwup -b v${FWUP_VERSION} \
&& cd fwup \
&& ./autogen.sh \
&& ./configure \
&& make \
&& make install \
&& rm -rf fwup
# Switch to a non-root user
USER nerves
RUN whoami \
# opt-out of the new security feature, not needed in a CI environment
&& git config --global --add safe.directory '*'
# Cache GitHub's host key
RUN mkdir -p /home/nerves/.ssh \
&& ssh-keyscan github.com > /home/nerves/.ssh/known_hosts \
&& chmod 700 /home/nerves/.ssh \
&& chmod 600 /home/nerves/.ssh/known_hosts
WORKDIR /home/nerves/project