简短的摘要:
打包脚本的路径错误。
详细错误总结:
为了编译内核,我使用了此处的编译指令,其中包括以下步骤:
签出 git 来源:
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial -b hwe
使用以下命令修改配置:
fakeroot debian/rules clean fakeroot debian/rules editconfigs
我只更改了一个选项,相当于
CONFIG_DMA_CMA=y
在Device drivers → CMA下列出的。正如建议的那样,我通过在 menuconfig 中设置新内核为新内核添加了一个自定义名称,最终CONFIG_LOCALVERSION="-cma"
生成配置文件。我为 x64 和 x64lowlatency 配置更改了它(我也尝试为 i386 和 armhf 更改它,但这没有任何区别)。
构建它:
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 知识。
谁能帮我?