sdlamp2/docs/TOOLCHAIN.md
Michael Smith a5b04fcd08 Document RG35XX Plus boot chain, reorganize device docs
Move device-specific content (hardware, software, libraries) from
TOOLCHAIN.md into new docs/rg35xx-plus.md. Add partition layout,
full boot chain trace (systemd → launcher.sh → loadapp.sh → dmenu_ln),
and sdlamp2 deployment instructions via dmenu_ln config toggle.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 15:18:59 +01:00

1.4 KiB

Build Container

arm64 Docker build container for producing device binaries. For target device details see rg35xx-plus.md.

The docker-arm64/ directory contains a Docker setup that runs an arm64 Ubuntu 22.04 container via QEMU user-mode emulation. This matches the target device exactly — same distro, same glibc 2.35, same library versions. The project's native make (using pkg-config) works as-is inside the container, no cross-compilation flags needed.

Prerequisites

QEMU binfmt handlers must be registered on the host (one-time setup, persists across reboots):

docker run --privileged --rm tonistiigi/binfmt --install arm64

Usage

From the docker-arm64/ directory:

make build              # one-shot: build sdlamp2 inside the container
make shell              # interactive bash shell for development
make clean              # remove the Docker image

The container mounts the project root at /workspace. Output binary is build/sdlamp2 (ELF 64-bit ARM aarch64).

Image Contents

  • Base: ubuntu:22.04 (arm64)
  • Build tools: build-essential, pkg-config
  • SDL2: libsdl2-dev, libsdl2-image-dev
  • FFmpeg: libavformat-dev, libavcodec-dev, libavutil-dev, libswresample-dev

The image is tagged arm64-dev and is generic enough to reuse for other projects targeting the same device.