À chaque fois que se pose cette question[1], je me retrouve à parcourir la FAQ et autres pages de manuel avant d'être certain de la marche à suivre, voici donc une procédure qui marche[2] :

les sources d'OpenBSD
# export CVSROOT=anoncvs@anoncvs2.de.openbsd.org:/cvs

on spécifie le serveur AnonCVS à utiliser[3]

# cd /usr; cvs checkout -P -rOPENBSD_3_9 src

on récupère les sources de la branche OpenBSD 3.9 (version -stable) après vérification de l'empreinte RSA

le noyau
# cd /usr/src/sys/arch/i386/conf
# /usr/sbin/config GENERIC
# cd /usr/src/sys/arch/i386/compile/GENERIC
# make clean && make depend && make

compilation

# cp /bsd /bsd.old

sauvegarde de l'actuel noyau

# cp bsd /bsd

installation du nouveau

# reboot
les librairies
# rm -rf /usr/obj/*

on efface les vieux fichiers objets

# cd /usr/src
# make obj
# cd /usr/src/etc && env DESTDIR=/ make distrib-dirs
# cd /usr/src
# make build

Notes

[1] souvent parce que je suis allé voir la page errata

[2] mais ce n'est pas la plus légère... à compléter donc

[3] pas de français, alors un miroir allemand