Linux v6.6 breaking change: module compression
Commit e8b64e4 in Debian's kernel introduced compression of all kernel modules using xz
starting from v6.5.6 (although I believe this change was first released in v6.6.3). This is a breaking change, since at least 2 build-time hooks and 1 initramfs hook depend on the modules not being compressed: executing grep -RIi "\.ko" --exclude-dir wiki --exclude-dir po --exclude-dir submodules 2>/dev/null | grep -v squashfs.sort
returns
config/chroot_local-hooks/80-block-network: mod="$(basename "$1" .ko)"
config/chroot_local-hooks/80-block-network: name="$(basename "${path}" .ko)"
config/chroot_local-hooks/80-block-network: find /lib/modules/*/kernel/drivers/net -name "*.ko" | \
config/chroot_local-hooks/80-block-network: find /lib/modules/*/kernel/drivers/staging/ -name "*.ko" | \
config/chroot_local-hooks/50-dkms: found=$(find "$modules_dir" -name "${module}.ko" | wc -l)
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/drivers/ata/pata_pcmcia.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/drivers/block/rbd.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/drivers/md/dm-raid.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/drivers/md/dm-snapshot.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/drivers/md/md-mod.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/drivers/md/raid456.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/fs/btrfs/btrfs.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/fs/fscache/fscache.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/fs/hfs/hfs.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/fs/hfsplus/hfsplus.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/fs/jffs2/jffs2.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/fs/jfs/jfs.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/fs/reiserfs/reiserfs.ko"
config/chroot_local-includes/etc/initramfs-tools/hooks/z-mac-boot-hack:rm -f "$DESTDIR/usr$MODULESDIR/kernel/fs/xfs/xfs.ko"
From v6.6 on, all of these must read *.ko.xz
. Alternatively, one can make things forward-compatible and fix these now. If you are interested I can write and submit a MR, as I will need to do so for myself anyways sooner or later.
Note: as mentioned in a previous bug report, v6.6 already is in bookworm-backports, so you can already see this change by installing the kernel from there on Debian 12.