由于缺少“二进制通用”配方,内核自定义构建无法进行

由于缺少“二进制通用”配方,内核自定义构建无法进行

Ubuntu 18.04我正在尝试通过以下方式构建自己的内核本指南本指南

不幸的是命令:

AUTOBUILD=1 fakeroot debian/rules binary-headers binary-generic binary-perarch skipdbg=false

给我这个错误:

dh binary-headers
dh: Unknown sequence binary-headers (choose from: binary binary-arch binary-indep build build-arch build-indep clean install install-arch install-indep)
debian/rules:35: recipe for target 'binary-headers' failed
make: *** [binary-headers] Error 2

我怀疑指南没有更新,我搜索了很多关于规则脚本食谱列表,但我没有发现任何有用的东西。

有人能帮助我吗?

谢谢你!

编辑1但是允许的接收binary binary-arch binary-indep build build-arch build-indep clean install install-arch install-indep还不会产生带有嵌入调试符号的内核。

编辑2Debian 规则存储在其中,您可以/usr/src/linux-source-{KERNEL-VERSION}/debian/rules.d在其中0-common-vars.mk找到所有允许的开关。

答案1

如果您正在寻找未修改内核的调试符号(dbgsym),那么只需从官方存储库下载它们,如下所述:

否则对于来自其他来源的任何内核(如 Debian 包)。

  • Ubuntu Wiki - 构建您自己的内核:调试符号

    您需要做的只是安装pkg-config-dbgsym软件包并将skipdbg=false标志添加到 Debian make 文件(debian/rules

    sudo apt-get install pkg-config-dbgsym
    LANG=C fakeroot debian/rules clean
    LANG=C fakeroot debian/rules binary-headers binary-generic binary-perarch skipdbg=false
    

    重要的提示 clean更改配置、添加标志或错过安装某些构建依赖项后,此处的命令是必须的。因此,每次尝试时,您都需要运行 clean 命令,make它将使用更新的当前设置重新配置构建树。

相关内容