KVM, console, screen et hop, BSD aussi !
Pourquoi m'arrêter en si bon chemin ? Puisque j'ai une Debian 4.0 (Etch) qui tourne dans une KVM avec un support pour la console dans un Screen pourquoi ne pas faire de même avec un FreeBSD ? Je m'attendais à plus de difficulté qu'avec GNU/Linux... et bien non. au contraire.
Après création de l'image disque et installation sans problème d'un FreeBSD 6.2 dans ma configuration bridgée via TUN/TAP (voir billet en rapport) il suffit de modifier quelques éléments de la configuration.
Première étape, demander gentillement du bootloader d'utiliser la console série. Il suffit d'ajouter une ligne dans votre /boot/loader.conf :
console="comconsole"
Ceci fait, tout comme avec GNU/Linux, il faut signaler que cette console est sécure et utilisable on change donc une ligne dans /etc/ttys en :
# The 'dialup' keyword identifies dialin lines to login, fingerd etc ttyd0 "/usr/libexec/getty std.9600" vt100 on secure
Enfin, histoire de voir plus clairement ce qui se passe on créé un boot.config à la racine contenant :
-D
Comme le précise la documentation FreeBSD cette option permet de préciser au système qu'il doit utiliser la console interne ET série pour le boot.
Petite précision au passage concernant l'utilisation, ensuite, avec l'option -nographic de kvm : Il est important de ne pas utiliser l'option -no-acpi car l'ACPI/APM est nécessaire pour que BSD éteigne la machine au terme de la procédure d'arrêt. Procédure qu'il faut lancer avec un halt -p. Dans le cas contraire, vous vous retrouvez avec un système arrêté mais kvm ne quitte pas automatiquement. Et comme vous n'avez pas accès au monitor de kvm vous êtes obligé d'utiliser kill. Pas très propre.
Notez au passage que dans sa configuration classique kvm propose un monitor (ctrl+alt+2), une console série très pratique avant l'utilisation de -nographic (ctrl+alt+3) et une console parallèle (ctrl+alt+4).
Prochaine étape : utiliser d'autres systèmes et régler le problème du monitor en mode console série.