我正在寻找一个特定的旧内核源,即 2.6.26.5 来为嵌入式目标构建交叉工具链的精确复制。不幸的是,我在 kernel.org 档案中只能找到 2.6.26。
他们的标题有什么区别吗?我在哪里可以得到它们?
答案1
我不知道为什么这个版本不再在 kernel.org FTP 档案中,但你可以从 git 中提取它:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
$ cd linux-stable
$ git checkout -f v2.6.26.5
$ head -4 Makefile
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 26
EXTRAVERSION = .5
由于我无法弄清楚的原因,我需要此处命令-f
中的选项。checkout
它声称——紧接着clone
——我对我的树进行了本地修改,并且它试图通过切换分支来防止我扔掉它们。奇怪的。
Annnyway...针对通用 2.6.26 标头进行构建可能不是问题。这些变化可能会影响内核功能性但没有任何 API。因此,通用标头将导出相同的 API。
如果您运行的内核包含嵌入式 Linux 发行版提供商所做的更改,则这些更改不应影响任何 ABI。要获得正确的 ABI,您需要做的主要事情是使用正确的交叉编译工具链。