Files
chromebox_10th_audio_driver/docs/OPERATION_ChromeOS_Kernel_Deep_Diff.md
2026-04-04 07:45:01 +00:00

4.0 KiB
Raw Blame History

ChromiumOS 5.15 内核:拉全历史、查提交、与 Ubuntu HWE 6.17 做关键文件 diff

面向:在仓库 chromiumos_kernel/v5.15/ 对照 ChromeOSkernel-src/linux-hwe-6.17-6.17.0/Noble 源码树),为 Kaisa HDMI / STREAM_PCM_PARAMS 相关的新内核补丁做设计输入。

克隆说明与分支名见 docs/WORK_PROGRESS.md 第二节。


1. 为何要先 unshallow

若使用 git clone --depth 1,本地 git rev-list --count HEAD 为 1,则 git log -- sound/... 几乎看不到 Chrome 的逐条提交。需要拉长历史后再筛提交。


2. 拉全历史(在 chromiumos_kernel/v5.15 内)

cd /path/to/chromebox_10th_audio_driver/chromiumos_kernel/v5.15
git fetch --unshallow origin
# 若 unshallow 失败,可改为重新克隆(不加 --depth 1见 WORK_PROGRESS.md

若出现 fatal: --unshallow on a complete repository does not make sense:说明当前目录已经不是浅克隆(完整仓库或已 unshallow 过),无需再执行 --unshallow,直接进入下文用 git rev-list --count HEADgit log 即可。

完成后确认:

git rev-list --count HEAD

应远大于 1。


3. 按路径查看音频相关提交

cd /path/to/chromebox_10th_audio_driver/chromiumos_kernel/v5.15
git log --oneline -50 -- sound/soc/sof sound/soc/intel include/sound
git log --oneline -30 -- drivers/soundwire

可选关键字过滤(依赖提交标题写法):

git log --oneline --grep=sof -- sound/soc/
git log --oneline --grep=hdmi -i -- sound/

输出「好多」时怎么收窄

  • git fetch --unshallow 本身会刷大量对象,属正常;完成后用 git rev-list --count HEAD 确认历史已拉长即可。
  • git log 默认进 less,上下滚动会像重复同一段;可 q 退出,或改用:
    GIT_PAGER=cat git log --oneline -30 -- sound/soc/sof sound/soc/intel
    # 或
    git --no-pager log --oneline -30 -- sound/soc/sof sound/soc/intel
    
  • 只关心 HDMI / SOF / rt5682 / IPC 等,可缩小条数并加 grep标题里不一定有 Kaisa多试几个词
    git --no-pager log --oneline -80 --grep='HDMI\|hdmi\|iDisp\|SOF\|sof\|rt5682\|ipc3\|hda-dai' -i -- sound/soc/sof sound/soc/intel
    
  • 真正要对齐 Kaisa,仍以 ipc3.c / pcm.c / hda-dai.cdiff -u 和(可选)git log -L / git blame 为主,不必读完几千条 log。

4. 与 6.17 对三个优先文件做 diff -u(手工)

仓库根目录(两棵树路径按你本机调整):

diff -u \
  chromiumos_kernel/v5.15/sound/soc/sof/ipc3.c \
  kernel-src/linux-hwe-6.17-6.17.0/sound/soc/sof/ipc3.c | less

diff -u \
  chromiumos_kernel/v5.15/sound/soc/sof/pcm.c \
  kernel-src/linux-hwe-6.17-6.17.0/sound/soc/sof/pcm.c | less

diff -u \
  chromiumos_kernel/v5.15/sound/soc/sof/intel/hda-dai.c \
  kernel-src/linux-hwe-6.17-6.17.0/sound/soc/sof/intel/hda-dai.c | less

重点对照与 SOF_IPC_STREAM_PCM_PARAMShw_params、HDMI/HDaudio DAI 相关的逻辑差异。


5. 一键导出上述 diff 到本地文件(默认不进 git

./scripts/export-chromeos-ubuntu-sound-file-diffs.sh

输出目录:patches/ubuntu-hwe-6.17/reference/(已在 .gitignore 中忽略,避免大文件误提交)。

可用环境变量覆盖路径:

CH=/path/to/chromiumos_kernel/v5.15 \
UB=/path/to/kernel-src/linux-hwe-6.17-6.17.0 \
OUT=/tmp/kaisa-sound-diff \
./scripts/export-chromeos-ubuntu-sound-file-diffs.sh

6. 相关文档与脚本