Major version upgrades needing drivers in kmod packages?

From: Richard M Kreuter <kreuter_at_progn.net>
Date: Mon, 18 Dec 2023 18:12:38 UTC
Hi all,

Is there a recommended way to do a major version upgrade when a system
needs some drivers from kmod packages in order to be able to finish the
upgrade after booting into the new kernel?

I use these steps from the Handbook for upgrading:

# freebsd-update -r <version> upgrade
# freebsd-upgrade install
# reboot
# freebsd-update install
# pkg-static upgrade -f
# freebsd-update install # if necessary after the pkg upgrade

During a major version upgrade, a driver supplied by a kmod package may
(IME, will) go out of commission between the reboot and the end of the
pkg upgrade.

On some systems, the incapcacitated device doesn't impede the rest of
the upgrade procedure. For example, my laptop loses graphics after the
reboot, but I don't need graphics to do the rest of the steps.

But two of my systems are headless boxes whose NIC driver comes from a
kmod package. Because they're headless, I'll need networking in order to
log in and do the steps after the reboot. (I can get physical access,
could perhaps work around this with a USB NIC, but I'd hope there's a
software-only approach.)

I'm sure I can't be the first person to encounter this scenario, but I
can't find a documented solution in the Handbook or on forums and lists.

Thanks in advance,
Richard