Rao*_*uke 27 source version linux-kernel
是否有下载特定内核版本源的资源?比如我想拿到2.6.36.2的源码来和这个包对比,看看有什么变化?
Jim*_*ris 30
如果您希望多次执行此操作,最简单且对带宽最友好的方法是克隆内核的 git 存储库并根据其标签检查您想要的版本。最好克隆linux-stable repo,因为这将包含所有稳定版本的标签:
git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
cd linux-stable
git checkout v2.6.36.2
Run Code Online (Sandbox Code Playgroud)
以后要切换到另一个版本,很简单:
git checkout v3.5.2
Run Code Online (Sandbox Code Playgroud)
要更新您的存储库以包含所有最新的标签和提交:
git fetch
Run Code Online (Sandbox Code Playgroud)
Mar*_*cka 11
如果您不想下载整个内核提交历史记录(远高于 1 GiB),您可以只下载内核 Git 存储库中指向您所需分支的部分。例如,要在 4.5 版中本地检出 Ubuntu 内核,您可以执行以下操作:
git clone --depth 1 --single-branch --branch v4.5 git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack
Run Code Online (Sandbox Code Playgroud)
这样,克隆大约为 150 MiB。
如果您只想获取一个标签以进行快速编译,请执行以下操作:
git clone --depth 1 --branch v4.18 \
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Run Code Online (Sandbox Code Playgroud)
--depth 1
执行浅克隆,这大大减少了克隆时间和磁盘使用量。
不幸的是,由于 cgit git 服务器的工作和配置方式,它目前仅适用于标签,不适用于任意提交。另见:https : //stackoverflow.com/questions/3489173/how-to-clone-git-repository-with-specific-revision-changeset
另请参阅:为什么Linux内核源代码的git clone比解压出来的tar.xz大很多?