Je ne vous apprends rien en vous disant que GNU/Linux dispose de bien plus de pilotes de périphérique que, disons, OpenBSD. Ceci n'est pas bien grave en soi puisqu'il suffit d'en développer de nouveaux, tout en s'inspirant du travail du développeur s'étant déjà cassé les dents sur le sujet (merci, le logiciel libre). Là où cela devient pénible, c'est que les bêtises coûtent cher lorsqu'on touche à un noyau et qu'elles se soldent généralement par des resets brutaux et à répétition. Ne serait-il pas merveilleux de pouvoir accéder à certains matériels depuis l'intérieur d'une machine virtuelle, pour rendre cela plus digeste ?
Plantons le décor. Ce qui nous intéresse ici se résume à la possibilité pour un système invité (guest) d'utiliser un matériel physiquement présent dans la machine hôte. En l'occurrence, nous avons sous la main une carte PCIe CH368L-EVT [1] disposant d'un pilote non upstreamé [2] que nous souhaitons voir fonctionner sous OpenBSD (un jour). Plutôt que de nous amuser à développer sur la machine disposant de la carte en question, avec tous les risques, problèmes et contraintes que cela suppose (en un mot fsck), pourquoi ne pas faire fonctionner notre OpenBSD dans une VM fonctionnant sur un hôte GNU/Linux (dans un premier temps) ? Après tout, il suffit de mettre le matériel à disposition du guest sans nous en occuper dans l'hôte, non ? Oui, ça a même un nom, le PCI passthrough, mais ce n'est pas si simple...
Avant d'attaquer le sujet, notez que ce qui va suivre est :
- Parfaitement applicable à n'importe quel système capable de fonctionner dans une VM (y...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première