我在哪里可以获得11.04内核.config文件?

我正在使用Maverick在kernel.org上使用最新的内核并自己构建它们。 到目前为止,我一直将我的配置从Maverick内核库存中接受并接受make oldconfig默认值。 我现在已经为3个主要版本做了这个,所以我认为我开始落后于当前的“标准”。

我想重新将我的内核从新的Natty .config文件中删除。 这可以在网上找到,还是我必须下载整个内核包并提取它?

编辑:我手动从最新的Natty内核包中提取配置,我可以确认我可能应该早点完成这个。 我的旧“evolved”配置和Natty默认配置之间存在很多差异。 现在,如果我可以在没有20分钟的狩猎和下载包的情况下这样做,那么我可以在将来重新定位。

内核团队在这里发布了Natty的配置:

资料来源:

  • 邮件列表post
  • Wiki页面详细说明了10.10和11.04之间的变化

每个linux-image包都包含它在/boot/config-*构建的确切配置文件。 要查看当前运行的Linux内核的配置文件,请执行以下操作:

  • less /boot/config-$(uname -r)

我已经检查了Ubuntu内核人员(在Freenode #ubuntu-kernel ),他们已经确认我认为没有真正的“配置”,但它实际上是在构建/编译时通过包含一些Kconfig文件Kconfig ; 这些取决于确切的体系结构和目标(桌面/服务器/云)。 您应该能够在以下位置阅读该(简短)对话:

  • irclogs.ubuntu.com/2011/03/15/#ubuntu-kernel.html#t13:48

可以使用packages.ubuntu.com和以下搜索找到该种类的列表:

  • packages.ubuntu.com/search?keywords=config-2.6

狩猎,周围,似乎.config也包含在linux-headers-*包中。 这些是.deb文件(这是简单的.ar档案,将用file-roller打开),每个只有大约800 kB。 如果你知道你所追求的特定目标,架构和版本,你可以直接从Launchpad或存档本身获取:

  1. archive.ubuntu.com/ubuntu/pool/main/l/linux/ linux-header-2.6 * .deb
  2. 然后查看/usr/src/linux-headers-2.6*/ .config

如果要将整个过程自动化为一个命令,可以尝试以下操作; 确保你把它全部放在一条线上!

  • wget -qO- http://archive.ubuntu.com/ubuntu/pool/main/l/linux/linux-headers-2.6.38-6-generic_2.6.38-6.34_i386.deb | dpkg-deb --fsys-tarfile /dev/stdin | tar Ox --wildcards './usr/src/*/.config'

希望有所帮助!

在我的Ubuntu 11.10系统上,内核配置位于文件’/boot/config-3.0.0-12-generic’中。

Ubuntu git内核存储库

包含配置的debian/元数据和内核树在每个版本的单个git存储库中进行跟踪: http : //kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/

然后repo有一个每个内核包的标签,例如在我的Ubuntu 18.04中,我有linux-image-4.15.0-36-generic ,我猜它对应于标签: Ubuntu-4.15.0-36.39

https://help.ubuntu.com/community/Kernel/Compile解释了如何编译内核,以及如何配置它以及如何将配置合并到最终配置中。

这些配置似乎都在debian.master/config/ARCH ,其中包含:

 config.common.ubuntu config.common.ports amd64/config.common.amd64 amd64/config.flavour.generic amd64/config.flavour.lowlatency 

所以我猜测linux-image-4.15.0-36-generic将合并config.common.ubuntuconfig.common.amd64config.flavour.generic

执行合并的脚本似乎是debian / scripts / misc / kernelconfig ,它包含注释:

 # Merge configs # We merge config.common.ubuntu + config.common. + # config.flavour. 

TODO:还有一个debian.master/config/annotations文件,它似乎包含每个arch的每个配置的值,如何使用?

有人应该通过以详细模式运行构建脚本来确认所有这些,但我现在很懒,您可以构建:

 git clone git://kernel.ubuntu.com/ubuntu/ubuntu-bionic.git linux cd linux git checkout Ubuntu-4.15.0-36.39 fakeroot debian/rules clean debian/rules updateconfigs fakeroot debian/rules build-generic 

我已经确认这会生成与本地完全相同的配置:

 diff debian/build/build-generic/.config /boot/config-4.15.0-36-generic 

请注意,Ubuntu内核git repo在上游Linux上还有数千个补丁,因此只需获得正确的配置就不足以重现行为。

我们还可以通过查看引导的dmesg的开头来检查我们构建的内核是否与打包的内核匹配,其中包含:

 [ 0.000000] Linux version 4.15.0-36-generic (buildd@lgw01-amd64-031) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 (Ubuntu 4.15.0-36.39-generic 4.15.18) 

配置.deb

正如其他人所说,最终的完整配置也出现在:

 /boot/config-4.15.0-36-generic 

对应于每个Linux内核映像:

 /boot/vmlinuz-4.15.0-36-generic 

因此,对于其他版本,我们可以找到来自哪个包:

 dpkg -S /boot/config-4.15.0-36-generic 

这使:

 linux-modules-4.15.0-36-generic: /boot/config-4.15.0-36-generic 

然后你可以从https://packages.ubuntu.com/bionic-updates/linux-modules-4.15.0-36-generic下载.deb并解压缩以获得配置:

 mkdir config cd config wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux/linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb ar x linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb tar -xvf data.tar.xz cat ./boot/config-4.15.0-36-generic 

在Ubuntu 18.04中测试过。