我是Linux Kernel的新手,想要为x86 arcthitecture提供32位Linux内核源码,但是当我从kernel.org下载它时,它给了我x86_64的源代码,这不是我需要的。我正在寻找3.4。 28版。
或者我必须仅使用x86_64源构建32位x86 Linux。
答案 0 :(得分:8)
没有特定的32位Linux内核源代码。所有体系结构都包含在相同的tarball / git存储库中。
大多数Linux内核都是在便携式C中实现的,可以在所有架构上使用。特定于体系结构的部分位于arch
目录下的单独子目录中。另请参阅https://github.com/torvalds/linux/tree/master/arch。
在x86_64
计算机上配置和编译时,默认情况下将获得x86_64
内核。如果要在同一台计算机上构建32位x86
内核,则需要cross-compile,例如:
# make ARCH=i386 menuconfig
将为您提供选择基于x86的处理器类型的必要选项。
# make ARCH=i386
然后将构建基于x86的内核映像。
答案 1 :(得分:1)
这就是你要找的东西 http://stacklet.com/downloads/kernels/xen/xenU-2.6.31
或试试这个 http://rpmfind.net//linux/RPM/opensuse/updates/12.2/noarch/kernel-source-3.4.28-2.20.1.noarch.html
答案 2 :(得分:1)
如果您在https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.28.tar.gz下载内核源代码,则可以编译x86的内核源代码以生成32位二进制文件。您可以使用相同的内核源为不同的体系结构生成二进制文件(x86,x86_64,PPC等)。请参阅https://www.kernel.org/doc/index-old.html#Cross_compiling_vs_native_compiling。
答案 3 :(得分:1)