Files
chromebox_10th_audio_driver/_bmad-output/project-context.md
2026-04-05 13:24:31 +08:00

5.7 KiB
Raw Blame History

project_name, user_name, date, sections_completed, document_note
project_name user_name date sections_completed document_note
chromebox_10th_audio_driver Jack 2026-04-05T11:26:09+08:00
technology_stack
language_and_scripts
kernel_patches
documentation
verification_and_testing
workflow_and_git
critical_dont_miss
GPC 一次性生成(棕地:文档/脚本/内核补丁);非 Web 应用仓库

面向 AI 代理的项目上下文Project Context

本文件列出在本仓库内实现与修改时必须遵守的规则与易错点;优先写「代理容易忽略」的约定,避免重复常识。


技术栈与版本

类别 内容
宿主与内核实验 文档以 Ubuntu 24.04 + linux-hwe-6.17 为基准;真机验证需与 uname -rkernel-src 树版本一致。
语言 Bashset -e 等以现有脚本为准)、Markdown(文档主体)。
内核工件 Git 格式的补丁patches/ubuntu-hwe-6.17/00010003);对照树可选 chromiumos_kernel/v5.15kernel-src/linux-hwe-*(体积大,常不提交)。

源码与对照树BMad PRD / 技术分析须覆盖)

以下目录为仓库约定位置;Create PRD 或源码级需求分析时,应视为与文档同级的输入范围(整树过大时可只登记路径 + 已检入的索引笔记)。

路径 角色
chromiumos_kernel/v5.15/ ChromiumOS 第三方 Linux 内核 5.15 分支(克隆说明见 docs/meta/WORK_PROGRESS.md)。用于 HDMI / SOF / machine 层与 Ubuntu HWE 的对照基准。关键文件索引:docs/linux-hdmi/CHROMEOS_KAISA_AUDIO_KERNEL_PATHS.md
kernel-src/ Ubuntu linux-hwe-* 源码树放置与构建说明( ChromiumOS 用户态;与上表配对做双树 diff。入口kernel-src/README.md;对称笔记:docs/linux-hdmi/KERNEL_SRC_LINUX_HWE617_HDMI_3.5MM_PATHS.md
非核心 package.json 类主应用;不要默认引入 Node/Python 项目脚手架。

关键实现规则

文档

Shell 脚本(scripts/

  • 新脚本放在 scripts/,命名与现有 ubuntu-hwe-617-build.shverify-ubuntu-hwe617-patches-runtime.sh 风格一致(小写、连字符)。
  • 依赖 kernel-srcPATCH= 路径时,在脚本注释或 --help 中写明工作目录(通常仓库根)。

内核补丁(patches/ubuntu-hwe-6.17/

  • 应用顺序:先 0001,再 00020003 可选且与 0001/0002 独立(仅 hda-dai.c)。每次 apply 用环境变量 PATCH=... 指向单文件,见 README.md
  • 0002 日志:需 sof_debug 含 bit 112048dynamic_debug(如 file ipc3-pcm.c +p);属诊断增强,不改变 IPC 载荷语义。
  • 0003:依赖 dynamic_debughda-dai.c +p);用于观察 stream_tag 等,不改变 DMA 行为。
  • 设计新补丁前应对照 ChromeOS 5.15 ↔ 6.17 流程与 DIFF_SUMMARY.txt,避免重复已否决路径。

验证与「测试」

  • 补丁验证流程以 VERIFY_PATCHES.mdscripts/verify-ubuntu-hwe617-patches-runtime.sh 为准;成功时脚本可输出 VERIFY_OK
  • RUN_HDMI_TEST=0 可跳过 speaker-testHDMI 设备号因机而异,可用环境变量(如脚本中的 HDMI plughw覆盖默认值。
  • 现象区分plughw:0,2 不一定是 3.5mm;耳机/模拟口以 aplay -L 与采集文档为准,避免在文档中写死错误映射。

工作流与 Git

  • 变更范围:最小必要 diff;不顺带大重构无关文件。
  • 大目录(kernel-src/、完整 chromiumos_kernel/)遵守 .gitignore,勿提交二进制或整树 tarball。

严禁遗漏(易错)

  1. 文档入口:改 docs/ 结构时同步 INDEX / REPO_INDEX,否则代理与用户都会迷路。
  2. 内核版本一致性:补丁说明、dmesgverify-* 必须与当前运行的内核构建一致。
  3. 勿把本仓库当成前端项目:无 ESLint/React 约定;规则以 Bash、内核补丁、Markdown 为准。
  4. HDMI 仍无声时:以 FIX_PLAN_HDMI_FROM_SOURCE_ANALYSIS.md 与路线图阶段为准,避免在未读源码对照的情况下硬改路由。

维护

  • BMad 并列的索引:docs/index.md小写AI 检索)、docs/INDEX.md(人用总目)。
  • 更新本文件时机:变更补丁策略、验证方式或文档入口约定时。