chore: 导入旧记忆备份供恢复
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
---
|
||||
title: BDYG18Pro 密码库索引
|
||||
type: rule
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/bdyg18-pro-密码库索引
|
||||
stable_id: db92ba17-fcee-4f1d-9593-6b325105e482
|
||||
scope: project
|
||||
memory_type: rule
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: import-bdyg18pro-20260802-project-09
|
||||
updated_at: '2026-08-02T09:39:38.569638+00:00'
|
||||
tags:
|
||||
- bdyg18pro
|
||||
- vault
|
||||
- credentials-index
|
||||
---
|
||||
|
||||
# BDYG18Pro 密码库索引
|
||||
|
||||
需要凭证时按以下条目名称查询外部密码库:
|
||||
|
||||
- `BDYG18Pro Armbian SSH`:当前板子 SSH。
|
||||
- `BDYG18Pro 镜像初始登录`:新刷镜像首次登录,登录后必须改密。
|
||||
- `OpenWrt Router SSH`:局域网路由器 SSH。
|
||||
- `Armbian MySQL Root`:板子上的 MySQL 管理连接。
|
||||
- `Gitea git.asio.asia OAuth`:Git HTTPS/OAuth 凭证。
|
||||
|
||||
记忆只保存上述索引,任何密码、Token 或刷新令牌均不得写入记忆正文。
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: BDYG18Pro 项目概览
|
||||
type: fact
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/bdyg18-pro-项目概览
|
||||
stable_id: 11052d10-1adf-4d39-800a-08f9ae708758
|
||||
scope: project
|
||||
memory_type: fact
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: import-bdyg18pro-20260802-project-01
|
||||
updated_at: '2026-08-02T09:39:36.291825+00:00'
|
||||
tags:
|
||||
- bdyg18pro
|
||||
- armbian
|
||||
- rk3568
|
||||
- overview
|
||||
---
|
||||
|
||||
# BDYG18Pro 项目概览
|
||||
|
||||
- 项目用于为 BDY-G18-Pro 路由盒子构建可复现、可刷写、可恢复的 Armbian 镜像。
|
||||
- 目标硬件为 Rockchip RK3568、8 GB 内存、256 GB eMMC、RTL8367S 五口交换芯片,无 Wi-Fi。
|
||||
- 主仓库 remote 为 `https://git.asio.asia/nixevol/BDYG18ProArmbianBuilder.git`。
|
||||
- 当前主仓库基线提交为 `36234e0`,`BDYG18ProBuild` 子模块基线为 `5d419f7`。
|
||||
- 本机项目目录为 `E:\NIXProject\BDYG18ProArmbianBuilder`。
|
||||
@@ -0,0 +1,28 @@
|
||||
---
|
||||
title: TSO 与 Cubic 网络修复
|
||||
type: experience
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/tso-与-cubic-网络修复
|
||||
stable_id: 340af5e9-b3e5-423a-9971-b370992738ce
|
||||
scope: project
|
||||
memory_type: experience
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: import-bdyg18pro-20260802-project-06
|
||||
updated_at: '2026-08-02T09:39:37.700528+00:00'
|
||||
tags:
|
||||
- bdyg18pro
|
||||
- tso
|
||||
- dsa
|
||||
- cubic
|
||||
- network
|
||||
---
|
||||
|
||||
# TSO 与 Cubic 网络修复
|
||||
|
||||
- 上传速度异常的根因是硬件 TSO 与 RTL8367S DSA tag 组合发包不兼容,不是外网、FRP 或数据库性能问题。
|
||||
- DTB 已删除 GMAC 的 `snps,tso`,使驱动不再声明硬件 TSO;镜像中的 systemd `.link` 文件继续作为接口初始化兜底。
|
||||
- `ethtool -k end0` 的 TSO 子特性应显示 `off [fixed]`,这与服务启动后临时关闭的普通 `off` 不同。
|
||||
- 默认 TCP 拥塞算法由 Reno 调整为 Cubic。
|
||||
- 网络回归检查应验证接口、DSA 端口、拥塞算法,并可选比较上传前后的重传增量。
|
||||
- 2026-07-31 实机部署重启后验证:TSO 子特性固定关闭,4 MB 上传重传增量为 0。
|
||||
+109
@@ -0,0 +1,109 @@
|
||||
---
|
||||
title: BDYG18ProArmbianBuilder – Project Overview
|
||||
type: curated
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/bdyg18-pro-armbian-builder-project-overview
|
||||
stable_id: c650c1e4-18ee-44ad-af42-b7632fbdcf5c
|
||||
scope: project
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: overview
|
||||
revision: 8
|
||||
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: openai/gpt-oss-120b
|
||||
source_count: 125
|
||||
source_revisions:
|
||||
memory:11052d10-1adf-4d39-800a-08f9ae708758: '1'
|
||||
memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7: '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
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x64/win10/rockusb.inf
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x64/win7/rockusb.inf
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x64/win8/rockusb.inf
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x64/win81/rockusb.inf
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x86/win10/rockusb.inf
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x86/win7/rockusb.inf
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x86/win8/rockusb.inf
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x86/win81/rockusb.inf
|
||||
- git:tools/driver/DriverAssitant_v5.14/Readme.txt
|
||||
- git:tools/driver/DriverAssitant_v5.14/revison.log
|
||||
- git:tools/loader/WHICH-LOADER.txt
|
||||
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: 75339546-fef5-4656-8969-ba806e3ea6f0
|
||||
created_at: '2026-08-08T10:02:13.622509+00:00'
|
||||
updated_at: '2026-08-16T18:44:46.346367+00:00'
|
||||
tags:
|
||||
- project
|
||||
- overview
|
||||
---
|
||||
|
||||
# Overview
|
||||
|
||||
## Goal & Scope
|
||||
- **Goal**: Produce a reproducible, flash‑able Armbian image for the BDY‑G18‑Pro RK3568 router (8 GB DDR4, 256 GB eMMC, 32 MB SPI‑NOR, RTL8367S‑5‑port DSA switch).
|
||||
- **Target OS**: Community “DIY” Armbian 13.3 (Debian 13.3 Trixie) base, upgraded to kernel 6.18.x (current builds use 6.18.39 → 6.18.40).
|
||||
- **Preferred Image**: *stock* image – uses vendor‑verified boot chain (U‑Boot SPL/U‑Boot on SPI‑NOR) plus a minimal Armbian rootfs. A *self‑built* mode is also available for auditability.
|
||||
- **Host / Language**: Documentation Chinese; primary development host Windows (PowerShell) with cross‑platform Bash support.
|
||||
- **Design Philosophy**: KISS & YAGNI; reuse existing framework; shallow Git clones; pinned `RKBIN_GIT_COMMIT=ce50c0d1`; line‑ending LF enforced via `.gitattributes`.
|
||||
|
||||
## Repository Layout
|
||||
| Directory | Inclusion | Exclusion |
|
||||
|-----------|-----------|-----------|
|
||||
| `arm64‑custom/` | Tracked | – |
|
||||
| `evidence/` | Tracked | – |
|
||||
| `aidocs/` | Tracked | – |
|
||||
| `backups/`, `outputs/`, `work/`, `tools/`, large binaries, Docker cache, tool logs | Ignored | – |
|
||||
| `outputs/armbian-g18pro/` | Final artefacts (compressed image, SHA‑256, verification report, build log) | – |
|
||||
| `armbian‑g18pro‑cache` (Docker volume) | Persistent cache (~19 GB) | – |
|
||||
|
||||
## Build Infrastructure
|
||||
- **Docker image**: `ghcr.io/armbian/docker-armbian-build:armbian-ubuntu-noble-latest`.
|
||||
- **Cache volume**: `armbian‑g18pro‑cache` (~19 GB) holds U‑Boot, kernel, rootfs, ccache.
|
||||
- **Orchestrator**: Python script `armbian‑custom/build_g18pro.py` + PowerShell wrapper `build_g18pro.ps1`; works on Windows PowerShell **or** Linux Bash.
|
||||
- **Environment checks**: Require `git` and `docker`; verify required files (`bdy‑g18‑pro.csc`, DTB, boot‑region asset). Abort if < 8 GiB free space.
|
||||
- **Proxy handling**: Optional env var `G18PRO_PROXY`; stripped inside Docker; per‑tool `.curlrc`, `.wgetrc`, git `insteadOf` rewrites.
|
||||
- **Shallow clones**: `git clone --depth 1` for Armbian source and kernel (≈ 313 MiB). Reduces download from > 2 GiB.
|
||||
- **Loop‑device shim**: Bind‑mount `/dev` read‑only to `/tmp/dev` inside container; required for partition stage on Docker Desktop (Windows).
|
||||
- **Image creation**: `xz`‑compression, SHA‑256 recorded in a JSON manifest and verified after each build.
|
||||
|
||||
## Hardware Architecture
|
||||
| Item | Specification |
|
||||
|------|----------------|
|
||||
| **SoC** | Rockchip RK3568 – 4× Cortex‑A55 @ 2 GHz, Mali‑G710, VPU, RGA, HDMI |
|
||||
| **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) |
|
||||
| **UART2 console** | `serial@fe660000` → `ttyS2` at 1 500 000 baud, 3.3 V (pins: RX = GPIO0_D0, TX = GPIO0_D1). |
|
||||
|
||||
## Key Preferences (Scenario‑Level)
|
||||
- Language: Chinese.
|
||||
- Host: Windows (PowerShell) – scripts also work on Linux Bash.
|
||||
- Design: KISS & YAGNI, shallow clones, pinned blobs, LF line endings, Docker cache volume retained.
|
||||
- Secrets: Vaultwarden only (repo stores entry names, not values).
|
||||
- AI / Git integration: Disabled by default.
|
||||
- Network: TCP congestion **Cubic**, TSO disabled.
|
||||
- Git: Shallow clones, `core.autocrlf=false`, `.gitattributes` enforces LF.
|
||||
- Docker: Cache volume `armbian‑g18pro‑cache`, proxy stripped, optional `G18PRO_PROXY`.
|
||||
|
||||
**Source IDs**: `c650c1e4-18ee-44ad-af42-b7632fbdcf5c`, `dd496c6d-1619-457d-86a9-da57f5b866d7`, `S‑1`, `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`, `4`, `bf88c265-4749-4c50-85bc-4bae25298cd5`, `ff34c6eb-6bba-41e5-9e43-ff80941fa823`, `adb3722a-51e7-4ec5-88cc-a95dc399a7a1`, `105b328f-4bda-4641-90a7-7282ef156316`
|
||||
+68
@@ -0,0 +1,68 @@
|
||||
---
|
||||
title: Chronology of Major Events (BDYG18ProArmbianBuilder)
|
||||
type: curated
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/chronology-of-major-events-bdyg18-pro-armbian-builder
|
||||
stable_id: dd496c6d-1619-457d-86a9-da57f5b866d7
|
||||
scope: project
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: timeline
|
||||
revision: 8
|
||||
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: openai/gpt-oss-120b
|
||||
source_count: 125
|
||||
source_revisions:
|
||||
memory:11052d10-1adf-4d39-800a-08f9ae708758: '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: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: 75339546-fef5-4656-8969-ba806e3ea6f0
|
||||
created_at: '2026-08-08T10:02:20.852065+00:00'
|
||||
updated_at: '2026-08-16T18:44:53.699700+00:00'
|
||||
tags:
|
||||
- timeline
|
||||
---
|
||||
|
||||
# Chronology (Timeline)
|
||||
|
||||
| Date | Event |
|
||||
|------|-------|
|
||||
| **2025** | Board introduced. |
|
||||
| **2026‑07‑21** | Vendor kernel 6.12.74 baseline observed. |
|
||||
| **2026‑07‑23** | First RKDevTool flash (DHCP, SSH reachable). |
|
||||
| **2026‑07‑25** | SPI‑NOR overwritten → MaskROM on power‑cycle (Failure A). |
|
||||
| **2026‑07‑27** | Power‑off lock‑up discovered; added `emergency‑reboot.shutdown`, disabled GMAC0; flashed self‑built U‑Boot v2026.04; DTB patches (`syscon‑reboot‑mode`, TSO removal); set TCP to Cubic. |
|
||||
| **2026‑07‑28** | Confirmed `emergency‑reboot.shutdown` redundant; clean reboot works. |
|
||||
| **2026‑07‑31** | TSO disabled → 4 MiB upload at 29.6 Mbps, 0 retransmits. |
|
||||
| **2026‑08‑08** | Documentation updated (sections 6 & 15). |
|
||||
| **2026‑08‑12** | Consolidated evidence, decisions, open‑item list; snapshot of final system state taken. |
|
||||
| **2026‑08‑16** | Current system state (see overview). |
|
||||
|
||||
**Source IDs**: `dd496c6d-1619-457d-86a9-da57f5b866d7`, `4`, `abe4221f-b290-4384-ad8f-1f72c360b893`
|
||||
+143
@@ -0,0 +1,143 @@
|
||||
---
|
||||
title: Current Development Tasks for BDYG18ProArmbianBuilder
|
||||
type: curated
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/current-development-tasks-for-bdyg18-pro-armbian-builder
|
||||
stable_id: 2d90df02-6054-404f-9e6f-ca37ab6b3d8b
|
||||
scope: project
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: tasks
|
||||
revision: 8
|
||||
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: openai/gpt-oss-120b
|
||||
source_count: 125
|
||||
source_revisions:
|
||||
memory:11052d10-1adf-4d39-800a-08f9ae708758: '1'
|
||||
memory:db92ba17-fcee-4f1d-9593-6b325105e482: '1'
|
||||
memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92: '1'
|
||||
memory:340af5e9-b3e5-423a-9971-b370992738ce: '1'
|
||||
memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea: '1'
|
||||
memory:b70c1a22-6834-4e59-936c-1945b04273b7: '1'
|
||||
memory:d5cbbc04-5929-4583-90b4-bd6c8295db25: '1'
|
||||
memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7: '1'
|
||||
source_dispositions:
|
||||
processed: 78
|
||||
unchanged: 0
|
||||
unsupported: 47
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:11052d10-1adf-4d39-800a-08f9ae708758
|
||||
- memory:db92ba17-fcee-4f1d-9593-6b325105e482
|
||||
- memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92
|
||||
- memory:340af5e9-b3e5-423a-9971-b370992738ce
|
||||
- memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea
|
||||
- memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
- memory:d5cbbc04-5929-4583-90b4-bd6c8295db25
|
||||
- memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x64/win10/rockusb.inf
|
||||
- git:tools/rkdevtool/revision.txt
|
||||
- git:tools/driver/DriverAssitant_v5.14/revison.log
|
||||
- git:tools/driver/DriverAssitant_v5.14/Readme.txt
|
||||
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: 75339546-fef5-4656-8969-ba806e3ea6f0
|
||||
created_at: '2026-08-08T10:02:24.737395+00:00'
|
||||
updated_at: '2026-08-16T18:44:57.440309+00:00'
|
||||
tags:
|
||||
- open
|
||||
- ongoing
|
||||
- future-work
|
||||
---
|
||||
|
||||
# Open Tasks (as of 16 Aug 2026)
|
||||
|
||||
| # | Task | Status / Next Step |
|
||||
|---|------|-------------------|
|
||||
| 1 | Verify tiny‑SPI SPL can read > 8 MiB from SPI‑NOR. | Unresolved – needs measurement. |
|
||||
| 2 | Identify purpose of second rear‑side pad near MaskROM pad. | Unresolved – capture high‑res photos & continuity test. |
|
||||
| 3 | Capture high‑resolution photos of rear‑side pads. | Pending. |
|
||||
| 4 | Add missing interrupt‑controller node for RTL8367S in DTB. | Open. |
|
||||
| 5 | Resolve PCIe BAR allocation (`pci=realloc`). | Planned verification. |
|
||||
| 6 | Fine‑tune flow‑control on secondary GMAC (`end1`). | Open. |
|
||||
| 7 | Implement persistent `pstore/ramoops` for kernel panic logs. | Open. |
|
||||
| 8 | Review / tighten ACL in Rockusb driver INF (currently `Everyone` full access). | Open. |
|
||||
| 9 | Verify Rockusb driver works on Windows 11. | Open. |
|
||||
|10 | Add automated proxy detection (`G18PRO_PROXY`). | Planned. |
|
||||
|11 | Investigate intermittent MaskROM fallback after flash (boot‑flag / `boot_success`). | Needs UART logs. |
|
||||
|12 | Implement post‑flash verification watchdog script. | Open. |
|
||||
|13 | Periodically update to newer Armbian (e.g., kernel 6.19). | Ongoing. |
|
||||
|14 | Test `selfbuilt‑ums` mode (USB‑mass‑storage) for field diagnostics. | Open. |
|
||||
|15 | Confirm necessity of `mode‑bootrom` DTB entry. | Open. |
|
||||
|16 | Delete large temporary `/_to-delete/` (~8.8 GB) after operator approval. | Pending. |
|
||||
|17 | Push local branch to upstream (credentials issue). | Manual step required. |
|
||||
|18 | Graceful `poweroff` recovery (still hangs). | Unresolved (see troubleshooting). |
|
||||
|19 | Verify DDR v1.25 impact on this board (currently using v1.21). | Not tested. |
|
||||
|20 | Full A/B test of `syscon‑reboot‑mode` vs shutdown hook (completed; hook deemed redundant). | Documented. |
|
||||
|
||||
---
|
||||
|
||||
**References**
|
||||
|
||||
- `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`
|
||||
- `2d90df02-6054-404f-9e6f-ca37ab6b3d8b`
|
||||
- `8a861a5f-35c3-4f95-bd5b-6b2297888f56`
|
||||
- `a89adf53-4420-43ef-9a95-56567f524ef6`
|
||||
- `bf88c265-4749-4c50-85bc-4bae25298cd5`
|
||||
- `ff34c6eb-6bba-41e5-9e43-ff80941fa823`
|
||||
- `adb3722a-51e7-4ec5-88cc-a95dc399a7a1`
|
||||
- `c650c1e4-18ee-44ad-af42-b7632fbdcf5c`
|
||||
- `dd496c6d-1619-457d-86a9-da57f5b866d7`
|
||||
- `S-1`
|
||||
- `4`
|
||||
- `105b328f-4bda-4641-90a7-7282ef156316`
|
||||
- `3f91189b-11a1-45bb-8357-4f413dc1609d`
|
||||
- `evidence/dtb/rk3568-bdy-g18-pro.fixed.dts`
|
||||
- `evidence/dtb/rk3568-bdy-g18-pro.orig.dts`
|
||||
- `evidence/dtb/uboot-fit-rk3568-bdy-g18-pro.dts`
|
||||
- `evidence/emmc-reset-evaluation.txt`
|
||||
- `evidence/hardware-access-points.txt`
|
||||
- `evidence/live-system/as-shipped-snapshot.txt`
|
||||
- `evidence/live-system/emergency-reboot.shutdown`
|
||||
- `evidence/live-system/g18pro-live-evidence.txt`
|
||||
- `evidence/live-system/phase1-evidence.txt`
|
||||
- `evidence/live-system/phase2-4-results.txt`
|
||||
- `evidence/live-system/tso-diagnosis-2026-07-31.txt`
|
||||
- `evidence/live-system/tso-fix-verification-2026-07-31.txt`
|
||||
- `evidence/serial/securecrt-1500000.png`
|
||||
- `evidence/serial/uart-pads-unlabeled.png`
|
||||
- `evidence/serial/uart-wiring-ch340.png`
|
||||
- `evidence/uboot-blob-provenance.txt`
|
||||
- `evidence/vendor-backup/config-6.12.74-ophub`
|
||||
- `evidence/vendor-backup/config-6.18.40-current-rockchip64`
|
||||
- `evidence/vendor-backup/vendor-armbian-ramlog.log`
|
||||
- `evidence/vendor-backup/vendor-armbianEnv.txt`
|
||||
- `evidence/vendor-backup/vendor-boot.cmd`
|
||||
- `evidence/vendor-backup/vendor-extlinux.conf`
|
||||
- `evidence/vendor-backup/vendor-kern.log.head400.txt`
|
||||
- `evidence/vendor-backup/vendor-kern.log.mmc-lines.txt`
|
||||
- `evidence/vendor-backup/vendor-kern.log.net-lines.txt`
|
||||
- `evidence/vendor-backup/vendor-kern.log.watchdog-lines.txt`
|
||||
- `tools/driver/DriverAssitant_v5.14/ADBDriver/amd64/NOTICE.txt`
|
||||
- `tools/driver/DriverAssitant_v5.14/ADBDriver/i386/NOTICE.txt`
|
||||
- `tools/driver/DriverAssitant_v5.14/ADBDriver/android_winusb.inf`
|
||||
- `13`
|
||||
- `14`
|
||||
- `15`
|
||||
- `16`
|
||||
- `6`
|
||||
- `7`
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
---
|
||||
title: Current State of the BDY‑G18‑Pro Build Environment
|
||||
type: curated
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/current-state-of-the-bdy-g18-pro-build-environment
|
||||
stable_id: abe4221f-b290-4384-ad8f-1f72c360b893
|
||||
scope: project
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: current_state
|
||||
revision: 8
|
||||
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: openai/gpt-oss-120b
|
||||
source_count: 125
|
||||
source_revisions:
|
||||
memory:d5cbbc04-5929-4583-90b4-bd6c8295db25: '1'
|
||||
memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92: '1'
|
||||
source_dispositions:
|
||||
processed: 78
|
||||
unchanged: 0
|
||||
unsupported: 47
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:d5cbbc04-5929-4583-90b4-bd6c8295db25
|
||||
- memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92
|
||||
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: 75339546-fef5-4656-8969-ba806e3ea6f0
|
||||
created_at: '2026-08-08T10:02:15.342970+00:00'
|
||||
updated_at: '2026-08-16T18:44:47.961278+00:00'
|
||||
tags:
|
||||
- state
|
||||
---
|
||||
|
||||
# Current System State (as of 16 Aug 2026)
|
||||
|
||||
| Property | Value |
|
||||
|----------|-------|
|
||||
| **IP** | `192.168.137.242` (DHCP) |
|
||||
| **Kernel** | `6.18.40‑current‑rockchip64` |
|
||||
| **U‑Boot** | mainline v2026.04 on SPI‑NOR; vendor U‑Boot remains on eMMC as fallback |
|
||||
| **Upload test** | 4 MiB → ≈ 29.6 Mbps, 0 retransmits |
|
||||
| **Power‑off** | `systemctl poweroff` hangs (requires manual power‑cycle) |
|
||||
| **Reboot** | `systemctl reboot` works via DTB `syscon‑reboot‑mode` |
|
||||
| **Docker cache** | volume `armbian‑g18pro‑cache` present (~19 GB) |
|
||||
| **Latest image** | `Armbian‑unofficial_26.05.0‑trunk_Bdy‑g18‑pro_trixie_current_6.18.39_minimal.img.xz` (SHA‑256 `b64e7702…`) |
|
||||
| **Boot‑flags** | `rw,errors=remount-ro` (aligned in `armbianEnv.txt` and `extlinux.conf`) |
|
||||
|
||||
**Source ID**: `abe4221f-b290-4384-ad8f-1f72c360b893`
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
---
|
||||
title: Key Decisions, Root‑Cause Analyses and Implemented Solutions
|
||||
type: curated
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/key-decisions-root-cause-analyses-and-implemented-solutions
|
||||
stable_id: aa3057ab-54c5-4ffc-ba85-c2f2396ee60c
|
||||
scope: project
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: decisions
|
||||
revision: 8
|
||||
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: openai/gpt-oss-120b
|
||||
source_count: 125
|
||||
source_revisions:
|
||||
memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea: '1'
|
||||
memory:340af5e9-b3e5-423a-9971-b370992738ce: '1'
|
||||
memory:b70c1a22-6834-4e59-936c-1945b04273b7: '1'
|
||||
source_dispositions:
|
||||
processed: 78
|
||||
unchanged: 0
|
||||
unsupported: 47
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea
|
||||
- memory:340af5e9-b3e5-423a-9971-b370992738ce
|
||||
- memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
- git:tools/rkdevtool/revision.txt
|
||||
- git:tools/loader/WHICH-LOADER.txt
|
||||
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: 75339546-fef5-4656-8969-ba806e3ea6f0
|
||||
created_at: '2026-08-08T10:02:17.345816+00:00'
|
||||
updated_at: '2026-08-16T18:44:50.475932+00:00'
|
||||
tags:
|
||||
- decisions
|
||||
---
|
||||
|
||||
# Key Decisions & Resolutions
|
||||
|
||||
| # | Decision | Reason / Outcome |
|
||||
|---|----------|-------------------|
|
||||
| 1 | Add `syscon‑reboot‑mode` DTB node **and** enable it. | Guarantees clean reboots; fixes power‑off hang. |
|
||||
| 2 | Remove `emergency‑reboot.shutdown` hook (later kept only as hard‑reset fallback). | Hook proved redundant after DTB node works; kept as safety net. |
|
||||
| 3 | Disable hardware TSO (`snps,tso` removed from DTB). | Prevents TX storms, improves throughput (29.6 Mbps). |
|
||||
| 4 | Switch TCP congestion to **Cubic** via sysctl. | Improves network performance. |
|
||||
| 5 | Disable GMAC0 (watchdog storms). | Stops spurious watchdog messages. |
|
||||
| 6 | Enforce SPI‑NOR safety: target verification, SHA‑256 check, mandatory `flash_erase`. | Prevents accidental NOR overwrite (Failure A on 2026‑07‑25). |
|
||||
| 7 | Strip proxy vars inside Docker; optional `G18PRO_PROXY`. | Avoids Docker‑proxy leakage. |
|
||||
| 8 | Force LF line endings (`.gitattributes`), disable `core.autocrlf`. | Prevents CRLF corruption in containers. |
|
||||
| 9 | Compress images with `xz` and record SHA‑256. | Reproducibility & size savings. |
|
||||
|10| Vaultwarden‑first credential handling – repo stores only entry names. | Secrets never in VCS. |
|
||||
|11| AI / Git integration disabled by default. | Keeps build deterministic. |
|
||||
|12| Use shallow Git clones, pin `RKBIN_GIT_COMMIT=ce50c0d1`. | Faster, reproducible builds. |
|
||||
|13| Documentation language = Chinese; Windows primary host. | Consistency for team. |
|
||||
|14| Default Docker cache volume retained between builds. | Speeds up incremental builds. |
|
||||
|15| Preference for shallow clones, pinned DDR/BL31 blobs, LF line endings, KISS/YAGNI. | Overall development philosophy. |
|
||||
|
||||
**Source IDs**: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`, `ff34c6eb-6bba-41e5-9e43-ff80941fa823`, `105b328f-4bda-4641-90a7-7282ef156316`, `bf88c265-4749-4c50-85bc-4bae25298cd5`
|
||||
+95
@@ -0,0 +1,95 @@
|
||||
---
|
||||
title: Key Terminology for BDYG18ProArmbianBuilder
|
||||
type: curated
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/key-terminology-for-bdyg18-pro-armbian-builder
|
||||
stable_id: 8b959860-e7f0-4c5d-b6e7-3d4a1443ecbb
|
||||
scope: project
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: glossary
|
||||
revision: 8
|
||||
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: openai/gpt-oss-120b
|
||||
source_count: 125
|
||||
source_revisions:
|
||||
memory:11052d10-1adf-4d39-800a-08f9ae708758: '1'
|
||||
memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea: '1'
|
||||
memory:b70c1a22-6834-4e59-936c-1945b04273b7: '1'
|
||||
memory:340af5e9-b3e5-423a-9971-b370992738ce: '1'
|
||||
memory:db92ba17-fcee-4f1d-9593-6b325105e482: '1'
|
||||
source_dispositions:
|
||||
processed: 78
|
||||
unchanged: 0
|
||||
unsupported: 47
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:11052d10-1adf-4d39-800a-08f9ae708758
|
||||
- memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea
|
||||
- memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
- memory:340af5e9-b3e5-423a-9971-b370992738ce
|
||||
- memory:db92ba17-fcee-4f1d-9593-6b325105e482
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x64/win10/rockusb.inf
|
||||
- git:tools/rkdevtool/revision.txt
|
||||
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: 75339546-fef5-4656-8969-ba806e3ea6f0
|
||||
created_at: '2026-08-08T10:02:28.908855+00:00'
|
||||
updated_at: '2026-08-16T18:45:01.677727+00:00'
|
||||
tags:
|
||||
- definitions
|
||||
- terms
|
||||
---
|
||||
|
||||
# Glossary
|
||||
|
||||
| Term | Definition |
|
||||
|------|------------|
|
||||
| **Armbian** | Community‑maintained Debian‑based Linux distribution for ARM boards. |
|
||||
| **BDY‑G18‑Pro** | RK3568‑based router (8 GB DDR4, 256 GB eMMC, 32 MB SPI‑NOR, RTL8367S switch). |
|
||||
| **DTB** | Device Tree Blob – binary description of hardware passed to the kernel/bootloader. |
|
||||
| **FIT** | Flattened Image Tree – container format bundling SPL, U‑Boot, BL31, kernel, DTB. |
|
||||
| **SPL** | Secondary Program Loader (Rockchip MaskROM loads this from DDR). |
|
||||
| **U‑Boot** | Primary bootloader; stock version 2024.10 or custom mainline 2026.04. |
|
||||
| **SPI‑NOR** | 32‑MiB external flash used for SPL; write‑once in production. |
|
||||
| **eMMC** | On‑board 256 GiB storage used for root‑fs and kernel. |
|
||||
| **RTL8367S** | Realtek 5‑port DSA Ethernet switch integrated on the board. |
|
||||
| **TSO / GSO** | TCP / Generic Segmentation Offload – hardware feature disabled on this board. |
|
||||
| **Cubic** | TCP congestion control algorithm selected via `net.ipv4.tcp_congestion_control=cubic`. |
|
||||
| **syscon‑reboot‑mode** | DTB node that forces a clean reboot; added to fix power‑off hangs. |
|
||||
| **emergency‑reboot.shutdown** | Systemd shutdown script that triggers `sysrq b` hard reset. |
|
||||
| **Rockusb** | Windows kernel‑mode driver (v5.14) for Rockchip USB‑to‑UART/fastboot devices. |
|
||||
| **Rockchip Driver Installation Assistant** | Helper UI that installs Rockusb and optionally Rockchip ADB drivers on Windows. |
|
||||
| **RKDevTool** | GUI utility for flashing RK356x devices; supports storage switching, image flashing, and loader deployment. |
|
||||
| **ZRAM** | Compressed RAM block device used for `/var/log` in the Armbian image. |
|
||||
| **Docker cache volume** | Persistent Docker volume `armbian‑g18pro‑cache` (~19 GB) caching U‑Boot, kernel, ccache, etc. |
|
||||
| **KISS / YAGNI** | Design philosophy – Keep It Simple, Stupid; You Aren’t Gonna Need It. |
|
||||
| **Vaultwarden** | Self‑hosted password manager; only entry names are stored in the repo, never secret values. |
|
||||
|
||||
---
|
||||
|
||||
**Sources**
|
||||
|
||||
- `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`
|
||||
- `ff34c6eb-6bba-41e5-9e43-ff80941fa823`
|
||||
- `bf88c265-4749-4c50-85bc-4bae25298cd5`
|
||||
- `adb3722a-51e7-4ec5-88cc-a95dc399a7a1`
|
||||
- `105b328f-4bda-4641-90a7-7282ef156316`
|
||||
- `3f91189b-11a1-45bb-8357-4f413dc1609d`
|
||||
- `13`
|
||||
- `14`
|
||||
- `15`
|
||||
+115
@@ -0,0 +1,115 @@
|
||||
---
|
||||
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: 8
|
||||
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: openai/gpt-oss-120b
|
||||
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: 75339546-fef5-4656-8969-ba806e3ea6f0
|
||||
created_at: '2026-08-08T10:02:33.012303+00:00'
|
||||
updated_at: '2026-08-16T18:45:05.147636+00:00'
|
||||
tags:
|
||||
- hardware
|
||||
- boot
|
||||
- docker
|
||||
- repo
|
||||
---
|
||||
|
||||
# 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`
|
||||
+186
@@ -0,0 +1,186 @@
|
||||
---
|
||||
title: BDY‑G18‑Pro Armbian Builder – Deployment Guide
|
||||
type: curated
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/development/bdy-g18-pro-armbian-builder-deployment-guide
|
||||
stable_id: 818f5e7c-bf74-4bb0-9bb0-187f7243cf18
|
||||
scope: project
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: deployment
|
||||
revision: 8
|
||||
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: openai/gpt-oss-120b
|
||||
source_count: 125
|
||||
source_revisions:
|
||||
memory:11052d10-1adf-4d39-800a-08f9ae708758: '1'
|
||||
memory:b70c1a22-6834-4e59-936c-1945b04273b7: '1'
|
||||
memory:340af5e9-b3e5-423a-9971-b370992738ce: '1'
|
||||
memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea: '1'
|
||||
memory:d5cbbc04-5929-4583-90b4-bd6c8295db25: '1'
|
||||
memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7: '1'
|
||||
source_dispositions:
|
||||
processed: 78
|
||||
unchanged: 0
|
||||
unsupported: 47
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:11052d10-1adf-4d39-800a-08f9ae708758
|
||||
- memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
- memory:340af5e9-b3e5-423a-9971-b370992738ce
|
||||
- memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea
|
||||
- memory:d5cbbc04-5929-4583-90b4-bd6c8295db25
|
||||
- memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x64/win10/rockusb.inf
|
||||
- git:tools/rkdevtool/revision.txt
|
||||
- git:tools/loader/WHICH-LOADER.txt
|
||||
- git:tools/driver/DriverAssitant_v5.14/Readme.txt
|
||||
- git:tools/driver/DriverAssitant_v5.14/revison.log
|
||||
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: 75339546-fef5-4656-8969-ba806e3ea6f0
|
||||
created_at: '2026-08-08T10:02:39.887705+00:00'
|
||||
updated_at: '2026-08-16T18:45:13.856584+00:00'
|
||||
tags:
|
||||
- deployment
|
||||
- flash
|
||||
- loader
|
||||
- kernel
|
||||
- dtb
|
||||
- docker
|
||||
- security
|
||||
- documentation
|
||||
---
|
||||
|
||||
# BDY‑G18 Pro Armbian Builder – Deployment Overview
|
||||
|
||||
**Workspace**: `BDYG18ProArmbianBuilder` (type **development**)
|
||||
**Scope**: Reproducible creation of a flash‑able Armbian image for the BDY‑G18‑Pro RK3568 router and reliable programming of the device via the Rockchip **RKDevTool** utility.
|
||||
|
||||
---
|
||||
|
||||
## 1. Project Goal & Target Image
|
||||
- **Goal**: Produce a reproducible, flash‑able Armbian image (Community DIY 13.3 Debian Trixie) with kernel 6.18.x (current build 6.18.40).
|
||||
- **Preferred image**: *stock* – uses the vendor‑verified boot chain (U‑Boot SPL/U‑Boot on SPI‑NOR) with a minimal Armbian rootfs.
|
||||
- **Self‑built mode** is available for auditability.
|
||||
|
||||
> Sources: `c650c1e4-18ee-44ad-af42-b7632fbdcf5c`, `dd496c6d-1619-457d-86a9-da57f5b866d7`, `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`
|
||||
|
||||
---
|
||||
|
||||
## 2. Repository Layout & Build Infrastructure
|
||||
| Directory | Purpose |
|
||||
|----------|---------|
|
||||
| `arm64‑custom/` | Build scripts (`build_g18pro.py`, `build_g18pro.ps1`). |
|
||||
| `evidence/` | Collected logs, DTB files, kernel configs. |
|
||||
| `outputs/armbian-g18pro/` | Final artefacts – compressed image, SHA‑256 manifest, verification report, build log. |
|
||||
| `armbian‑g18pro‑cache` (Docker volume) | Persistent cache (~19 GB) for U‑Boot, kernel, rootfs, ccache. |
|
||||
|
||||
> Sources: `adb3722a-51e7-4ec5-88cc-a95dc399a7a1`, `Batch 2/16`
|
||||
|
||||
The **Docker image** used is `ghcr.io/armbian/docker-armbian-build:armbian-ubuntu-noble-latest`. The orchestrator is a Python script plus a PowerShell wrapper that works on Windows PowerShell **or** Linux Bash.
|
||||
|
||||
> Sources: `adb3722a-51e7-4ec5-88cc-a95dc399a7a1`
|
||||
|
||||
---
|
||||
|
||||
## 3. Flash Procedure (RKDevTool)
|
||||
1. **Verify target storage** – select **EMMC** (not SPI‑NOR) in the *Read Flash Info* dialog.
|
||||
2. Use **RKDevTool V3.37+** (the latest revision listed in the change log).
|
||||
3. Load the **preferred loader** `rk356x_spl_loader_v1.25.114.bin` (SHA‑256 `d7db6f39…9bba`).
|
||||
4. **Download Boot** – copies the loader to DDR (RAM) only; no persistent write.
|
||||
5. *(Optional)* **Switch Storage** if the board has multiple media (UFS, SPI‑NOR).
|
||||
6. **Burn Loader** – writes the ID‑Block (SPL) to the selected storage.
|
||||
7. **Flash partitions** – address 0x00000000, force‑address‑write enabled, load the compressed `.img.xz` (≈ 2.12 GiB).
|
||||
8. After flashing, run `systemctl reboot` (the `syscon‑reboot‑mode` DTB node forces a clean reboot).
|
||||
9. Verify with `rkdevtool verify` or compare the SHA‑256 manifest against the image file.
|
||||
|
||||
> Sources: `6`, `7`, `16` (loader 1), `818f5e7c-bf74-4bb0-9bb0-187f7243cf18`
|
||||
|
||||
### 3.1 Loader Provenance
|
||||
| Loader | SHA‑256 | Size | Build date | Remarks |
|
||||
|--------|----------|------|------------|---------|
|
||||
| `rk356x_spl_loader_v1.25.114.bin` | `d7db6f39…9bba` | 481 KB | 2026‑01‑09 | Clean upstream copy – **primary** choice. |
|
||||
| `rk356x_spl_loader_v1.21.113.bin` | `589f1a70…8f8b` | 475 KB | – | 8‑byte timestamp/CRC delta – secondary fallback. |
|
||||
| `rk3568_MiniLoaderAll.bin` | `512211c9…3315d2` | 481 KB | – | 10‑byte delta – tertiary fallback. |
|
||||
|
||||
> Sources: `16` entries 1‑3
|
||||
|
||||
---
|
||||
|
||||
## 4. Kernel & System Configuration
|
||||
- **Kernel**: Linux 6.18.40‑current‑rockchip64 (Armbian 26.05.0).
|
||||
- **DTB**: `rk3568‑bdy‑g18‑pro.dtb` (stock) with the following key patches applied:
|
||||
- `syscon‑reboot‑mode` node (clean reboots).
|
||||
- `snps,tso` removed (TSO disabled).
|
||||
- GMAC0 reset‑storm disabled.
|
||||
- **Root‑flags**: `rw,errors=remount-ro` aligned in both `armbianEnv.txt` and `extlinux.conf`.
|
||||
- **Networking**: TCP congestion control set to **Cubic**; TSO/GSO disabled.
|
||||
- **Docker**: Cache volume retained, cgroup options added via `armbianEnv.txt`.
|
||||
|
||||
> Sources: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`, `ff34c6eb-6bba-41e5-9e43-ff80941fa823`, `evidence/live-system/as-shipped-snapshot.txt`, `evidence/live-system/tso-fix-verification-2026-07-31.txt`, `evidence/vendor-backup/vendor-armbianEnv.txt`, `evidence/vendor-backup/vendor-extlinux.conf`
|
||||
|
||||
---
|
||||
|
||||
## 5. Key Decisions & Rationale
|
||||
| # | Decision | Rationale |
|
||||
|---|----------|-----------|
|
||||
| 1 | Keep **stock U‑Boot** (no custom SPL compile). | Simplifies firmware supply‑chain; stock boot chain is verified. |
|
||||
| 2 | Remove original `emergency‑reboot.shutdown` hook (now redundant). | The new emergency‑restart script (`sysrq‑b`) already guarantees clean reboots. |
|
||||
| 3 | Add `syscon‑reboot‑mode` DTB node and enable it. | Fixes power‑off hang; clean reboot works without manual power‑cycle. |
|
||||
| 4 | Disable hardware TSO (`snps,tso`). | Eliminates massive retransmission storms; network throughput ↑ to 29.6 Mbps. |
|
||||
| 5 | Set TCP congestion to **Cubic** via sysctl. | Improves TCP performance on the router. |
|
||||
| 6 | Enforce SHA‑256 verification of flashed images. | Prevents accidental NOR overwrite (Failure A on 2026‑07‑25). |
|
||||
| 7 | Strip proxy variables inside Docker; optional `G18PRO_PROXY`. | Avoids proxy leakage into container builds. |
|
||||
| 8 | Force LF line endings via `.gitattributes`; disable `core.autocrlf`. | Prevents CRLF corruption in containers. |
|
||||
| 9 | Compress final image with `xz` and record SHA‑256. | Size savings and reproducibility. |
|
||||
|10| Use **Vaultwarden** for credential storage – repository stores only entry **name** and **purpose**. | Secrets never appear in VCS. |
|
||||
|11| AI / Git integration disabled by default. | Keeps builds deterministic. |
|
||||
|12| Shallow Git clones, pin `RKBIN_GIT_COMMIT=ce50c0d1`. | Faster, reproducible builds. |
|
||||
|
||||
> Sources: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`, `ff34c6eb-6bba-41e5-9e43-ff80941fa823`, `bf88c265-4749-4c50-85bc-4bae25298cd5`, `adb3722a-51e7-4ec5-88cc-a95dc399a7a1`, `Batch 2/16`, `105b328f-4bda-4641-90a7-7282ef156316`
|
||||
|
||||
---
|
||||
|
||||
## 6. Open / Ongoing Deployment Tasks
|
||||
| # | Task | Status |
|
||||
|---|------|--------|
|
||||
| 1 | Verify tiny‑SPI SPL can read > 8 MiB from SPI‑NOR. | Unresolved – needs measurement. |
|
||||
| 2 | Add missing interrupt‑controller node for RTL8367S in DTB. | Open. |
|
||||
| 3 | Validate PCIe BAR allocation (`pci=realloc`). | Planned. |
|
||||
| 4 | Pin `RKBIN_GIT_COMMIT` permanently (currently `ce50c0d1`). | Open. |
|
||||
| 5 | Test `selfbuilt‑ums` mode (USB‑mass‑storage) for field diagnostics. | Open. |
|
||||
| 6 | Implement post‑flash verification watchdog script. | Open. |
|
||||
| 7 | Keep `rockusb.inf` catalog signed (`rockusb.cat`). | Unresolved – required for driver signing enforcement. |
|
||||
|
||||
> Sources: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`, `evidence/emmc-reset-evaluation.txt`, `evidence/live-system/tso-diagnosis-2026-07-31.txt`, `13`, `14`, `15`
|
||||
|
||||
---
|
||||
|
||||
## 7. Preferences (Scenario‑Level)
|
||||
- **Language**: Chinese (documentation).
|
||||
- **Primary host**: Windows (PowerShell) with Bash support.
|
||||
- **Design philosophy**: KISS & YAGNI; shallow clones; LF line endings; Docker cache retained.
|
||||
- **Secrets**: Vaultwarden only.
|
||||
- **AI/Git integration**: Disabled unless explicitly enabled.
|
||||
|
||||
> Sources: `ff34c6eb-6bba-41e5-9e43-ff80941fa823`, `bf88c265-4749-4c50-85bc-4bae25298cd5`, `105b328f-4bda-4641-90a7-7282ef156316`, `3f91189b-11a1-45bb-8357-4f413dc1609d`
|
||||
|
||||
---
|
||||
|
||||
## 8. Tags
|
||||
`deployment, flash, loader, kernel, dtb, docker, security, documentation`
|
||||
+134
@@ -0,0 +1,134 @@
|
||||
---
|
||||
title: BDY‑G18‑Pro Armbian Builder – Maintenance & Operational Procedures
|
||||
type: curated
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/development/bdy-g18-pro-armbian-builder-maintenance-operational-procedures
|
||||
stable_id: 281fe703-8e1a-475c-ac21-3ed9b03eb63e
|
||||
scope: project
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: maintenance
|
||||
revision: 8
|
||||
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: openai/gpt-oss-120b
|
||||
source_count: 125
|
||||
source_revisions:
|
||||
memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92: '1'
|
||||
memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea: '1'
|
||||
memory:b70c1a22-6834-4e59-936c-1945b04273b7: '1'
|
||||
memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7: '1'
|
||||
memory:d5cbbc04-5929-4583-90b4-bd6c8295db25: '1'
|
||||
source_dispositions:
|
||||
processed: 78
|
||||
unchanged: 0
|
||||
unsupported: 47
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92
|
||||
- memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea
|
||||
- memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
- memory:7cf6c014-d2fa-4f99-9ed9-c070b108d3c7
|
||||
- memory:d5cbbc04-5929-4583-90b4-bd6c8295db25
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x86/win8/rockusb.inf
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x64/win10/rockusb.inf
|
||||
- git:tools/driver/DriverAssitant_v5.14/Readme.txt
|
||||
- git:tools/driver/DriverAssitant_v5.14/revison.log
|
||||
- git:tools/loader/WHICH-LOADER.txt
|
||||
- git:tools/rkdevtool/Readme_v1.0.pdf
|
||||
- git:tools/rkdevtool/revision.txt
|
||||
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: 75339546-fef5-4656-8969-ba806e3ea6f0
|
||||
created_at: '2026-08-08T10:02:42.406146+00:00'
|
||||
updated_at: '2026-08-16T18:45:19.484666+00:00'
|
||||
tags:
|
||||
- maintenance
|
||||
- checklist
|
||||
- troubleshooting
|
||||
- known-issues
|
||||
- open-tasks
|
||||
- security
|
||||
---
|
||||
|
||||
# BDY‑G18 Pro Armbian Builder – Maintenance Checklist & Known Issues
|
||||
|
||||
**Workspace**: `BDYG18ProArmbianBuilder` (type **development**)
|
||||
**Scope**: Daily health checks, troubleshooting, and open‑item tracking for the Armbian image and the underlying hardware.
|
||||
|
||||
---
|
||||
|
||||
## 1. Daily Maintenance Checklist
|
||||
| Check | Desired State |
|
||||
|-------|---------------|
|
||||
| System time (`chronyc tracking`) | offset `< 1 ms` |
|
||||
| CPU temperature | `< 75 °C` |
|
||||
| ZRAM usage (`/dev/zram1`) | ≤ 80 % |
|
||||
| Network offloads (`ethtool -k eth0`) | `tso: off`, `gso: off` |
|
||||
| TCP congestion control | `net.ipv4.tcp_congestion_control = cubic` |
|
||||
| Docker cache volume `armbian‑g18pro‑cache` present | Yes |
|
||||
|
||||
> Source: `281fe703-8e1a-475c-ac21-3ed9b03eb63e`
|
||||
|
||||
---
|
||||
|
||||
## 2. Known Issues & Mitigations
|
||||
| Issue | Symptom | Root Cause | Mitigation |
|
||||
|-------|---------|------------|------------|
|
||||
| **Power‑off hangs** | `systemctl poweroff` does not turn the board off; manual power‑cycle required. | `POWER_OFF_NOTIFY` flag left set in eMMC (see *emmc‑reset‑evaluation*). | Use `syscon‑reboot‑mode` DTB node for clean reboot; keep `emergency‑reboot.shutdown` script as hard‑reset fallback. |
|
||||
| **Network TX storms / low throughput** | Upload stalls, many retransmissions, ~1 Mbps throughput. | TSO enabled in DTB (`snps,tso`). | Remove `snps,tso` from DTB (kernel 6.18.41). |
|
||||
| **GMAC0 watchdog messages** | Spurious watchdog logs, possible link storms. | GMAC0 enabled without a physical link. | Keep GMAC0 disabled in DTB. |
|
||||
| **Accidental SPI‑NOR overwrite** | Flashing tool writes to NOR, corrupting SPL. | User selects wrong storage in RKDevTool. | Enforce target verification, SHA‑256 check, mandatory `flash_erase` before any NOR write. |
|
||||
| **Docker proxy leakage** | Proxy env vars leaked into container builds. | Proxy vars passed unchanged. | Strip vars inside Docker; optional `G18PRO_PROXY` variable. |
|
||||
| **CRLF corruption** | Files corrupted after Windows checks out. | `core.autocrlf=true`. | Enforce LF via `.gitattributes`, set `core.autocrlf=false`. |
|
||||
| **PCIe BAR allocation failures** | Kernel logs: `can’t assign; no space`. | Overlapping memory windows on Rockchip PCIe host. | Add kernel cmdline `pci=realloc` (or `pci=assign-buses`). |
|
||||
| **MaskROM fallback after bad flash** | Board resets to MaskROM on power‑cycle. | Boot flag `boot_success` not set after flash. | Verify `boot_success` flag is written; use `syscon‑reboot‑mode` node. |
|
||||
|
||||
> Sources: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`, `evidence/emmc-reset-evaluation.txt`, `evidence/live-system/tso-diagnosis-2026-07-31.txt`, `evidence/live-system/tso-fix-verification-2026-07-31.txt`, `evidence/live-system/as-shipped-snapshot.txt`
|
||||
|
||||
---
|
||||
|
||||
## 3. Open Maintenance Tasks
|
||||
| # | Task | Status |
|
||||
|---|------|--------|
|
||||
| 1 | Verify tiny‑SPI SPL can read > 8 MiB from SPI‑NOR. | Unresolved – needs measurement. |
|
||||
| 2 | Capture high‑resolution photos of rear‑side pads (for documentation). | Pending. |
|
||||
| 3 | Add missing RTL8367S interrupt‑controller node to DTB. | Open. |
|
||||
| 4 | Confirm PCIe BAR allocation after adding `pci=realloc`. | Planned verification. |
|
||||
| 5 | Review Rockusb driver security descriptor (currently all‑access). | Open – may tighten for production. |
|
||||
| 6 | Generate and sign `rockusb.cat` to satisfy driver‑signing enforcement. | Unresolved. |
|
||||
| 7 | Update VID/PID list in `rockusb.inf` for new Rockchip boards. | Ongoing as new hardware appears. |
|
||||
| 8 | Test `selfbuilt‑ums` mode (USB‑mass‑storage) for field diagnostics. | Open. |
|
||||
| 9 | Implement post‑flash verification watchdog script. | Open. |
|
||||
|10| Periodically update Armbian to newer kernels (e.g., 6.19). | Ongoing. |
|
||||
|
||||
> Sources: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`, `8a861a5f-35c3-4f95-bd5b-6b2297888f56`, `13`, `14`, `15`
|
||||
|
||||
---
|
||||
|
||||
## 4. Preferred Maintenance Practices (Scenario‑Level)
|
||||
- Run the **daily checklist** (section 1) via a scheduled script; log any deviation.
|
||||
- Keep Docker cache volume between builds to speed up incremental builds.
|
||||
- After any flash, immediately verify SHA‑256 of the image and the `boot_success` flag.
|
||||
- When changing DTB or kernel parameters, keep a **git‑ignored** copy of the original for rollback.
|
||||
- Store all secrets (Wi‑Fi passwords, SSH keys) in Vaultwarden; never check them into the repo.
|
||||
|
||||
> Sources: `ff34c6eb-6bba-41e5-9e43-ff80941fa823`, `bf88c265-4749-4c50-85bc-4bae25298cd5`, `105b328f-4bda-4641-90a7-7282ef156316`
|
||||
|
||||
---
|
||||
|
||||
## 5. Tags
|
||||
`maintenance, checklist, troubleshooting, known‑issues, open‑tasks, security`
|
||||
+161
@@ -0,0 +1,161 @@
|
||||
---
|
||||
title: Troubleshooting Guide for BDYG18Pro Armbian Builder
|
||||
type: curated
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/curated/development/troubleshooting-guide-for-bdyg18-pro-armbian-builder
|
||||
stable_id: a89adf53-4420-43ef-9a95-56567f524ef6
|
||||
scope: project
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
workspace_type: development
|
||||
usage_profile_id: null
|
||||
preference_context: development
|
||||
document_type: troubleshooting
|
||||
revision: 8
|
||||
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: openai/gpt-oss-120b
|
||||
source_count: 125
|
||||
source_revisions:
|
||||
memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92: '1'
|
||||
memory:340af5e9-b3e5-423a-9971-b370992738ce: '1'
|
||||
memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea: '1'
|
||||
memory:b70c1a22-6834-4e59-936c-1945b04273b7: '1'
|
||||
source_dispositions:
|
||||
processed: 78
|
||||
unchanged: 0
|
||||
unsupported: 47
|
||||
skipped: 0
|
||||
cited_source_ids:
|
||||
- memory:40bd0324-4ef3-4777-9dba-5a7ef64a4c92
|
||||
- memory:340af5e9-b3e5-423a-9971-b370992738ce
|
||||
- memory:bea4a5ba-4685-4869-a02e-f0f1c7f733ea
|
||||
- memory:b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
- git:tools/driver/DriverAssitant_v5.14/Driver/x64/win10/rockusb.inf
|
||||
- git:tools/rkdevtool/revision.txt
|
||||
- git:tools/driver/DriverAssitant_v5.14/revison.log
|
||||
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: 75339546-fef5-4656-8969-ba806e3ea6f0
|
||||
created_at: '2026-08-08T10:02:36.551871+00:00'
|
||||
updated_at: '2026-08-16T18:45:08.059901+00:00'
|
||||
tags:
|
||||
- issues
|
||||
- fixes
|
||||
- debugging
|
||||
---
|
||||
|
||||
# Troubleshooting
|
||||
|
||||
## Power‑off hangs
|
||||
|
||||
**Symptom**: `systemctl poweroff` leaves the board powered on; manual power‑cycle required.
|
||||
|
||||
**Root cause**: Linux sets `POWER_OFF_NOTIFICATION=LONG` in the eMMC EXT_CSD, putting the eMMC into a low‑power state that the BootROM cannot wake.
|
||||
|
||||
**Fix**: Enable `syscon‑reboot‑mode` DTB node (adds a clean reboot path) **or** use the `emergency‑reboot.shutdown` systemd script which triggers `sysrq b` hard reset.
|
||||
|
||||
*Sources*: `evidence/emmc-reset-evaluation.txt`, `evidence/live-system/emergency-reboot.shutdown`.
|
||||
|
||||
---
|
||||
|
||||
## Network TX storms / low throughput
|
||||
|
||||
**Symptom**: Massive retransmits, throughput ≈ 1 Mbps.
|
||||
|
||||
**Cause**: Device Tree enables `snps,tso` (TCP Segmentation Offload) on the GMAC, which the driver mishandles.
|
||||
|
||||
**Resolution**: Remove the `snps,tso` property from the DTB (kernel 6.18.41). Verify with `ethtool -k eth0` → `tso: off`. Throughput improves to ~30 Mbps.
|
||||
|
||||
*Sources*: `evidence/live-system/tso-diagnosis-2026-07-31.txt`, `evidence/live-system/tso-fix-verification-2026-07-31.txt`.
|
||||
|
||||
---
|
||||
|
||||
## GMAC0 watchdog storms
|
||||
|
||||
**Symptom**: Repeated watchdog messages in the kernel log.
|
||||
|
||||
**Cause**: GMAC0 is enabled without a physical link, generating spurious watchdog events.
|
||||
|
||||
**Fix**: Disable GMAC0 in the DTB (set `status = "disabled"`). The system now only uses GMAC1 for the RTL8367S switch.
|
||||
|
||||
*Source*: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`.
|
||||
|
||||
---
|
||||
|
||||
## Accidental SPI‑NOR overwrite
|
||||
|
||||
**Symptom**: Flashing the SPL to SPI‑NOR overwrites the boot region; on power‑cycle the board falls back to MaskROM.
|
||||
|
||||
**Mitigation**: RKDevTool warns when the target storage is SPI‑NOR. Additionally, the build scripts enforce:
|
||||
- Target verification via SHA‑256 manifest.
|
||||
- Mandatory `flash_erase` before writing.
|
||||
|
||||
*Source*: `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`.
|
||||
|
||||
---
|
||||
|
||||
## Docker proxy leakage
|
||||
|
||||
**Symptom**: Proxy environment variables leak into the Docker container, causing network failures.
|
||||
|
||||
**Solution**: The orchestrator strips proxy vars inside Docker and uses optional `G18PRO_PROXY` only when explicitly set. `.curlrc`, `.wgetrc`, and Git `insteadOf` are also configured.
|
||||
|
||||
*Source*: Batch 2/16, `4`.
|
||||
|
||||
---
|
||||
|
||||
## CRLF line‑ending corruption
|
||||
|
||||
**Symptom**: Files edited on Windows acquire CRLF line endings, breaking scripts inside the Docker container.
|
||||
|
||||
**Remedy**: Enforce LF line endings via `.gitattributes` and set `core.autocrlf=false`.
|
||||
|
||||
*Source*: `ff34c6eb-6bba-41e5-9e43-ff80941fa823`.
|
||||
|
||||
---
|
||||
|
||||
## PCIe BAR allocation failures
|
||||
|
||||
**Symptom**: Kernel logs report `BAR 0: can't assign; no space`.
|
||||
|
||||
**Work‑around**: Add kernel cmdline `pci=realloc` (or `pci=assign-busses`). This re‑allocates address windows to avoid overlaps.
|
||||
|
||||
*Source*: `evidence/vendor-backup/vendor-kern.log.net-lines.txt`.
|
||||
|
||||
---
|
||||
|
||||
## Rockusb driver installation issues
|
||||
|
||||
**Problem**: Windows requires a signed catalog (`rockusb.cat`) which is not shipped.
|
||||
|
||||
**Temporary fix**: Install the driver in **Test‑Signed** mode (`pnputil /add-driver rockusb.inf /install`) or generate a signed catalog using a code‑signing certificate.
|
||||
|
||||
**Security note**: The INF grants `Everyone` full read/write/execute access (`D:P(A;;GRGWGX;;;WD)`). Consider tightening the descriptor for production environments.
|
||||
|
||||
*Sources*: `13`, `14`, `15`.
|
||||
|
||||
---
|
||||
|
||||
**References**
|
||||
|
||||
- `aa3057ab-54c5-4ffc-ba85-c2f2396ee60c`
|
||||
- `evidence/emmc-reset-evaluation.txt`
|
||||
- `evidence/live-system/emergency-reboot.shutdown`
|
||||
- `evidence/live-system/tso-diagnosis-2026-07-31.txt`
|
||||
- `evidence/live-system/tso-fix-verification-2026-07-31.txt`
|
||||
- `evidence/vendor-backup/vendor-kern.log.net-lines.txt`
|
||||
- `4`
|
||||
- `13`
|
||||
- `14`
|
||||
- `15`
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: 仓库结构与构建入口
|
||||
type: fact
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/仓库结构与构建入口
|
||||
stable_id: 7cf6c014-d2fa-4f99-9ed9-c070b108d3c7
|
||||
scope: project
|
||||
memory_type: fact
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: import-bdyg18pro-20260802-project-02
|
||||
updated_at: '2026-08-02T09:39:36.567669+00:00'
|
||||
tags:
|
||||
- bdyg18pro
|
||||
- build
|
||||
- docker
|
||||
- repository
|
||||
---
|
||||
|
||||
# 仓库结构与构建入口
|
||||
|
||||
- `armbian-custom/` 保存外层构建脚本、板级配置、DTB、启动资产与离线验证逻辑,入口为 `python .\armbian-custom\build_g18pro.py`。
|
||||
- `BDYG18ProBuild/` 是独立 Git 子模块,提供完整构建、刷机、备份、恢复、设备体检和网络回归工具,入口为子模块中的 `python main.py`。
|
||||
- `evidence/` 保存文本取证;`outputs/`、`tools/`、`backups/`、`work/` 保存本地二进制资产并按规则忽略。
|
||||
- 构建使用官方 Armbian 框架和 Docker;持久缓存卷应保留,以复用内核源码、rootfs、APT 和工具链缓存。
|
||||
- 构建产物必须完成 GPT、文件系统、DTB、DSA 模块、启动区和网络修复的离线验证后才可标记为可刷写。
|
||||
@@ -0,0 +1,27 @@
|
||||
---
|
||||
title: 刷写与恢复安全规则
|
||||
type: rule
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/刷写与恢复安全规则
|
||||
stable_id: b70c1a22-6834-4e59-936c-1945b04273b7
|
||||
scope: project
|
||||
memory_type: rule
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: import-bdyg18pro-20260802-project-04
|
||||
updated_at: '2026-08-02T09:39:37.156869+00:00'
|
||||
tags:
|
||||
- bdyg18pro
|
||||
- flashing
|
||||
- recovery
|
||||
- safety
|
||||
---
|
||||
|
||||
# 刷写与恢复安全规则
|
||||
|
||||
- 不直接刷通用 RK3568 镜像;必须使用本项目的 U-Boot、DTB 和 RTL8367S/DSA 配置。
|
||||
- 正常状态下 32 MB SPI NOR 必须保持全 `0xff`,引导链随整盘镜像写入 eMMC。
|
||||
- RKDevTool 下载 Loader 后默认可能仍选中 SPINOR;写入前必须确认目标为 EMMC,容量约 238592 MB,而不是 32 MB。
|
||||
- Loader 只下载到 RAM;整盘镜像从 eMMC 用户区 LBA 0 写入。不要使用“升级固件”、下载 IDB、清空存储或误写 SPI NOR。
|
||||
- MaskROM 是最终恢复入口;SPI NOR 误写时先确认容量并备份,再按恢复文档处理。
|
||||
- 任何不可逆擦除或刷写操作都必须先核对设备、存储类型、镜像 SHA-256 和备份状态。
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: 启动与网络故障修复决策
|
||||
type: decision
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/启动与网络故障修复决策
|
||||
stable_id: bea4a5ba-4685-4869-a02e-f0f1c7f733ea
|
||||
scope: project
|
||||
memory_type: decision
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: import-bdyg18pro-20260802-project-05
|
||||
updated_at: '2026-08-02T09:39:37.420104+00:00'
|
||||
tags:
|
||||
- bdyg18pro
|
||||
- reboot
|
||||
- gmac
|
||||
- decision
|
||||
---
|
||||
|
||||
# 启动与网络故障修复决策
|
||||
|
||||
- 热重启失败根因是关机路径向 eMMC 发送 `POWER_OFF_NOTIFY(LONG)`,而硬件没有可用复位路径;项目用 systemd shutdown 钩子把 reboot 转为紧急复位,绕过 `device_shutdown()`。
|
||||
- `fe010000.ethernet` 是没有对端的 GMAC0,Linux 6.18 会反复 DMA 复位并触发 WATCHDOG;设备树将其设为 disabled。
|
||||
- 实际 DSA 联机路径为 GMAC1 与 RTL8367S,不应因 GMAC0 的历史配置而改坏现有五口网络。
|
||||
- `reboot bootrom` 使用板级 `syscon-reboot-mode` 进入下载模式;不要使用在当前引导链上无效的 `reboot loader`。
|
||||
- 这些结论均来自实机或离线证据,后续修改不得退回已被证伪的假设。
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
title: 当前限制与维护注意事项
|
||||
type: fact
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/当前限制与维护注意事项
|
||||
stable_id: 40bd0324-4ef3-4777-9dba-5a7ef64a4c92
|
||||
scope: project
|
||||
memory_type: fact
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: import-bdyg18pro-20260802-project-07
|
||||
updated_at: '2026-08-02T09:39:37.976907+00:00'
|
||||
tags:
|
||||
- bdyg18pro
|
||||
- limitations
|
||||
- maintenance
|
||||
---
|
||||
|
||||
# 当前限制与维护注意事项
|
||||
|
||||
- `poweroff` 仍走正常设备关机路径;关机后需要真正断电再上电,不能把 reboot 的紧急复位方案直接套用到 poweroff。
|
||||
- PCIe 3.0 / M.2 插槽当前不可用,除非有新的硬件证据,不应把它视为已支持能力。
|
||||
- 自编内核、DTB 和 U-Boot 不是普通 Debian 包;升级前必须检查 Armbian 包替换风险和 BSPFREEZE 状态。
|
||||
- 日志以 journald 为唯一主要来源,避免 rsyslog 与 ramlog 重复保存或导致崩溃证据丢失。
|
||||
- `backups/` 中的原机备份不可再生且不随 Git 迁移,换机时必须单独保管。
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
title: 设备与当前验证状态
|
||||
type: fact
|
||||
permalink: main/projects/d0abaf3f-da04-4dd4-a228-bacf68f44e8f/设备与当前验证状态
|
||||
stable_id: d5cbbc04-5929-4583-90b4-bd6c8295db25
|
||||
scope: project
|
||||
memory_type: fact
|
||||
project_id: d0abaf3f-da04-4dd4-a228-bacf68f44e8f
|
||||
status: active
|
||||
revision: 1
|
||||
request_id: import-bdyg18pro-20260802-project-03
|
||||
updated_at: '2026-08-02T09:39:36.870602+00:00'
|
||||
tags:
|
||||
- bdyg18pro
|
||||
- device
|
||||
- status
|
||||
- validation
|
||||
---
|
||||
|
||||
# 设备与当前验证状态
|
||||
|
||||
- 当前设备地址为 `192.168.32.100`,SSH 用户为 `root`;密码通过密码库条目 `BDYG18Pro Armbian SSH` 获取。
|
||||
- 当前验证系统基于 Debian 13 Trixie 和自定义 Armbian,已验证 Linux `6.18.40-current-rockchip64` 镜像。
|
||||
- 设备使用 32 MB SPI NOR 和 256 GB eMMC;正常方案从 eMMC 用户区启动。
|
||||
- 五个物理网口由 RTL8367S DSA 提供,实际联机主接口对应 GMAC1;未连接的 GMAC0 已在设备树禁用。
|
||||
- 最新实机验证确认正常重启、DSA 网口、TSO 修复和 4 MB 上传零重传增量。
|
||||
Reference in New Issue
Block a user