I need a more up to date kernel than what even buster ships with (5.1.x to be precise) due to the hardware I'm using.
Building that kernel is nor problem whatsoever 8building it with make deb-pkg) and even when I install the kernel package on the live system it works just fine.
Also when I modify the ISO and add that kernel package in the package repo of the ISO and add that CD as a local package source I can install it from there just as well, so I know I generated the package indexes correctly.

However when I use the d-i base-installer/kernel/image setting in the preseed file and set it to linux-image-5.1.2, the installation fails with the lovely message:

Cannot install kernel
The installer cannot find a suitable kernel package to install.

Upon further inspection of the syslog, I found this message:

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

(Full syslog here: https://gist.github.com/BrainStone/0a0b3ea476ee875b2cabdd67685264b4)

dpkg --info on the package gives me this 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.

So it definately is built for amd64.

I'm guessing that I'm pretty close to solution and must not be missing more than like 1-2 lines of config or scripts. But I cannot figure out what I'm doing wrong.


The failing check is here: you need to have -amd64 in your package name (in a similar fashion to linux-image-5.0.0-trunk-amd64). More accurately, your package name has to end with -amd64, or contain -amd64-.

One way to do this is to set LOCALVERSION, in the “General Setup” section of the kernel configuration.

  • And how exactly do I achieve that? I'm building with make deb-pkg – BrainStone May 16 at 14:23
  • You can use LOCALVERSION. – Stephen Kitt May 16 at 14:40
  • Though that adds it to both the package name and the version. If all else fails, I'll do that – BrainStone May 16 at 14:43
  • Yes, it’s not ideal... The other solution is to use the Debian packaging but that’s rather more involved. – Stephen Kitt May 16 at 14:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.