135 lines
6.6 KiB
Markdown
135 lines
6.6 KiB
Markdown
---
|
||
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: 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: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: null
|
||
created_at: '2026-08-08T10:02:42.406146+00:00'
|
||
updated_at: '2026-09-23T15:03:51.623884+00:00'
|
||
tags:
|
||
- maintenance
|
||
- checklist
|
||
- troubleshooting
|
||
- known-issues
|
||
- open-tasks
|
||
- security
|
||
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
|
||
---
|
||
|
||
# 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` |