Skip to topic | Skip to bottom
Home
Minfo06
Minfo06.TpAsy1r1.2 - 28 Sep 2006 - 12:08 - GuillaumeChazaraintopic end

Start of topic | Skip to actions

1. Installation de QEMU

La machine virtuelle conseillée pour ces TPs est QEMU. Ceux qui le souhaitent peuvent cependant utiliser d'autres outils (VMware, VirtualPC...) mais devront alors créer une image pour la machine virtuelle correspondante. L'image utilisée l'année dernière pour VMware est ici.

1. Téléchargez le code source de la dernière version stable de QEMU pour Linux

2. Configurez et compilez la de façon à installer le logiciel dans ~/public/QEMU/

2. Lancement de QEMU

1. Récupérez puis décompressez l'archive de l'image http://www-sop.inria.fr/oasis/personnel/Guillaume.Chazarain/TPLinux/centos-3.8.bz2 elle fait 1Go une fois décompressée, donc placez la dans /tmp pour épargner votre quota.

2. Nous allons utiliser des images en COW (Copy On Write), ceci permet de laisser intacte l'image originale et de stocker les modifications dans un fichier à part, stocké sur votre compte par exemple.

3. Utilisez la commande qemu-img pour créer une telle image COW à partir du fichier centos-3.8

4. Vous pouvez maintenant démarrer qemu en lui précisant l'image COW à utiliser. Les login/password sont tplinux/tplinux et root/tplinux

5. Utilisez sshfs sur la machine virtuelle pour rendre accessible votre compte dans /home/$LOGIN

3. Découverte du noyau et de sa documentation

1. Quelle version du noyau est en cours d'exécution sur la machine virtuelle (commande uname) ?

2. Téléchargez les sources de cette version du noyau (http://kernel.org). Vous pouvez jeter un coup d'oeil à la documentation dans le dossier Documentation/. Générez le fichier TAGS (cible dans le Makefile) et naviguez dans les sources avec emacs en utilisant le fichier TAGS généré (M-. et M-*).

3. Testez la commande dmesg. Elle nous sera souvent très utile. Les traces sont disponibles dans le fichier /var/log/messages. Quelle différence y a-t-il entre les deux ?

HELP Astuce : pour voir les messages du système au fur et à messure qu'ils sont produits, il suffit d'utiliser la commande tail sur le fichier /var/log/messages, en utilisant l'option -f . L'observation des traces est très importante puisque c'est de cette façon que le noyau communique. Ce mécanisme nous sera donc indispensable lors des phases de mise au point, quand nous chargerons notre propre code dans le noyau.

5. Utilisez la commande logger pour tester la génération de traces.

4. Premiers modules

1. Quels sont les modules actuellement chargés dans le noyau ?

2. Téléchargez http://www-sop.inria.fr/oasis/personnel/Guillaume.Chazarain/TPLinux/TP1.tar.bz2 puis rendez accessible le contenu du répertoire TP1 à la machine virtuelle. Analysez les sources des deux modules qui s'y trouvent et du Makefile. Vous pourrez vous servir de ce makefile comme modèle dans les prochains TP.

3. Assez observé, passons à l'action. Compilez le premier module à l'aide du Makefile fourni et chargez-le dans le noyau. Comment vérifier que le chargement a bien eu lieu ? Vérifiez ensuite que l'action prévue lors du chargement a bien eu lieu.

3. En utilisant l'astuce du paragraphe précédent, vérifiez que vous observez bien en temps réel les effets de chargements et déchargements successifs.

-- GuillaumeChazarain - 28 Sep 2006
to top


You are here: Minfo06 > ApprofondissementSysteme > TpAsy1

to top

Copyright © 1999-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding WIKIDeptinfo? Send feedback