ReachyPi / Dockerfile
Domotick's picture
Update ReachyPi
69e3856
Raw
History Blame Contribute Delete
1.51 kB
# Build a Raspberry Pi 5 image of reachy-mini-os, inside Docker. Usage: see README.md.
FROM debian:bookworm
# pi-gen build tools
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates git git-lfs curl \
quilt parted debootstrap zerofree zip dosfstools e2fsprogs fdisk \
libarchive-tools libcap2-bin rsync xz-utils file kmod bc gpg pigz xxd \
arch-test binfmt-support qemu-user-static \
&& rm -rf /var/lib/apt/lists/*
# reachy-mini-os source (pi-gen fork) + its Git LFS files
RUN git lfs install \
&& git clone --depth 1 https://github.com/pollen-robotics/reachy-mini-os.git /pi-gen
WORKDIR /pi-gen
RUN git lfs pull
# Pi-5 boot tweaks + pinned daemon version
ARG DAEMON_VERSION=v1.8.4
RUN set -e; \
cfg=stage1/00-boot-files/files/config.txt; \
sed -i 's/^dtoverlay=uart3$/dtoverlay=uart2-pi5/' "$cfg"; \
sed -i -E 's/^(dtparam=ant2)$/#\1/' "$cfg"; \
grep -q '^\[pi5\]' "$cfg" || printf '\n[pi5]\n' >> "$cfg"; \
sed -i -E "s/reachy-mini\[wireless-version\]==v[0-9.]+/reachy-mini[wireless-version]==${DAEMON_VERSION}/" \
stage2/05-reachy-mini/01-run-chroot.sh
# Pi-5 runtime fixes (motors, shutdown, camera)
COPY docker/stage-pi5-fixes.sh stage2/05-reachy-mini/02-run-chroot.sh
RUN chmod +x stage2/05-reachy-mini/02-run-chroot.sh
# the build itself runs at `docker run` (needs --privileged: loop devices + ARM emulation)
COPY docker/entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]