4.0 KiB
4.0 KiB
ChromiumOS 5.15 内核:拉全历史、查提交、与 Ubuntu HWE 6.17 做关键文件 diff
面向:在仓库 chromiumos_kernel/v5.15/ 对照 ChromeOS 与 kernel-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 HEAD 与 git 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.c的diff -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_PARAMS、hw_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