This document only provides an introduction to some tasks required to keep the installer up and running. It should be mostly helpful for d-i release managers.
This is possible when the linux package gets
uploaded, bumping its ABI. For example, it gets bumped from
3.9-1 to 3.10-1. This becomes needed when
the linux-latest package gets uploaded, since
obsolete
linux-image-<oldabi>-<arch>
packages (and relevant kernel modules) get decrufted soon after
that. Daily builds start to fail to build at this point, failing to
fetch decrufted packages.
A cron job on d-i.debian.org generates an linux kernel
ABI summary for the testing, unstable, and
experimental suites, and also sends a notification when
the ABI gets bumped in any of them. The summary is available here:
https://d-i.debian.org/kernel-summary.html
The following files need to be updated:
build/config/*.cfg; beware, some architectures
have specific version handling, so it might be needed to update some
extra variables (like the upstream kernel version), rather than only
those containing the kernel ABI.
This is needed when the kernel drops support for a filesystem, say
foofs; on the kernel side, that means the following
packages go away:
foofs-modules-<abi>-<arch>. Kernel
maintainers should send a notification to the mailing list in advance.
From a quick grep under the packages/ directory, it
appears that the following changes are needed. This list isn't ensured
to be exhaustive:
foofs-modules-${kernel:Version} occurrences
from the files under the build/config/
directory.
partman-foofs removed from the archive.
partman-foofs.git repository below the
attic/ directory.
.mrconfig file to mark
the said repository as obsolete, adding deleted =
true to its section.
kernel-wedge if relevant. FIXME: Find out when
that's needed, and what's needed.
iso-scan to drop foofs from the
FS variable in the
debian/iso-scan.postinst script.
partman-auto to drop foofs
from the lib/resize.sh script.
os-prober to drop foofs from the
FILESYSTEMS variable in the
os-probes/init/common/10filesystems file.
partconf to drop foofs from
the file_system_modules variable, but there might
be some more occurrences.
rescue to drop relevant dependencies, and
remove try_load_module foofs from
debian/rescue-mode.postinst accordingly.
[8] The same logic should be applicable to the FreeBSD kernel, even if some details might be different.