我需要缩小风滚草内核中引入更改的内核版本。4.4 和 4.10 之间的任何内核都很有用。
这些内核的档案保存在某处吗?
如果可能的话,我宁愿避免从源代码构建。
要查看已启用的存储库中可用的所有内核,您可以运行以下命令:
zypper se -s kernel-default
例如,我的一些输出是这样的:
S | Name | Type | Version | Arch |
Repository
--+----------------------+------------+---------------+--------+---------
--------------
i | kernel-default | package | 4.4.57-18.3.1 | x86_64 | Main Update Repository
v | kernel-default | package | 4.4.49-16.1 | x86_64 | Main Update Repository
v | kernel-default | package | 4.4.46-11.1 | x86_64 | Main Update Repository
i | kernel-default | package | 4.4.36-8.1 | x86_64 | Main Update Repository
v | kernel-default | package | 4.4.36-5.1 | x86_64 | Main Update Repository
v | kernel-default | package | 4.4.27-2.1 | x86_64 | Main Repository (OSS)
之后,这取决于您是只想要该软件包还是要将其安装到系统中。要将其安装到您的系统中,请运行如下命令:
zypper in --oldpackage kernel-default-<version number>
如果你只想下载 rpm,你可以像这样运行它:
zypper in --download-only --oldpackage kernel-default-<version number>
它会将 rpm 包下载到/var/cache/zypp/packages/
目录中。从那里它被存储库划分。您可以在前面的输出中看到,最后一列显示它来自哪个存储库。您可以使用它来帮助您确定要搜索包的目录。
以上仅提供常规的内核默认和内核默认基础包。如果要获取带有源代码的包,则必须确保已启用调试存储库。
例如,在我的 SUSE Leap 42.2 上,我使用zypper lr
来查看openSUSE-Leap-42.2-Debug
和openSUSE-Leap-42.2-Update-Debug
存储库编号为 13 和 15。因此,我运行以下命令以启用然后刷新它们:
zypper mr -e 13 15
zypper ref -s
之后,我之前提供的zypper se -s kernel-default
命令还将包括kernel-default-debuginfo
包以及kernel-default-debugsource
包。然后,您可以使用与以前相同的命令下载源代码包:
zypper in --download-only --oldpackage kernel-default-debugsource-<version-number>
然后,您将在/var/cache/zypp/packages/
目录中检查包的相应存储库目录。就我而言,它位于以下位置:
/var/cache/zypp/packages/repo-debug/suse/x86_64/kernel-default-debugsource-4.4.27-2.1.x86_64.rpm
我认为更好的方法是直接使用 openSUSE 的 git 存储库:openSUSE/kernel-source,x86_64的配置文件在 config/x86_64 下,通常选择风格"默认"。
您可以浏览所有标签,然后使用所需的标签获取所需特定版本的配置文件。