由于我使用的硬件,我需要一个比 buster 附带的内核(准确地说是 5.1.x)更新的内核。
构建该内核没有任何问题 8 使用make deb-pkg
) 构建它,即使我在实时系统上安装内核包,它也能正常工作。
此外,当我修改 ISO 并将该内核包添加到 ISO 的包 repo 中并将该 CD 添加为本地包源时,我也可以从那里安装它,所以我知道我正确生成了包索引。
但是,当我使用d-i base-installer/kernel/image
预种子文件中的设置并将其设置为 时linux-image-5.1.2
,安装失败并显示可爱的消息:
Cannot install kernel
The installer cannot find a suitable kernel package to install.
经过进一步检查syslog
,我发现了这条消息:
May 16 13:43:22 base-installer: info: kernel linux-image-5.1.2 not usable on amd64
May 16 13:43:22 base-installer: info: Found kernels ''
May 16 13:43:22 base-installer: error: exiting on error base-installer/kernel/no-kernels-found
(此处的完整系统日志:https ://gist.github.com/BrainStone/0a0b3ea476ee875b2cabdd67685264b4 )
dpkg --info
包装上给了我这个信息:
new Debian package, version 2.0.
size 3937412 bytes: control archive=1536 bytes.
348 bytes, 12 lines control
2073 bytes, 28 lines md5sums
281 bytes, 12 lines * postinst #!/bin/sh
277 bytes, 12 lines * postrm #!/bin/sh
279 bytes, 12 lines * preinst #!/bin/sh
275 bytes, 12 lines * prerm #!/bin/sh
Package: linux-image-5.1.2
Source: linux-5.1.2
Version: 5.1.2-1
Architecture: amd64
Maintainer: root <root@e2c42c34410b>
Installed-Size: 5943
Section: kernel
Priority: optional
Homepage: http://www.kernel.org/
Description: Linux kernel, version 5.1.2
This package contains the Linux kernel, modules and corresponding other
files, version: 5.1.2.
所以它肯定是为amd64构建的。
我猜我已经非常接近解决方案了,并且不能丢失超过 1-2 行配置或脚本。但我无法弄清楚我做错了什么。
失败的检查在这里:您需要
-amd64
在您的包名称中包含(以类似的方式linux-image-5.0.0-trunk-amd64
)。更准确地说,你的包名必须以 结尾-amd64
,或者包含-amd64-
。一种方法是
LOCALVERSION
在内核配置的“常规设置”部分中设置 ,。