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

#1062189#5
Date:
2024-01-31 16:02:50 UTC
From:
To:
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.

#1062189#10
Date:
2024-02-04 14:54:10 UTC
From:
To:
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 (
debian-kernel@lists.debian.org) #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?
kernel-image-6.1.0-16-amd64-di_6.1.67-1_amd64.udeb
installation candidate resulting in d-i not being able
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
'stable')
not set

#1062189#15
Date:
2024-02-06 20:45:26 UTC
From:
To:
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?

On Sun, 4 Feb 2024 15:54:10 +0100 Sietze van Buuren <s.van.buuren@gmail.com> wrote:
kernel
/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
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

#1062189#20
Date:
2024-02-07 11:04:46 UTC
From:
To:
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.

On Tue, 6 Feb 2024 21:45:26 +0100 Sietze van Buuren <s.van.buuren@gmail.com> wrote:
anymore
s.van.buuren@gmail.com>
finishes
/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

#1062189#25
Date:
2025-01-20 15:50:15 UTC
From:
To:
I'm seeing the same issue as Sietze, except that now the kernel version in
`install.amd/vmlinuz` is 6.1.0-29-amd64 and the one in the package pool on the
ISO is 6.1.0-30-amd64.

It is worth noting that the `install.amd/vmlinuz` file comes from `dists/
bookworm/main/installer-amd64/current/images/cdrom`, not any `.udeb` file.
This suggests to me that the FTP archive is out of date with respect to
simple-cdd, debian-cd, and/or the Debian installer, but I'm unsure where to
report this.

I don't find the workaround of hard-coding a specific set of kernel module
packages in `NAME.downloads` or the `kernel_packages` variable acceptable
because it isn't future-proof.

Anselm

#1062189#30
Date:
2025-01-21 03:29:22 UTC
From:
To:
Hi,

在 2025/1/20 23:50, Anselm Lingnau 写道:
In Debian 12.9.0 point release, the kernel version is 6.1.0-29-amd64,
the d-i kernel version also is the same 6.1.0-29-amd64.

But just after 12.9.0 release, there is a SUA[1] for kernel package,
the Version is 6.1.124-1 linux-image-6.1.0-30. This new kernel also
has d-i .udeb packages together.

The SUA kernel is location in bookworm-updates.

The simple-cdd default use bookworm-updates, but `install.amd/vmlinuz` is
not update to new kernel version, so it's mismatch.
I find a way:

Let simply-cdd not use bookworm-updates(stable-updates) when build, just set:

updates_mirror=""

variable in build.conf.


Regard,

[1] https://lists.debian.org/debian-stable-announce/2025/01/msg00001.html

#1062189#35
Date:
2025-03-05 01:19:54 UTC
From:
To:
Hi,

在 2025/3/5 04:27, Robert Schwebel 写道:

#1062189, I reply on:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1062189#30

Would you try it?

#995986, I aslo reply and there other reply too:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=995986#30

#1062189#40
Date:
2025-03-05 05:42:13 UTC
From:
To:
Just for clarity, it was not me who responded earlier today. It appears
to be from atzlinux@debian.org ... they accidentally set my name and
email in the From header? ... but helpfully signed the message with an
OpenPGP key that suggests it was from them, and set themselves in the
Reply-To header...

Anyways...

Glad someone makes good use of it!

Yeah, security and other updates have always made that a bit
tricky...

Basically one of the following needs to happen, each has particular
downsides:

* Do not use security and/or updates (ISO gets outdated packages)

* Use a manually updated debian-installer image with the new kernel (a
  lot of work)

* manually specify kernel udeb packages with a matching kernel ABI
  (fiddly and a lot of busywork)

* Swap out the kernel and modify the initrd used on the installer to use
  the current kernel ABI (fiddly and error prone)

There is not really a simple way to do this.

The non-free-firmware thing should be fixable, and fixed, but have not
had much of a look at it...

Probably just making another special case based on "non-free" for
"non-free-firmware" and... cutting and pasting and adjusting all that
code is all it would take... but that is just a guess.

I do not have a lot of motivation to work on it, and not sure what is
likely to change that...

I almost put it up for adoption a couple years ago and then someone did
enough uploads to make it work at the tail end of the last release
cycle... been updating simple-cdd once or twice a release cycle for over
20 years now and never actually used it for much of anything! Most use I
ever got was occasionally testing other packages I maintain on a fresh
install... might be time to properly orphan it again.

It was a stupidly simple concept, but it may be showing some warts after
all this time and may lacks much flexibility...


live well,
  vagrant