[MANTIC][PATCH 0/3] Enable zstd compressed modules

Dimitri John Ledkov dimitri.ledkov at canonical.com
Wed Jul 26 19:24:50 UTC 2023

This patch series achieves multiple related features in concert,
whilst trying to minimise the fallout.

Specifically, as discussed on ubuntu-devel [1] to accelerate initrd
creation, minimize its size, and move as much compression from runtime
machines to build. At the same time, I want to prevent any unncessary
breakage w.r.t. building launchpad & non-launchpad signed kernel
modules, as all of those operate on uncomprssed modules only.

This patch series enables in-kernel zstd module decompression support
that can be used by new enough kmod (as available in mantic-proposed).

The kernel modules are zstd compressed in parallel with maximum
compression (higher than kernel default makefiles) at the time when
.debs are assembled. Also note that modules packages are now kept
uncompressed - to avoid nested compression. This does make .deb files
larger than before, but much faster to build and install - as the
installed contents is significantly smaller now:

  # du --si -s 6.4.0-0-generic 6.4.0-0-generic-uncompressed
  152M	6.4.0-0-generic
  567M	6.4.0-0-generic-uncompressed

Note that makefile is patched to not attempt installing random modules
compressed, this is to ensure that any dkms / lrm / modules
builds. This is hopefully to mitigate any compatibility issues with
dkms / lrm / module signing that may be deployed elsewhere.

Given the significant size reduction, we may also attempt to drop
modules/modules-extra packages split, and instead diffirentiate things
only on whether or not linux-firmware is installed. However, that too
is undergoing size optimisations.

[1] https://lists.ubuntu.com/archives/ubuntu-devel/2023-July/042652.html

Dimitri John Ledkov (3):
  UBUNTU: SAUCE: Support but do not require compressed modules
  UBUNTU: [Config] Enable support for ZSTD compressed modules
  UBUNTU: [Packaging] ZSTD compress modules

 debian.master/config/annotations | 6 ++++--
 debian.master/control.stub.in    | 2 +-
 debian/rules.d/2-binary-arch.mk  | 8 +++++---
 scripts/Makefile.modinst         | 4 +++-
 4 files changed, 13 insertions(+), 7 deletions(-)


More information about the kernel-team mailing list