Skip to content

[venom-r-oss] kernel/ is a broken submodule gitlink — no kernel source is actually published #8

Description

@suddenBook

概述 / 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:

  1. 推荐 — 删除 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
  2. 或者保留 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions