#1062189 simple-cdd: Linux Kernel of generated ISO (.udeb) and Kernel to be installed (.deb) don't match #1062189
- Package:
- simple-cdd
- Source:
- simple-cdd
- Submitter:
- Marcel Bosling
- Date:
- 2025-03-05 08:21:01 UTC
- Severity:
- normal
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.
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
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
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
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
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
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
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