Bundle handling of Debian kernel archives into xtask so callers can pipe the
raw `.deb` paths straight into `cargo xtask integration-test vm …`. The driver
now extracts each archive into `<cache>/kernel-archives`, locates the matching
`vmlinuz-*`, `lib/modules/*`, and config files, and feeds those into the
initramfs build without requiring the user to pre-run dpkg/tar. With this in
place we drop `.github/scripts/find_kernels.py`, simplify AGENTS.md/CI
instructions to use `find test/.tmp -name '*.deb'`, remove the gnu-tar and
`xz2` requirements we no longer need, and add `tar` as a workspace dependency
for the extractor.
The init module contains a small init system for running our integration
tests against a kernel. While we don't need a full-blown linux distro,
we do need some utilities.
Once such utility is `modprobe` which allows us to load kernel modules.
Rather than create a new module for this utility, I've instead
refactored `init` into `test-distro` which is a module that contains
multiple binaries.
The xtask code has been adjusted to ensure these binaries are inserted
into the correct places in our cpio archive, as well as bringing in the
kernel modules.
Signed-off-by: Dave Tucker <dave@dtucker.co.uk>
We're seeing 429 from Github trying to download gen_init_cpio, so cache
it using actions cache. Since I'm here add this for kernel images as
well to save time waiting on slow Debian servers.