--- Begin Message ---
- To: Debian Bug Tracking System <submit@bugs.debian.org>
- Subject: Inconsistencies between "make bindeb-pkg" and official Debian kernels
- From: "Trent W. Buck" <trentbuck@gmail.com>
- Date: Thu, 06 Jan 2022 10:24:14 +1100
- Message-id: <164142505406.3137504.15170409626828368200.reportbug@hera.lan>
Package: debian-kernel-handbook
Version: 1.0.19
Severity: normal
[Initially filed against debian-kernel-handbook because while the
problem is in src:linux, it's not strictly a problem with src:linux's
official binary packages.]
Debian Live images with custom kernels need some workarounds, because
"make bindeb-pkg" is inconsistent with official Debian kernels.
I would like to remove both the inconsistencies and my workarounds.
Attached are two scripts, one using stock kernel, one using custom
kernel built with "make bindeb-pkg" and then hosted on a PPA.
Removing either workaround breaks the "download" lines.
A few minor issues are annoying me:
1. /vmlinuz and /initrd.img are not created.
The problem appears to be inconsistency between these two scripts:
a. official images use this, which calls linux-update-symlinks (and Depends: linux-base)
https://sources.debian.org/src/linux/5.14.9-2%7Ebpo11+1/debian/templates/image.postinst.in/#L17
b. "make bindeb-pkg" use this, which does not
https://sources.debian.org/src/linux/5.14.9-2~bpo11+1/scripts/package/builddeb/#L186-L209
Is it reasonable to make builddeb call linux-update-symlinks and Depends: linux-base?
This seems reasonable to me.
2. /boot/initrd.img-<version> is not created.
I think this is because there is no Depends, so
(if everything happens in a single "apt install"),
/var/lib/dpkg/info/linux-image-X.postinst runs before
/etc/kernel/postinst.d/initramfs-tools exists.
This does not happen with stock kernels, which I think use this:
https://sources.debian.org/src/linux/5.14.9-2%7Ebpo11+1/debian/templates/control.image.in/#L3-L5
Is it reasonable to make builddeb add equivalent Depends/Recommends/Suggests?
It would need to NOT mention initrd when build with CONFIG_MODULES=n, but
builddeb already knows when this is the case.
If build with (for example) "make localyesconfig", then even if CONFIG_MODULES=y,
it should probably only Recommends or Suggests initramfs-tools (for amd64-microcode).
This gets a little messy!
3. I'd like a Provides or metapackage equivalent to "linux-image-generic", so
with a PPA, I can say --include=linux-image-inmate and have it always pick the latest available.
Currently with --include=linux-image-5.14.9inmate, I have to keep updating the --include line.
The "inmate" comes from CONFIG_LOCALVERSION=inmate, so
I guess builddeb would check if that was set, and if so, add
Provides: linux-image-${CONFIG_LOCALVERSION}
Is this reasonable?
I can't see any downside, and it sounds easy.
If I can get my head around builddeb, I'll try to submit a patch for this.
-- System Information:
Debian Release: 11.2
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'proposed-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 5.14.0-0.bpo.2-amd64 (SMP w/8 CPU threads)
Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.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
#!/bin/bash
cmd=(
mmdebstrap
bullseye
live/filesystem.squashfs
--customize-hook='download /vmlinuz ./live/vmlinuz'
--customize-hook='download /initrd.img ./live/initrd.img'
--include=live-boot
--include=linux-image-generic
https://deb.debian.org/debian
)
mkdir live
"${cmd[@]}"
ls -hlR live
#!/bin/bash
cmd=(
mmdebstrap
bullseye
live/filesystem.squashfs
# Work around lack of linux-update-symlinks
--customize-hook='chroot $1 linux-update-symlinks install 5.14.9inmate /boot/vmlinuz-5.14.9inmate'
# Work around lack of Depends: initramfs-tools
--customize-hook='chroot $1 dpkg-reconfigure linux-image-5.14.9inmate'
--customize-hook='download /vmlinuz ./live/vmlinuz'
--customize-hook='download /initrd.img ./live/initrd.img'
--include=live-boot
--include=linux-image-5.14.9inmate
https://deb.debian.org/debian
'deb [signed-by=/home/twb/PrisonPC-archive-pubkey.asc] https://apt.cyber.com.au/PrisonPC bullseye kernel-demo'
)
mkdir live
"${cmd[@]}"
ls -hlR live
--- End Message ---
--- Begin Message ---
Hi
This bug was filed for a (very) old kernel or the bug is old itself
without resolution. Maybe it was for a feature enablement which nobody
acted on. We are sorry we were not able to timely deal with this issue.
There are many open bugs for the src:linux package and thus we are
closing older bugs where it's unclear if they still occur in newer
versions and are still relevant to the reporter. For an overview see:
https://bugs.debian.org/src:linux .
If you can reproduce your issue with
- the current version in unstable/testing
- the latest kernel from backports
or, if it was a feature addition/wishlist and still consider it
relevant, then:
Please reopen the bug, see https://www.debian.org/Bugs/server-control
for details.
Please try to provide as much fresh details including kernel logs where
relevant. In particular were an issue is coupled with specific hardware we
might ask you to do additional debugging on your side as the owner of the
hardware.
Regards,
Salvatore
--- End Message ---