Skip to content
Maxime Chéramy edited this page Jun 21, 2015 · 6 revisions

Émulateur x86

À ce stade du développement, il est impératif d'utiliser un émulateur ou une machine virtuelle pour développer sur TacOS. Plusieurs solutions se présentent:

  • QEMU: Solution favorite, pour la simplicité de sa configuration et son utilisation avec gdb.

  • Bochs: Moins agréable à utiliser que QEMU et présentant plus de bugs. Un avantage est notable : En cas d'exception, Bochs peut afficher des informations sur l'origine de l'exception. Celà est particulièrement intéressant dans le cas où l'exception mène à une double fault ou une triple fault.

  • On peut également utiliser des machines virtuelles telles que VirtualBox ou VmWare. Ces solutions ne sont pas du tout adaptées au développement. Cependant, ce sont les options qui sont les plus proches de la réalité, et leur utilisation pourrait donc être une étape pour préparer le déploiement de TacOS sur un vrai PC.

Dans tous les cas, il est également nécessaire d'avoir les outils e2tools et mtools pour fabriquer les images disques.

Compilateur

TacOS peut être compilé avec gcc (défaut) ou avec clang (option USECLANG=1).

Debuggage

Facultatif. Il existe plusieurs solutions pour debugger:

  • gdb avec qemu (make runqemugdb): souvent la solution préférée pour sa simplicité d'utilisation.

  • Debugger built-in de Bochs: plus anecdotique que gdb, mais étant built-in à l'émulateur, il peut accéder à des données auxquelles gdb n'a pas accès (certains registres du processeur notamment)

Documentation

Facultatif. Le code est documenté de telle sorte qu'il soit possible de générer de la documentation à l'aide de Doxygen. Pour avoir les graphiques, il est nécessaire d'installer graphviz également.

Clone this wiki locally