add Debian Trixie arm64 and armhf dockerfiles

This commit is contained in:
Philippe Teuwen
2026-02-21 18:37:45 +01:00
parent a659207090
commit 0f8175cbb7
9 changed files with 145 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
#!/bin/bash
for os in archlinux debian-12-bookworm debian-12-bookworm-arm64 debian-12-bookworm-armhf debian-13-trixie debian-14-forky fedora-41 fedora-42 fedora-43 homebrew kali opensuse-leap opensuse-tumbleweed parrot-core-latest ubuntu-24.04 ubuntu-24.10 ubuntu-25.04; do
for os in archlinux debian-13-trixie debian-13-trixie-arm64 debian-13-trixie-armhf debian-14-forky fedora-41 fedora-42 fedora-43 homebrew kali opensuse-leap opensuse-tumbleweed parrot-core-latest ubuntu-24.04 ubuntu-24.10 ubuntu-25.04; do
echo -e "\n\n================= Building for $os ======================\n"
( cd $os && ../build.sh )
done

View File

@@ -0,0 +1,33 @@
FROM arm64v8/debian:trixie-slim
ENV LANG=C
ENV DEBIAN_FRONTEND=noninteractive
# qtbase5-dev skipped
RUN apt-get update && \
apt-get upgrade -y && \
apt-get dist-upgrade -y && \
apt-get install -y --no-install-recommends git ca-certificates build-essential cmake pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev libssl-dev libgd-dev sudo && \
apt-get clean
RUN apt-get install -y opencl-dev && \
apt-get clean
# uv
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
# Create rrg user
RUN useradd -ms /bin/bash rrg
RUN passwd -d rrg
ARG UART_GID
# dialout group may already exist on another numeric ID than on host
RUN if [ -n "${UART_GID}" ]; then \
groupadd -g ${UART_GID} mydialout || true; \
usermod -aG ${UART_GID} rrg; \
fi
RUN printf 'rrg ALL=(ALL) ALL\n' | tee -a /etc/sudoers
# switch to user rrg within the docker image...
USER root
WORKDIR "/home/rrg"
CMD ["/bin/bash"]

View File

@@ -0,0 +1,20 @@
# Notes to install corss-platform support
```
sudo apt install qemu-user qemu-user-binfmt binfmt-support
```
# Notes to run tests
The script is to be run in proxmark root folder inside the docker env.
```
docker/debian-13-trixie-arm64/run_tests.sh;
```
Or if you want to run single test,
```
sudo apt update && sudo apt upgrade -y
git config --global --add safe.directory /home/rrg/proxmark3
make clean; make -j
tools/pm3_tests.sh --long
```

View File

@@ -0,0 +1,2 @@
DOCKER_IMAGE=pm3-debian-trixie-arm64:1.0
DOCKER_PLATFORM="--platform linux/arm64"

View File

@@ -0,0 +1,14 @@
#!/usr/bin/env bash
# This script is to be run from proxmark root folder inside the docker env
# docker/debian-13-trixie-arm64/run_tests.sh;
# Check that we are not running as root
if [ "$EUID" -eq 0 ]; then
echo "Error: This script should not be run as root" >&2
exit 1
fi
# sudo not supported in this docker image, update packages before running as rrg user
# sudo apt update && sudo apt upgrade -y
git config --global --add safe.directory /home/rrg/proxmark3
tools/release_tests.sh

View File

@@ -0,0 +1,38 @@
FROM arm32v7/debian:trixie-slim
ENV LANG=C
ENV DEBIAN_FRONTEND=noninteractive
# qtbase5-dev skipped
RUN apt-get update && \
apt-get upgrade -y && \
apt-get dist-upgrade -y && \
apt-get install -y --no-install-recommends git ca-certificates build-essential cmake pkg-config libreadline-dev gcc-arm-none-eabi libnewlib-dev libbz2-dev liblz4-dev libbluetooth-dev libpython3-dev libssl-dev libgd-dev sudo && \
apt-get clean
RUN apt-get install -y opencl-dev && \
apt-get clean
# uv not available
#COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
RUN apt-get install -y pipx && \
apt-get clean
# Create rrg user
RUN useradd -ms /bin/bash rrg
RUN passwd -d rrg
ARG UART_GID
# dialout group may already exist on another numeric ID than on host
RUN if [ -n "${UART_GID}" ]; then \
groupadd -g ${UART_GID} mydialout || true; \
usermod -aG ${UART_GID} rrg; \
fi
RUN printf 'rrg ALL=(ALL) ALL\n' | tee -a /etc/sudoers
USER rrg
WORKDIR "/home/rrg"
RUN pipx install uv
# switch to user rrg within the docker image...
USER root
CMD ["/bin/bash"]

View File

@@ -0,0 +1,20 @@
# Notes to install corss-platform support
```
sudo apt install qemu-user qemu-user-binfmt binfmt-support
```
# Notes to run tests
The script is to be run in proxmark root folder inside the docker env.
```
docker/debian-13-trixie-armhf/run_tests.sh;
```
Or if you want to run single test,
```
sudo apt update && sudo apt upgrade -y
git config --global --add safe.directory /home/rrg/proxmark3
make clean; make -j
tools/pm3_tests.sh --long
```

View File

@@ -0,0 +1,2 @@
DOCKER_IMAGE=pm3-debian-trixie-armhf:1.0
DOCKER_PLATFORM="--platform linux/arm/v7"

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
# This script is to be run from proxmark root folder inside the docker env
# docker/debian-13-trixie-armhf/run_tests.sh;
# Check that we are not running as root
if [ "$EUID" -eq 0 ]; then
echo "Error: This script should not be run as root" >&2
exit 1
fi
# sudo not supported in this docker image, update packages before running as rrg user
# sudo apt update && sudo apt upgrade -y
git config --global --add safe.directory /home/rrg/proxmark3
tools/release_tests.sh