Files
MemRelay/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/development/Architecture Overview of the BDYG18Pro Armbian Build System.md
T

116 lines
4.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: Architecture Overview of the BDYG18Pro Armbian Build System
type: curated
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/development/architecture-overview-of-the-bdyg18-pro-armbian-build-system
stable_id: adb3722a-51e7-4ec5-88cc-a95dc399a7a1
scope: project
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
workspace_type: development
usage_profile_id: null
preference_context: development
document_type: architecture
revision: 1
source_memory_ids: []
source_checkpoint_ids: []
source_file_ids: []
source_git_commit: 36234e0082845515a053c10ee552ce35a03415f0
source_git_commits:
- 36234e0082845515a053c10ee552ce35a03415f0
source_agent_sync_ids: []
model_connection: Sub2API
model_name: git-restore
source_count: 125
source_revisions:
memory:11052d10-1adf-4d39-800a-08f9ae708758: '1'
memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7: '1'
memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea: '1'
memory:340af5e9-b3e5-423a-9971-b370992738ce: '1'
memory:d5cbbc04-5929-4583-90b4-bd6c8295db25: '1'
source_dispositions:
processed: 78
unchanged: 0
unsupported: 47
skipped: 0
cited_source_ids:
- memory:11052d10-1adf-4d39-800a-08f9ae708758
- memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7
- memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea
- memory:340af5e9-b3e5-423a-9971-b370992738ce
- memory:d5cbbc04-5929-4583-90b4-bd6c8295db25
job_cited_source_ids: []
conflicts: []
supersedes: []
preferences: []
source_cursor: 0
source_hash: 5fe39ad3a37421f812566dd39f89d4c28fc6078c8d39031dff10eb6eb8d72e00
prompt_version: 2026-08-12.3
schema_version: '3'
curation_job_id: null
created_at: '2026-08-08T10:02:33.012303+00:00'
updated_at: '2026-09-23T15:03:44.457714+00:00'
tags:
- hardware
- boot
- docker
- repo
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
---
# Architecture Overview
## 1. Hardware Platform
| Component | Specification |
|-----------|---------------|
| **SoC** | Rockchip RK3568 – quad‑core Cortex‑A55 @ 2 GHz, Mali‑G710 GPU, VPU, RGA, HDMI, PCIe, USB 3.0. |
| **Memory** | 8 GB DDR4 HS200 (2.5 V). |
| **Storage** | 256 GB eMMC (boot + rootfs) + 32 MB Winbond W25Q256JW SPI‑NOR (blank). |
| **Switch** | Realtek RTL8367S 5‑port DSA (GMAC1 active, GMAC0 disabled). |
| **Network** | Ethernet MAC‑1 (`end0`), TSO disabled, TCP congestion = **Cubic**. |
| **UART console** | `serial@fe660000` → `ttyS2` @ 1 500 000 baud (pins RX/D0, TX/D1). |
*Source*: `evidence/dtb/rk3568-bdy-g18-pro.fixed.dts`, `evidence/dtb/rk3568-bdy-g18-pro.orig.dts`.
## 2. Boot Flow
1. **MaskROM** reads SPL from DDR (address 0x08000) after power‑on.
2. **SPL** (Rockchip `rk356x_spl_loader_v1.25.114.bin` preferred) initialises DDR and loads **U‑Boot** (mainline 2026.04) from the SPL payload.
3. **U‑Boot** loads a **FIT** image (`uboot‑fit‑rk3568‑bdy‑g18‑pro.dts`) containing BL31, kernel, and DTB.
4. Kernel `Linux 6.18.40‑current‑rockchip64` boots with DTB `rk3568‑bdy‑g18‑pro.dtb`.
All steps are verified by flashing the SPL to SPI‑NOR, reading back SHA‑256, and confirming boot success (see `evidence/selfbuilt-uboot-brideup.txt`).
## 3. Repository Layout & Build Infrastructure
| Directory | Purpose |
|-----------|---------|
| `arm64‑custom/` | Custom board scripts & patches (tracked). |
| `evidence/` | Raw logs, screenshots, serial captures (tracked). |
| `aidocs/` | Additional documentation (tracked). |
| `outputs/armbian-g18pro/` | Final artefacts – compressed image, SHA‑256 manifest, verification report. |
| `armbian‑g18pro‑cache` (Docker volume) | Persistent cache (~19 GB) for U‑Boot, kernel, ccache. |
*Build orchestrator*: Python script `armbian‑custom/build_g18pro.py` + PowerShell wrapper `build_g18pro.ps1`. Docker image `ghcr.io/armbian/docker-armbian-build:armbian-ubuntu-noble-latest` is used; shallow Git clones (`--depth 1`) minimise download size.
## 4. Runtime System State (as of 16 Aug 2026)
- **Kernel**: `6.18.40‑current‑rockchip64`
- **U‑Boot**: Mainline v2026.04 on SPI‑NOR; vendor U‑Boot remains on eMMC as fallback.
- **Network**: `tso` off, `cubic` congestion, throughput ≈ 30 Mbps.
- **Power‑off**: `systemctl poweroff` hangs (requires manual power‑cycle); `syscon‑reboot‑mode` DTB node restores clean reboot.
- **Docker cache**: volume present, speeds up incremental builds.
*Source*: `abe4221f-b290-4384-ad8f-1f72c360b893`.
---
**References**
- `c650c1e4-18ee-44ad-af42-b7632fbdcf5c`
- `dd496c6d-1619-457d-86a9-da57f5b866d7`
- `S-1`
- `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`
- `bf88c265-4749-4c50-85bc-4bae25298cd5`
- `ff34c6eb-6bba-41e5-9e43-ff80941fa823`
- `adb3722a-51e7-4ec5-88cc-a95dc399a7a1`
- `abe4221f-b290-4384-ad8f-1f72c360b893`