编译 16.04 HWE 内核时打包失败

编译 16.04 HWE 内核时打包失败

简短的摘要:

打包脚本看起来路径错误。

详细错误摘要:

为了编译内核,我使用了这里,其中包括以下步骤:

  1. 从以下位置检出 git 源:

    git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial -b hwe
    
  2. 使用以下方法修改配置:

    fakeroot debian/rules clean
    fakeroot debian/rules editconfigs
    

    我只更改了一个选项,相当于CONFIG_DMA_CMA=y,列在设备驱动程序中国气象局。按照建议,我通过在 menuconfig 中设置新内核来为其添加自定义名称,最终CONFIG_LOCALVERSION="-cma"在配置文件中产生。

    我将其更改为 x64 和 x64lowlatency 配置(我也尝试将其更改为 i386 和 armhf,但这没有什么区别)。

  3. 使用以下方式构建:

    CONCURRENCY_LEVEL=4 fakeroot debian/rules binary-headers binary-generic binary-perarch
    

错误的输出是:

...[a seemingly succesful compile and lots of INSTALL]...
#
# Build module blacklists:
#  - blacklist all watchdog drivers (LP:1432837)
#
...[more output]...
ls: cannot access '/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic/kernel/drivers/watchdog/': No such file or directory
#
# Remove all modules not in the inclusion list.
#
...[more output]...
depmod: ERROR: could not open directory /home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic: No such file or directory
depmod: FATAL: could not search modules: No such file or directory
mv: cannot stat '/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic/kernel': No such file or directory
debian/rules.d/2-binary-arch.mk:89: recipe for target 'install-generic' failed
make: *** [install-generic] Error 1

来自的消息ls确实是正确的,因为这个声明的目录不存在:

/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic/kernel/drivers/watchdog/

仅存在此目录及其-cma附加内容:

/home/user/kernel/xenial/debian/linux-modules-4.15.0-65-generic/lib/modules/4.15.0-65-generic-cma/kernel/drivers/watchdog/

但它没有被搜索。

我本地化了输出将所有看门狗驱动程序列入黑名单从......来:

./xenial/debian/rules.d/2-binary-arch.mk

但是我无法确定 Makefile 中的哪些部分、哪个路径变量是错误的以及如何修复它。这超出了我的 Linux 知识范围。

谁能帮我?

答案1

看来我确实部分解决了这个问题。

说明书中包含一条我可能忽略的注释,并且该注释与描述的执行方式相矛盾:

注意:不要尝试使用 CONFIG_LOCALVERSION 作为将要破坏构建。

现在至少上述问题已经解决。但是,构建尚未成功,稍后会失败。我将提出另一个问题,如何继续创建自定义内核,而不必一遍又一遍地从头开始构建/编译所有内容。

然而,在这个问题按照信中的说明操作(编辑变更日志文件)没有奏效。我很好奇我会发现什么……

相关内容