使用 Debian make-kpkg 为 586 处理器构建自定义内核

使用 Debian make-kpkg 为 586 处理器构建自定义内核

我正在尝试为 i386 架构构建一个自定义内核,并且我一直在尝试将内核定位于 586 处理器。

我有一个内核配置,它CONFIG_M586=y在内核源代码树中定义: ./arch/x86/configs/i386_vyos_defconfig

然后我make i386_vyos_defconfig跟着跑make-kpkg kernel_image。然而,在构建过程中的某个时刻,.config文件会被更新以设置CONFIG_M686=y

我尝试设置“--subarch i586”,但似乎没有帮助。

发生了什么事以及如何将其配置为目标 586,或者不更新文件.config

我的内核配置在这里: https://gist.github.com/njh/d6191ee130620ccd190e9273864775bd

我在 Debian 8 (jessie) 上使用内核包版本 13.014+nmu1。

答案1

我还没有弄清楚如何修复它,但我现在确信我的问题是一个错误,而不是 Debian 内核构建的功能。

我将内核更改追溯到以下事件链:

  1. 跑步:make-kpkg kernel_image
  2. 这执行make -f /usr/share/kernel-package/ruleset/minimal.mk debian
  3. 这结束了 uo 触发目标:debian/stamp/pre-build-common
  4. 这取决于目标:debian/stamp/conf/vars
  5. 其中执行:make -f ./debian/ruleset/kernel_version.mk debian_conf_var
  6. kernel_version.mk包括主要的 Linux 内核 Makefile
  7. 由于某种原因,这会导致 Linux Makefile 运行make syncconfig- 我认为它不应该

据我从阅读中了解到一篇关于 Kconfig/kbuild 的文章syncconfig目标应该采用当前配置并从中生成一些派生文件。但由于某种原因它也改变了我的 .config 文件。

我想我已经在这个兔子洞里走得够远了——是时候逃跑了。

相关内容