Add work handoff doc, Ubuntu HWE build scripts, and repair plan

- docs/WORK_PROGRESS.md: progress, ChromeOS and Ubuntu kernel source URLs/commands
- scripts: ubuntu-hwe-617-build.sh and deps list for kernel packaging
- patches: experimental HDMI note (DO NOT apply on 6.17)
- audio_topology: REPAIR_Plan_Audio.md; README links
- README: links to handoff and build helpers

Made-with: Cursor
This commit is contained in:
jack
2026-04-02 07:22:12 +08:00
parent b5193a7f77
commit c16b8c2b6c
7 changed files with 383 additions and 24 deletions

111
docs/WORK_PROGRESS.md Normal file
View File

@@ -0,0 +1,111 @@
# 工作进度与源码获取说明(换机交接)
面向机型:**Google KaisaChromebox 10 代)**;核心问题:**Linux HDMI 无声(`STREAM_PCM_PARAMS` IPC 约 -5**、**Windows 3.5mm 无声**;对照:**ChromeOS 上 HDMI / 3.5mm 正常**。
---
## 一、当前结论与状态
| 方向 | 状态 |
|------|------|
| 固件intel-signed vs community | 已实验:**单独换固件不能恢复 HDMI**;可能影响插拔检测,需按 OPERATION 文档回退 |
| 拓扑 | 与 ChromeOS **等效**(采集结论见 `audio_topology/ANALYSIS_Audio.md` |
| Ubuntu HWE 6.17 实验补丁 `patches/ubuntu-hwe-6.17/0001-*.patch` | **勿在 6.17 上应用**`struct snd_soc_dai_link` 已无 `dpcm_playback` 成员,会编译失败;保留作历史记录 |
| 全量内核编译 `fakeroot debian/rules binary-generic` | 进行中遇阻:**磁盘空间不足**(建议单独分区空闲 **≥3550GB**);勿在同一源码树混用裸 `make``debian/rules`(需 `make mrproper` 清根目录) |
| Windows 侧 | 以 **CoolStar / Chrultrabook 成套驱动** 与设备管理器排错为主;见 `audio_topology/OPERATION_Windows_Audio.md` |
---
## 二、源码一ChromiumOS / ChromeOS 内核对照「HDMI 正常」)
**用途**:对照 **SOF / Intel boards / ACPI match** 等与 HDMI 相关的驱动差异(分支示例:`release-R144-16503.B-chromeos-5.15`)。
**官方仓库HTTPS**
- `https://chromium.googlesource.com/chromiumos/third_party/kernel`
**克隆示例(浅克隆 + 指定分支)**
```bash
mkdir -p /path/to/chromiumos_kernel && cd /path/to/chromiumos_kernel
git clone --depth 1 -b release-R144-16503.B-chromeos-5.15 \
https://chromium.googlesource.com/chromiumos/third_party/kernel.git v5.15
```
**可选:只检出音频相关目录(减小体积)**(在 `v5.15` 内执行):
```bash
cd v5.15
git sparse-checkout init --cone
git sparse-checkout set sound/soc/intel sound/soc/sof include/sound
```
**本仓库内路径(若已存在)**`chromiumos_kernel/v5.15/`(以你机器实际为准)。
---
## 三、源码二Ubuntu HWE 6.17 内核(与当前运行内核一致)
**用途**:与 ChromeOS 5.15 做 diff / 打补丁 / 编译验证(与当前 Ubuntu 包版本一致)。
**注意**:二进制包名可能是 `linux-image-*`,但**源码包名**为 `linux-hwe-6.17`**不是** `linux``apt source linux=6.17...` 会失败)。
**启用源码仓库**Noble 示例):
```bash
sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/ubuntu.sources
sudo apt update
```
**查本机内核对应的源码包与版本**
```bash
dpkg -s "linux-image-$(uname -r)" | grep -E '^Source:|^Version:'
apt-cache showsrc linux-hwe-6.17 | grep -E '^Package:|^Version:' | head
```
**下载源码(把 `Version:` 换成 `apt-cache showsrc` 里与当前内核一致的那一行)**
```bash
mkdir -p ~/kernel-src && cd ~/kernel-src
apt source linux-hwe-6.17=6.17.0-19.19~24.04.2
```
解压得到目录类似:`linux-hwe-6.17-6.17.0/`,以及 `.dsc` / `.orig.tar.gz` / `.diff.gz`
**编译 generic 包(需足够磁盘与依赖)**
```bash
sudo apt build-dep linux-hwe-6.17
cd ~/kernel-src/linux-hwe-6.17-6.17.0
export CONCURRENCY_LEVEL="$(nproc)"
fakeroot debian/rules clean
fakeroot debian/rules binary-generic
```
**仓库内辅助脚本**`scripts/ubuntu-hwe-617-build.sh``scripts/ubuntu-hwe-617-deps-packages.txt`**README** 中有入口。
---
## 四、换机后建议最短路径
1. 克隆本仓库 `chromebox_10th_audio_driver`
2. 按需重新拉取 **Ubuntu 源码**(用新机器上的 `uname -r` / `dpkg -s` / `apt-cache showsrc` 核对版本号)。
3. 按需重新克隆 **ChromiumOS kernel** 分支(或从旧机拷贝 `chromiumos_kernel/` 目录)。
4. 阅读:`audio_topology/REPAIR_Plan_Audio.md``audio_topology/ANALYSIS_Audio.md`
---
## 五、文档索引
| 文档 | 说明 |
|------|------|
| `audio_topology/REPAIR_Plan_Audio.md` | Linux / Windows 修复总览 |
| `audio_topology/ANALYSIS_Audio.md` | 三平台对比与 dmesg 要点 |
| `audio_topology/OPERATION_Force_Intel_Signed_Firmware.md` | Linux SOF 固件与回退 |
| `audio_topology/OPERATION_Windows_Audio.md` | Windows CoolStar / ALC5682 |
| `README.md` | 任务列表与参考链接 |
---
*本文档随工作机迁移更新;不修改 `.cursor/plans/` 下的计划文件。*