116 lines
4.6 KiB
Markdown
116 lines
4.6 KiB
Markdown
---
|
||
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` |