BSP 源码图谱Pinned source and build inputs
四个固定 Git 提交、159,754 字节配置对应证据、手册页码、工具链路径和下一内核工作包。
Four pinned repositories, complete configuration identity, manual page references and the next kernel work package.
阅读中英图谱 / Read source map ↗C0-012 · 2026-10-12 · FIELD ENGINEERING / 现场工程
把 T736 这两天的发现、失败、修复和工作目录接起来,让下一位开发者从已有证据开始。A practical handoff for T736 display, desktop, BSP and ETH-like MCP work, grounded in the actual experiments of 10–12 October 2026.
START HERE
| 对象 / Target | 已知状态 / Recorded state | 依据 / Evidence |
|---|---|---|
| HDMI · 1080p | 人眼、键鼠与跨 Boot 桌面恢复已验Visible desktop, input and later-boot recovery verified | 既有 C011 |
| HDMI · 2K | 2560×1440 @ 60 Hz 已显示;热插拔恢复待复现2K at 60 Hz observed; intermittent recovery remains open | D0-004 / D0-005 |
| Files / Terminal | Files 参数已修、真窗口已验;Terminal 有现场确认Files repaired and real windows verified; Terminal operator-confirmed | 桌面 C005 → C006 |
| GNOME Web | 软件已装;namespace 阻塞,浏览器窗口未通过Installed; namespace failure; usable browser not accepted | 浏览器 C002 → C005 |
| BSP / Kernel | 源码与完整配置已对应;候选内核尚未构建Source/configuration matched; candidate kernel not built | BSP C006 |
| ETH-like MCP | 原 C002 服务已通过 SDK;重放不新增 receiptOriginal C002 SDK accepted; replay adds no receipt | 合约 C002 |
| AIS B · NPU 启动 | 参考计算已有证据;B 板自动恢复仍有独立缺项Compute evidence exists; B-board auto-restore remains open | B0-009 |
状态按所列工作包的证据日期记录。本次是知识与源码发布,没有新增设备测试。不同板卡、冷断电、普通重启和热插拔的结果分别保留。This publication adds no new hardware acceptance. Keep results tied to their target board and method; power removal, reboot and hot-plug are different tests.
FIELD NOTES
16 条经验 · 36 个工作目录 / 16 lessons · 36 directories
有 HDMI 接口、驱动节点或测试彩条,仍没有正常桌面。A connector, driver node or test pattern exists, but the normal desktop is absent.
D0-001 到 D0-003 分别查到运行设备树中的显示路由问题,以及路由恢复后独立存在的 Xorg 崩溃。内部测试图案只证明相应输出路径。D0-001 through D0-003 separated the live device-tree route from a later Xorg crash. An internal pattern proves only its own output path.
依次核对板卡身份、运行 DT、HPD/EDID、DRM connector、Xorg/LightDM、实际窗口与键鼠。每层保留独立结果。Check board identity, live DT, HPD/EDID, DRM connector, Xorg/LightDM, visible windows and physical input in order; retain a result for each layer.
来源与范围 / Source and scope ↗CASE_DIAGNOSIS_VERIFIED
Xorg 在 modesetting 的 RandR 属性初始化阶段 SIGSEGV。Xorg crashes during modesetting RandR property initialization.
GDB 查到空属性指针。自写兼容层按 DRM_MODE_PROP_BITMASK 类型过滤 connector 属性;现场记录的属性为 pixelformat_support 和 dynamicrange_support。代码不是按这两个名称做白名单。GDB identified a null property pointer. The HSIMC filter excludes connector properties by DRM_MODE_PROP_BITMASK type. The two observed names were pixelformat_support and dynamicrange_support; the implementation is not a two-name allowlist.
复用前对照源码、Xorg/libdrm 版本和完整属性列表。把它限定在已验收的 Xorg 进程启动范围内,另行验证其他板卡。Review the source, Xorg/libdrm versions and complete property list before reuse. Preserve the tested Xorg-process scope and validate other boards separately.
来源与范围 / Source and scope ↗SOURCE_SCOPE_CORRECTION
换显示器后 2560×1440 可用,但现场仍报告偶发插拔或断电后无画面。2560×1440 works on the tested monitor, while the operator reports occasional recovery failures.
D0-004 有 2K @ 60 Hz 模式与现场显示确认;D0-005 尚无足够失败时窗、复现次数和恢复耗时,未建立自动恢复 PASS。D0-004 has 2K at 60 Hz mode evidence and operator confirmation. D0-005 lacks a captured failure window, reproduction count and recovery timing; automatic recovery is not accepted.
按显示器/EDID、同一 Boot、插拔时刻和恢复时间组织复现。把 1080p、2K、重启、热插拔分别验收。Record monitor/EDID, boot context, unplug/replug timestamps and recovery time. Accept 1080p, 2K, reboot and hot-plug behavior separately.
来源与范围 / Source and scope ↗2K_VERIFIED_HOTPLUG_OPEN
Files 图标似乎响应,却没有文件管理器窗口。The Files launcher appears to respond, but no file-manager window opens.
本机 Thunar 的 --home 参数无效:退出码为 0,同时 stderr 写出 Unknown option --home。改为传入实际用户目录后,才验到 IsViewable 的真实窗口。This Thunar build rejected --home with Unknown option --home on stderr while returning zero. Passing the actual home directory produced a real IsViewable window.
检查 .desktop 的 Exec、stderr、目标进程、窗口映射与屏幕位置;再由现场点击确认。desktop-file-validate 只证明文件语法。Inspect Exec, stderr, process, mapped window and screen position, then confirm a physical click. desktop-file-validate checks syntax only.
来源与范围 / Source and scope ↗FILES_FIXED_WINDOW_VERIFIED
怀疑多显示器、桌面权限或浏览器未设为默认,导致图标无效。An unresponsive icon suggests another display, launcher trust or browser defaults.
C005 回查时是单 HDMI-1、一个工作区;Terminal 窗口可见且后续得到现场确认。GNOME Web 启动则走到了独立的 namespace 错误。C005 observed one HDMI-1 output and one workspace. Terminal became visible and received later operator confirmation. GNOME Web reached a separate namespace failure.
先用已有会话环境和已知可用应用分离问题,再追浏览器日志。保留机器窗口证据与人手点击证据各自的边界。Use the existing session and a known working application to isolate the fault before tracing browser logs. Keep machine window checks and human click evidence distinct.
来源与范围 / Source and scope ↗SESSION_LAYER_ISOLATED
GNOME Web 已安装,出现 bwrap: Creating new namespace failed,随后 dbus-proxy 启动失败。GNOME Web is installed, but bwrap reports Creating new namespace failed, followed by a dbus-proxy launch failure.
当前完整内核配置与供应商原始 dragonboard_defconfig 一致;CONFIG_USER_NS、CONFIG_PID_NS、CONFIG_UTS_NS 三项均未启用。The complete running configuration matches the vendor dragonboard_defconfig. CONFIG_USER_NS, CONFIG_PID_NS and CONFIG_UTS_NS are disabled.
沿匹配的 BSP/Kconfig 准备候选内核,记录派生配置与启动回退,再验收正常沙箱下的实际浏览器窗口。三行片段尚未构建,EGL 等后续问题仍需实测。Prepare a candidate with the matched BSP/Kconfig, record derived configuration and recovery inputs, then test a real browser with its normal sandbox. The three-line fragment is not built; later EGL issues still require testing.
来源与范围 / Source and scope ↗BROWSER_BLOCKED_KERNEL_CANDIDATE_NOT_BUILT
常见源码目录没找到文件,准备向供应商再次索取 BSP。A search of common source locations fails, suggesting another BSP request to the supplier.
C006 先回查已交付资料,找回 longan 内核、BSP、构建系统及 T736 配置。用户手册 PDF 45–48 页说明 Ubuntu 路线,第 70 页给出 Linux 配置路径。C006 recovered the longan kernel, BSP, build system and T736 configuration from existing materials. Manual PDF pages 45–48 document Ubuntu; page 70 identifies its Linux configuration.
先读小索引和手册,再定位已有 Git 对象与历史构建目录。只有具体缺项留下时,才带文件名、版本和哈希集中询问供应商。Start with the small index and manuals, then locate preserved Git objects and historical builds. Escalate only specific remaining gaps with filenames, versions and hashes.
来源与范围 / Source and scope ↗SOURCE_LOCATED_PRIOR_CONCLUSION_CORRECTED
找到 Linux 5.15.119,就想直接接着编译。Finding Linux 5.15.119 appears sufficient to resume a build.
本次将供方固定提交、已提取配置、旧 UVC 输入和现机配置对应为同一份 159,754 字节内容,SHA256 为 2fd95877…43d6361d3。The vendor commit, extracted configuration, preserved UVC inputs and running configuration matched as the same 159,754 bytes, SHA256 2fd95877…43d6361d3.
从完整固定配置产生候选,保留完整 SHA256 和全部 diff。相同 Module.symvers 或版本标签不能独立证明新内核和所有模块兼容。Derive the candidate from the pinned complete configuration, preserving full hashes and diffs. A matching Module.symvers or version label alone does not establish compatibility of a new kernel and all modules.
来源与范围 / Source and scope ↗CONFIG_IDENTITY_VERIFIED
资料中有 GCC 13.3 / Qt 6.6.3,板端也有 GCC,于是认为内核构建输入已经齐全。GCC 13.3 / Qt 6.6.3 and an on-board compiler appear to complete the kernel build environment.
现机原内核记录为 GCC 10.3.1;mkcmd.sh 对 Linux 5.15 ARM64 指定 gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz。编译器二进制和实际执行环境还没有核验。The running kernel records GCC 10.3.1. mkcmd.sh maps Linux 5.15 ARM64 to gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz. The binary and usable host environment are still unverified.
先核对 host 架构、target triple、版本及工具链来源。旧 UVC 脚本只构建媒体模块,不能直接当完整内核安装器。Verify host architecture, target triple, version and provenance first. The old UVC module build scripts are not complete-kernel installers.
来源与范围 / Source and scope ↗TOOLCHAIN_MAPPING_FOUND_BINARY_OPEN
小型缓存中缺供应商 head 对象,或 head 与 packed commit 不同,被误判为补丁丢失。A missing head object in a selective cache, or a different packed commit, suggests lost patches.
完整 UVC Git 存储保留了所需对象;已比较的 kernel/BSP 旧提交与供方 head 的 tree ID 相同,路径差异为 0。The full preserved UVC Git store contains the objects. The compared kernel/BSP packed commits and vendor heads have identical tree IDs and zero path differences.
用 Manifest 连接 lichee 仓库名与 longan 工作树;分别记录 commit、tree 和实际文件哈希。关键 20 文件核对不等于全工作树内容审计。Use the manifest to connect lichee repository names with longan checkouts. Record commit, tree and file hashes separately. Twenty selected blob checks are not a full worktree content audit.
来源与范围 / Source and scope ↗PINNED_OBJECTS_RECOVERED
根分区仅剩约 2.7 GB,就认为整个设备没有源码或构建空间。About 2.7 GB free on root is mistaken for the device's total available storage.
C006 的 root 约 4.9 GB,而独立数据挂载约 54 GB、剩余约 47 GB;历史构建输入位于数据分区。两份约 29 GB 原包另在既有归档中。At C006, root was about 4.9 GB; a separate data mount was about 54 GB with 47 GB free and held historical build inputs. Two approximately 29 GB source archives were separately retained.
先清点现有索引、提取树、构建包和分区,再决定工作目录。此容量快照并不保证完整 BSP 构建空间足够。Inventory indexes, extracted trees, build inputs and mounts before selecting a work directory. This capacity snapshot does not establish sufficient space for a full BSP build.
来源与范围 / Source and scope ↗STORAGE_INVENTORY_VERIFIED
系统重启后网络恢复,但 NPU 自动恢复单元提前失败。Networking returns after boot while the NPU restore unit fails early.
AIS B 的 B0-009 记录了重启/SSH 可达与自动恢复失败并存。服务在约 6 秒启动,所需外部存储约 15 秒才出现;根因还需按具体前置条件核对。AIS B B0-009 records reachable SSH alongside failed automatic restoration. The unit started around six seconds; external storage appeared around fifteen seconds. Specific prerequisites still require diagnosis.
按同一个 boot 的时间线核对 mount、驱动、库、Golden 和真实 MCP 调用。参考节点的断电 PASS 不可自动转移到另一块板。Correlate mounts, driver, libraries, Golden output and real MCP calls within the same boot. A reference node's power-loss PASS does not transfer to another board.
来源与范围 / Source and scope ↗AIS_B_AUTORESTORE_OPEN
把合约 JSON 或网页镜像存在,当作完整合约部署完成。A contract JSON file or mirrored page is treated as a complete deployment.
C001 是离线定义和比较原型;C002 才以官方 SDK 验到 SSH stdio 服务、1 个 tool、4 个 resource、1 个 resource template。浏览器在相同阶段仍未可用。C001 was an offline definition and comparison prototype. C002 used the official SDK to verify an SSH stdio server with one tool, four resources and one resource template. The browser remained unavailable.
分别保存 release 哈希、SDK 版本、discovery、调用和真实结果。公开参考源码采用新的示例绑定,不能继承原板的部署 PASS。Retain release hash, SDK version, discovery, calls and outcomes separately. Public example source uses new bindings and does not inherit the board's deployment PASS.
来源与范围 / Source and scope ↗ORIGINAL_C002_SDK_ACCEPTED
重复验收 PASS、receipt_delta 为 0,被误读为又完成了一次新并发提交。A repeat PASS with receipt_delta zero is reported as another new concurrent commit.
原始四客户端竞争产生 1 份新 receipt 和 3 次重放。用户后来复验时,全部返回旧结果;3 个 receipt/event 保持不变,delta 为 0。The original four-client race produced one new receipt and three replays. The later run returned existing results; three receipts/events remained, with delta zero.
记录操作是否预先存在、测试前后计数、提交数量和 replay 标志。receipt/event 必须在同一事务中提交,成功返回应位于提交之后。Record whether the operation already existed, before/after counts, commits and replay flags. Commit receipt/event in one transaction before returning success.
来源与范围 / Source and scope ↗FIRST_COMMIT_AND_REPLAY_SEPARATELY_PROVEN
把 ETH-like、哈希链或资料同步到网站,理解为以太坊兼容、签名结算或业务数据库同步。ETH-like, a hash chain or a website upload is read as Ethereum compatibility, signed settlement or business-data synchronization.
C002 已验的是固定 artifact 的本地观察与持久 receipt/event。EVM、共识、数字签名、完整 Azure WorkEnvelope 和云端 receipt 接收尚未实现。C002 verified bounded local artifact observation and durable receipts/events. EVM, consensus, signatures, the full Azure WorkEnvelope and a cloud receipt receiver are not implemented.
本次同步发布工程知识和源码;以后另用工作包验收真实 cloud registration、receipt readback 和数据冲突策略。This release publishes engineering knowledge and source. Verify actual cloud registration, receipt readback and data-conflict handling in separate work packages.
来源与范围 / Source and scope ↗LOCAL_ENGINEERING_CONTRACT_SCOPE
新同事重复旧排查,或把不同节点、不同阶段的 PASS 拼成整机成功。A new contributor repeats old diagnosis or combines unrelated PASS results into a system-wide claim.
本轮将分散工作目录、验收摘要、源码图谱与纠正条目放在同一入口;旧版本历史保留,当前状态另有日期明确的新版本。This release joins work-directory inventory, scoped acceptance, source maps and corrections. Historical versions remain; dated newer evidence states the current continuation point.
每次贡献至少写明对象、版本、症状、方法、结果、哈希、未验事项和下一工作包,并区分机器证据与人类确认。Every contribution records target, version, symptom, method, result, hashes, unverified items and next work package, with machine evidence separate from human confirmation.
来源与范围 / Source and scope ↗REUSABLE_PUBLICATION_METHOD
没有匹配的经验。可清除筛选或查看下方目录。 / No matching lesson. Reset the filters or inspect the directory index.
REUSABLE MATERIALS
四个固定 Git 提交、159,754 字节配置对应证据、手册页码、工具链路径和下一内核工作包。
Four pinned repositories, complete configuration identity, manual page references and the next kernel work package.
阅读中英图谱 / Read source map ↗自写 BITMASK 过滤层源码、精确作用范围,以及 launcher 与真实窗口的验收经验。
HSIMC filter source with its exact scope, launcher diagnosis and visible-window acceptance.
源码说明 / Source notes ↗协议适配器、独立示例合约、事务与重放逻辑、原始验收摘要及已有离线测试。
Adapter, separate example contract, transaction/replay logic, historical evidence and existing local tests.
参考源码说明 / Read reference ↗网页、16 条经验、目录索引、源码说明与下一工作包。示例状态和实板验收范围随文件保留。
Guide, lessons, catalog, selected source and next work packages, including the limits of each example.
WORKSPACE INDEX
以下为原工作目录名。完整 1,710 份原始文件在 HSIMC 受控工程归档中按哈希保留;公开包提供可分享的接续材料。相同 C 编号可能属于不同工作系列,应连同完整目录名阅读。
These are the existing work-directory names. Original evidence is retained in controlled storage. Directory inclusion means archived work, not a blanket PASS; read full names because numbering is local to each work stream.
| 工作目录 / Work directory | 接续用途 / Purpose | 文件 / Files |
|---|---|---|
AIS-B-B0-004-20261010 | 节点身份、网络分层与只读接入Node identity, network layers and read-only access | 38 |
AIS-B-BOOT-RESTORE-B0-009-20261011 | 启动、来电或断电恢复;结果按各节点原验收Boot or power recovery; consult each node-specific acceptance | 47 |
AIS-B-BSP-EXISTING-MATERIALS-C0-006-20261012 | 源码、配置与构建输入找回Source, configuration and build-input recovery | 50 |
AIS-B-DESKTOP-ENTRY-RECHECK-C0-005-20261012 | Files 参数修复、窗口与浏览器分层验收Files argument repair, windows and browser diagnosis | 56 |
AIS-B-DESKTOP-ETH-MCP-CONTRACT-C0-001-20261012 | ETH-like MCP 合约定义、部署与验收Contract definition, deployment and acceptance | 37 |
AIS-B-DESKTOP-GNOMEWEB-C0-002-20261012 | 浏览器软件安装与入口工作Browser package and launcher work | 53 |
AIS-B-ETHLIKE-MCP-CONTRACT-C0-002-20261012 | ETH-like MCP 合约定义、部署与验收Contract definition, deployment and acceptance | 63 |
AIS-B-HDMI-D0-002-DISPLAY-ROUTE-RECOVERY-20261011 | HDMI 路由、物理输出或历史公开记录HDMI routing, physical output or historical publication | 333 |
AIS-B-HDMI-D0-003-UBUNTU-DESKTOP-RECOVERY-20261012 | Xorg 崩溃定位、兼容层与桌面恢复Xorg diagnosis, compatibility filter and desktop recovery | 39 |
AIS-B-HDMI-D0-004-2K-DISPLAY-VERIFICATION-20261012 | 2K 显示器与 60 Hz 桌面证据2K monitor and 60 Hz desktop evidence | 15 |
AIS-B-HDMI-D0-005-HPD-EDID-ADAPTIVE-RECOVERY-20261012 | 热插拔故障假设与待复现事项Hot-plug hypotheses and open reproduction | 6 |
AIS-B-HDMI-DESKTOP-PUBLIC-C0-011-20261012 | HDMI 路由、物理输出或历史公开记录HDMI routing, physical output or historical publication | 20 |
AIS-B-HDMI-DIAGNOSTIC-D0-001-20261011 | HDMI 路由、物理输出或历史公开记录HDMI routing, physical output or historical publication | 3 |
AIS-B-HDMI-PHYSICAL-OUTPUT-C0-010-20261011 | HDMI 路由、物理输出或历史公开记录HDMI routing, physical output or historical publication | 19 |
AIS-B-HDMI-PHYSICAL-OUTPUT-C0-010-R1-20261011 | HDMI 路由、物理输出或历史公开记录HDMI routing, physical output or historical publication | 15 |
AIS-B-INDEPENDENT-FOLLOWUP-20261011 | 阶段回读、供应商研究或版本化发布Stage readback, supplier study or versioned publication | 47 |
AIS-B-INVENTORY-P0-001-20261010 | 节点身份、网络分层与只读接入Node identity, network layers and read-only access | 25 |
AIS-B-MAC-VS-LINUX-P0-002-20261010 | 节点身份、网络分层与只读接入Node identity, network layers and read-only access | 22 |
AIS-B-MCP-NPU-B0-006-20261011 | 参考迁移、NPU 驱动、Golden 与 MCP 工作Reference migration, NPU driver, Golden and MCP work | 41 |
AIS-B-PUBLIC-C0-007-20261010 | 阶段回读、供应商研究或版本化发布Stage readback, supplier study or versioned publication | 42 |
AIS-B-PUBLIC-C0-008-20261011 | 阶段回读、供应商研究或版本化发布Stage readback, supplier study or versioned publication | 43 |
AIS-B-SUPPLIER-RESEARCH-C0-009-20261011 | 阶段回读、供应商研究或版本化发布Stage readback, supplier study or versioned publication | 42 |
AIS-B-USA-REFERENCE-MIGRATION-B0-005-20261011 | 参考迁移、NPU 驱动、Golden 与 MCP 工作Reference migration, NPU driver, Golden and MCP work | 134 |
AIS-B-WIFI-INTAKE-P0-003-20261010 | 节点身份、网络分层与只读接入Node identity, network layers and read-only access | 27 |
C0-004-EVIDENCE-LEDGER-20261010 | 阶段回读、供应商研究或版本化发布Stage readback, supplier study or versioned publication | 83 |
DUAL-NODE-NETWORK-RN0-001-20261011 | 节点身份、网络分层与只读接入Node identity, network layers and read-only access | 26 |
DUAL-NODE-NETWORK-RN0-002-20261011 | 节点身份、网络分层与只读接入Node identity, network layers and read-only access | 2 |
DUAL-NODE-NETWORK-RN0-003-20261011 | 节点身份、网络分层与只读接入Node identity, network layers and read-only access | 22 |
G1-20261010 | 参考迁移、NPU 驱动、Golden 与 MCP 工作Reference migration, NPU driver, Golden and MCP work | 34 |
G1R-20261010 | 参考迁移、NPU 驱动、Golden 与 MCP 工作Reference migration, NPU driver, Golden and MCP work | 52 |
M3-20261010 | 参考迁移、NPU 驱动、Golden 与 MCP 工作Reference migration, NPU driver, Golden and MCP work | 53 |
PWR-001-20261010 | 启动、来电或断电恢复;结果按各节点原验收Boot or power recovery; consult each node-specific acceptance | 44 |
PWR-003-20261010 | 启动、来电或断电恢复;结果按各节点原验收Boot or power recovery; consult each node-specific acceptance | 77 |
READINESS-PUBLISH-C0-006-20261010 | 阶段回读、供应商研究或版本化发布Stage readback, supplier study or versioned publication | 24 |
UAR-001-20261010 | 启动、来电或断电恢复;结果按各节点原验收Boot or power recovery; consult each node-specific acceptance | 60 |
T736-HDMI-FORENSIC-D0-001-20261011 | HDMI 路由、物理输出或历史公开记录HDMI routing, physical output or historical publication | 16 |
没有匹配的目录 / No matching directory.
NEXT CONTRIBUTIONS
写清对象与版本、症状与方法、成功和失败、证据哈希、机器/人类确认、未验事项及下一工作包。新发现用补充记录纠正旧结论。
Record target and version, symptom and method, both successes and failures, hashes, machine/human evidence, limits and next work. Add corrections without rewriting history.
下载贡献模板 / Contribution template查看工作包 / Next packagesExisting source was recovered; later 2K evidence supplements the historical 1080p release; and the Xorg filter's type-based scope is made explicit. Earlier publications remain intact.
更正来源 / Correction provenance ↗