Subject: Re: simple-cdd: Linux Kernel of generated ISO (.udeb) and Kernel to be installed (.deb) don't match

From: Sietze van Buuren <[email-masked]>
Date: Sun, 4 Feb 2024 15:54:10 +0100

I have observed similar behavior.

Also trying to build on and for Debian 12 (Bookworm). Simple-CDD finishes
successfully, but fails to create a working installer.
The installer complains that it can't find any matching kernel modules.

Kernel version for the Debian Installer:
/tmp/simple-cdd/tmp/cd-build/bookworm/CD1/install.amd/vmlinuz: Linux kernel
x86 boot executable bzImage, version 6.1.0-15-amd64 (
[email-masked]) #1 SMP PREEMPT_DYNAMIC Debian 6.1.66-1
(2023-12-09), RO-rootFS, swap_dev 0x7, Normal VGA
Kernel version to be installed:
/tmp/simple-cdd/tmp/cd-build/bookworm/CD1/pool/main/l/linux-signed-amd64/linux-image-6.1.0-17-amd64_6.1.69-1_amd64.deb

I tried to replace the to be installed kernel version
linux-image-6.1.0-17-amd64 with linux-image-6.1.0-15-amd64 to no avail.
(Using Vagrant's  instructions here:
https://lists.debian.org/debian-custom/2009/03/msg00006.html).

Any suggestions for a workaround?

On Wed, 31 Jan 2024 17:02:50 +0100 Marcel Bosling <
[email-masked]> wrote:
> Package: simple-cdd
> Version: 0.6.9
> Severity: important
> X-Debbugs-Cc: [email-masked]
>
> When building on/for Debian 12, the kernel to start d-i is
kernel-image-6.1.0-16-amd64-di_6.1.67-1_amd64.udeb
> but linux-image-6.1.0-17-amd64_6.1.69-1_amd64.deb (from security) is the
installation candidate resulting in d-i not being able
> to find a proper kernel during installation.
>
> Funnily kernel-image-6.1.0-17-amd64-di_6.1.69-1_amd64.udeb exists in
>
>
http://security.debian.org/debian-security/pool/updates/main/l/linux-signed-amd64/kernel-image-6.1.0-17-amd64-di_6.1.69-1_amd64.udeb
>
> but is not considered while creating the image.
>
>
>
> -- System Information:
> Debian Release: 12.4
>   APT prefers stable-updates
>   APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500,
'stable')
> Architecture: amd64 (x86_64)
>
> Kernel: Linux 6.1.0-17-amd64 (SMP w/4 CPU threads; PREEMPT)
> Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE
not set
> Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
>
> Versions of packages simple-cdd depends on:
> ii  dctrl-tools         2.24-3+b1
> ii  debian-cd           3.2.1
> ii  lsb-release         12.0-1
> ii  python3             3.11.2-1+b1
> ii  python3-simple-cdd  0.6.9
> ii  reprepro            5.3.1-1+deb12u1
> ii  rsync               3.2.7-1
> ii  wget                1.21.3-1+b2
>
> Versions of packages simple-cdd recommends:
> ii  dose-distcheck  7.0.0-1+b2
>
> Versions of packages simple-cdd suggests:
> pn  qemu-system | qemu-kvm  <none>
>
> -- no debconf information
>
>

---

From: Sietze van Buuren <[email-masked]>
Date: Tue, 6 Feb 2024 21:45:26 +0100

Fortunately, I was able to find a workaround.

At least for my case, the DebianInstaller was complaining about kernel
modules.
So I tried to add these via the variable kernel_packages in the NAME.conf
file.

My d-i is of version v.6.1.0-15, so I added the following di packages by
stating:
kernel_packages="linux-image-amd64 kernel-image-6.1.0-15-amd64-di
efi-modules-6.1.0-15-amd64-di ext4-modules-6.1.0-15-amd64-di
md-modules-6.1.0-15-amd64-di sata-modules-6.1.0-15-amd64-di
nic-modules-6.1.0-15-amd64-di"
Depending on your needs, I guess you might need other kernel modules. Also
note linux-image-amd64 in the beginning, that's the default value for
kernel_packages.

With this additional setting, the DebianInstaller does not complain anymore
and produces a functional installation!

Not a real solution though.

Why doesn't Simple-CDD pull these packages automatically?
And why doesn't it pull the latest stable d-i version (v6.1.0-17 at the
time of writing) in the first place?

---

From: Sietze van Buuren <[email-masked]>
Date: Wed, 7 Feb 2024 12:04:46 +0100

The workaround I proposed can be accomplished in a simpler way.

Just add the required d-i packages to the downloads file containing
packages to be included (i.e. the file NAME.downloads) as follows:
kernel-image-6.1.0-15-amd64-di
efi-modules-6.1.0-15-amd64-di
ext4-modules-6.1.0-15-amd64-di
md-modules-6.1.0-15-amd64-di
sata-modules-6.1.0-15-amd64-di
nic-modules-6.1.0-15-amd64-di

This has the same effect.