概述 / Summary
分支 venom-r-oss 上的 kernel 并不是一个目录,而是一个 submodule gitlink(mode 160000)。仓库里既没有 .gitmodules,被指向的 commit 也无法从 GitHub 获取,因此该分支实际上没有发布任何内核源码 —— clone 之后 kernel/ 是空目录。
On branch venom-r-oss, kernel is not a directory but a submodule gitlink (mode 160000). There is no .gitmodules in the tree, and the referenced commit is not reachable on GitHub. As a result the branch publishes no kernel source at all — after cloning, kernel/ is an empty directory.
相关提交 / Relevant commit: 44b47ca81ac1215f125be3fce530044cda1d6690 — "kernel:oss: push the kernel package of venom-r-oss" (2026-05-25, @ZhuangXiang1102)
复现 / Reproduce
$ git clone -b venom-r-oss --single-branch https://github.com/MiCode/MiTV_OpenSource.git
$ cd MiTV_OpenSource && ls kernel/
# 空 / empty
$ git ls-tree venom-r-oss
160000 commit 364ec6a6106b29b095ef97d279e5b6ee08768705 kernel
#^^^^^^ gitlink,且这是 tree 里唯一一项(没有 .gitmodules)
# gitlink — and it is the only entry in the tree (no .gitmodules)
$ git submodule update --init
fatal: No url found for submodule path 'kernel' in .gitmodules
被指向的 commit 在 GitHub 上不存在 / The referenced commit does not exist on GitHub:
$ gh api repos/MiCode/MiTV_OpenSource/commits/364ec6a6106b29b095ef97d279e5b6ee08768705
No commit found for SHA: 364ec6a6106b29b095ef97d279e5b6ee08768705 (HTTP 422)
$ git fetch https://github.com/MiCode/MiTV_OpenSource.git 364ec6a6106b29b095ef97d279e5b6ee08768705
fatal: remote error: upload-pack: not our ref 364ec6a6106b29b095ef97d279e5b6ee08768705
与其他分支对比 / Comparison with the other branches
其余两个分支都是正常的完整源码树,说明这是本次推送的意外,而不是有意的发布方式:
The other two branches contain proper source trees, which suggests this was an accident rather than an intentional layout:
| Branch |
Root of tree |
Status |
dangal-p-oss |
42 entries — COPYING, CREDITS, Documentation/, Kbuild, Kconfig, … |
✅ real kernel tree |
machuca-p-oss |
android/, apollo/ |
✅ real source |
venom-r-oss |
1 gitlink, no .gitmodules |
❌ empty |
14 个 fork 全部早于该提交(最新为 2024-01-31),因此无法从 fork 恢复。
All 14 forks predate this commit (newest 2024-01-31), so the content cannot be recovered from them.
可能原因 / Likely cause
kernel/ 目录在打包时自身带有 .git,于是 git add kernel 记录成了 gitlink 而非文件内容。
The kernel/ directory most likely still contained its own .git when it was staged, so git add kernel recorded a gitlink instead of the file contents.
建议的修复 / Suggested fix
任选其一 / either:
- 推荐 — 删除
kernel/ 内层的 .git 后重新提交实际文件(与 dangal-p-oss / machuca-p-oss 保持一致):
Remove the nested .git inside kernel/ and re-commit the actual files, consistent with the other branches:
rm -rf kernel/.git
git rm --cached kernel
git add kernel/
git commit && git push
- 或者保留 submodule 形式,但需要补上
.gitmodules 并且把被指向的仓库公开。
Or keep it as a submodule, but add .gitmodules and make the referenced repository public.
背景 / Context
对应机型为 Xiaomi MiTV,代号 venom,MediaTek/MStar M7632,Android 11,内核 4.19.116:
The affected device is the Xiaomi MiTV codenamed venom, MediaTek/MStar M7632, Android 11, kernel 4.19.116:
ro.build.fingerprint = Xiaomi/venom/venom:11/RTM5.220609.003/2674:user/release-keys
ro.product.vendor.model = MiTV-MOOR0
ro.board.platform = m7632
Linux version 4.19.116++ #1 SMP PREEMPT
该提交的 message 表明发布内核源码本就是预期行为,Linux 内核按 GPLv2 也要求提供对应源码,所以这里应当只是一次推送失误。如果能补齐,将非常感谢。
The commit message shows that publishing the kernel source was the intended outcome, and the Linux kernel is GPLv2-licensed, so this appears to be simply a failed push. It would be much appreciated if it could be re-pushed.
概述 / Summary
分支
venom-r-oss上的kernel并不是一个目录,而是一个 submodule gitlink(mode160000)。仓库里既没有.gitmodules,被指向的 commit 也无法从 GitHub 获取,因此该分支实际上没有发布任何内核源码 —— clone 之后kernel/是空目录。On branch
venom-r-oss,kernelis not a directory but a submodule gitlink (mode160000). There is no.gitmodulesin the tree, and the referenced commit is not reachable on GitHub. As a result the branch publishes no kernel source at all — after cloning,kernel/is an empty directory.相关提交 / Relevant commit:
44b47ca81ac1215f125be3fce530044cda1d6690— "kernel:oss: push the kernel package of venom-r-oss" (2026-05-25, @ZhuangXiang1102)复现 / Reproduce
被指向的 commit 在 GitHub 上不存在 / The referenced commit does not exist on GitHub:
与其他分支对比 / Comparison with the other branches
其余两个分支都是正常的完整源码树,说明这是本次推送的意外,而不是有意的发布方式:
The other two branches contain proper source trees, which suggests this was an accident rather than an intentional layout:
dangal-p-ossCOPYING,CREDITS,Documentation/,Kbuild,Kconfig, …machuca-p-ossandroid/,apollo/venom-r-oss.gitmodules14 个 fork 全部早于该提交(最新为 2024-01-31),因此无法从 fork 恢复。
All 14 forks predate this commit (newest 2024-01-31), so the content cannot be recovered from them.
可能原因 / Likely cause
kernel/目录在打包时自身带有.git,于是git add kernel记录成了 gitlink 而非文件内容。The
kernel/directory most likely still contained its own.gitwhen it was staged, sogit add kernelrecorded a gitlink instead of the file contents.建议的修复 / Suggested fix
任选其一 / either:
kernel/内层的.git后重新提交实际文件(与dangal-p-oss/machuca-p-oss保持一致):Remove the nested
.gitinsidekernel/and re-commit the actual files, consistent with the other branches:rm -rf kernel/.git git rm --cached kernel git add kernel/ git commit && git push.gitmodules并且把被指向的仓库公开。Or keep it as a submodule, but add
.gitmodulesand make the referenced repository public.背景 / Context
对应机型为 Xiaomi MiTV,代号
venom,MediaTek/MStar M7632,Android 11,内核 4.19.116:The affected device is the Xiaomi MiTV codenamed
venom, MediaTek/MStar M7632, Android 11, kernel 4.19.116:该提交的 message 表明发布内核源码本就是预期行为,Linux 内核按 GPLv2 也要求提供对应源码,所以这里应当只是一次推送失误。如果能补齐,将非常感谢。
The commit message shows that publishing the kernel source was the intended outcome, and the Linux kernel is GPLv2-licensed, so this appears to be simply a failed push. It would be much appreciated if it could be re-pushed.