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>
This commit is contained in:
@@ -1,45 +1,6 @@
|
||||
# Cross-Compilation Toolchain
|
||||
# Build Container
|
||||
|
||||
This document describes the target device and the arm64 Docker build container used to produce binaries for it.
|
||||
|
||||
## Target Device
|
||||
|
||||
### Hardware
|
||||
|
||||
- **Device:** Anbernic RG35XX Plus
|
||||
- **SoC:** Allwinner H700 — quad-core ARM Cortex-A53 @ 1.5 GHz (AArch64 / ARMv8-A)
|
||||
- **GPU:** Mali G31 MP2
|
||||
- **RAM:** 1 GB LPDDR4
|
||||
- **Display:** 640×480 IPS
|
||||
|
||||
### Software
|
||||
|
||||
- **OS:** Ubuntu 22.04 LTS (Jammy Jellyfish) — [modified stock firmware](https://github.com/cbepx-me/Anbernic-H700-RG-xx-StockOS-Modification)
|
||||
- **Kernel:** Linux 4.9.170 aarch64 (proprietary, no source released by Anbernic)
|
||||
- **Architecture:** aarch64 / arm64 (confirmed via `dpkg --print-architecture`)
|
||||
- **glibc:** 2.35
|
||||
|
||||
### Libraries on Device
|
||||
|
||||
All required shared libraries are pre-installed. Most are at `/usr/lib/`, some at `/usr/lib/aarch64-linux-gnu/` (Debian multiarch path):
|
||||
|
||||
| Library | Soname | Notes |
|
||||
|---------|--------|-------|
|
||||
| SDL2 | `libSDL2-2.0.so.0.12.0` | SDL 2.0.12 |
|
||||
| SDL2_image | `libSDL2_image-2.0.so.0.900.0` | SDL2_image 2.0.9, at multiarch path |
|
||||
| libavcodec | `libavcodec.so.58` | FFmpeg ~4.x |
|
||||
| libavformat | `libavformat.so.58` | FFmpeg ~4.x |
|
||||
| libavutil | `libavutil.so.56` | FFmpeg ~4.x |
|
||||
| libswresample | `libswresample.so.3` | FFmpeg ~4.x |
|
||||
|
||||
### Implications for Cross-Compilation
|
||||
|
||||
- The device userland is Debian/Ubuntu-based (has `dpkg`, `apt-get`, `systemd`)
|
||||
- Shared libraries are already present — no need to bundle or build them via Buildroot
|
||||
- A native aarch64 compile (e.g. inside an arm64 Docker container) produces working binaries
|
||||
- Must link against glibc ≤ 2.35 (use GCC ≤ 12 to avoid GLIBCXX version mismatches)
|
||||
|
||||
## Build Container
|
||||
arm64 Docker build container for producing device binaries. For target device details see [`rg35xx-plus.md`](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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user