Skip to topic | Skip to bottom
Home
Minfo05
Minfo05.TpAsySeance1r1.3 - 24 Sep 2005 - 21:49 - OlivierDalletopic end

Start of topic | Skip to actions

Approfondissement Système - TP1

1. Préparation de la machine virtuelle

Pour ne pas perdre de temps, faites ce qui suit immédiatement (la dernière étape prend plusieurs minutes, pendant lequelles vous pourrez lire la suite ) :

1. Déplacez-vous dans le répertoire local /home/vmvware/virtuelle

2. Créez-y un sous-répertoire dont le nom correspond à votre login

3. Déplacez-vous dans ce répertoire et extrayez-y l'archive qui se trouve dans le répertoire parent :
tar jxvf ../Debian*TP1*.bz2

Explications :
Pour les travaux pratiques, nous allons utiliser un logiciel qui émule une machine virtuelle de type PC : vmware. Les expérimentations que nous feront sur le noyau Linux se feront donc dans cette machine virtuelle. Cete machine virtuelle fonctionne de façon quasiement identique à un PC réel. Afin de gagner du temps, vos enseignants ont au préalable installé un système Linux (la distribution Debian 3.1) dans une machine virtuelle vmware. Puis lorsque l'installation a été terminée, ils ont recopié une archive contenant l'image du système installé dans la machine virtuelle, localement sur chacune des machines de la salle. La première étape de ce TP constite donc à installer proprement cette image puis à démarrer la machine virtuelle correspondante.

ALERT! Par les séances de TP suivantes, vous devrez vous installer toujours sur la même machine, de façon à retrouver "votre" image.

2. Découverte de l'environnement vmware

Attention, dans les questions qui suivent, veillez à ne pas démarrer la machine virtuelle avant qu'on ne vous le demande.

1. Lancez l'application vmware

2. L'enseignant chargé de TP vous expliquera en séance la procédure pour installer le numéro de licence.

3. Dans la fenêtre de droite (onglet Home), cliquez sur le bouton "Open existing virtual machine or team".

4. Recherchez l'image (Debian 3.1) que vous installée dans la section précédente et séléctionnez-la.

5. En cliquant avec le bouton droit de la souris sur le nouvel onglet qui apparu, vous pouvez ajouter cette image à vos favoris. Elle apparait alors dans la fenêtre de navigation située sur la gauche.

6. En vous aidant au besoin de la documentation de vmware, et avant de démarrer la machine virtuelle, faites une sauvegarde de l'état de la machine virtuelle (snapshot). De cette façon, si pour une raison ou pour une autre vous faites une erreur qui met votre machine virtuelle dans un état instable, vous pourrez toujours revenir à l'image initiale.

ALERT! Par la suite, vous devrez prendre l'habitude de prendre des snapshot de votre système, en particulier avant de vous lancer dans une opération que vous estimez hasardeuse, afin de pouvoir revenir à une situation stable. Attention toutefois à ne pas trop en abuser, l'espac disque des machines n'est pas inépuisable. Surveillez-le régulièrement (commande df).

3. Démarrage et découverte de la machine virtuelle

HELP Jargon : par la suite, nous appellerons l'hôte ou système hôte le système qui héberge la machine virtuelle. Le système hôte est donc celui sur lequel vous avez votre compte étudiant. Nous appelerons système virtuel ou système invité (guest) une machine virtuelle qui s'exécute dans vmware. Dans le système virtuel, vous ne trouverez donc rien de ce que vous trouvez habituellement sur votre compte, puisque tout ça se trouve sur une autre machine, la machine hôte. Bien que ces deux machines, hote et virtuelle, soient distinctes, elles sont néanmoins capables de communiquer, au travers du réseau virtuel. Dans les questions qui suivent, nous allons apprendre à nous servir de tout ça.

1. Il est temps maintenant de démarrer le système virtuel. Sélectionnez l'onglet de la machine virtuelle Debian31 puis assurez vous que vous utilisez bien la copie de sauvegarde (snapshot) que fait avez faite précédemment. Démarrez cette machine virtuelle.

HELP Lors du premier lancement, un certain nombre de messages d'erreur apparaissent. Rien de grave. Choisissez à chaque fois la solution proposée par défaut par vmware. Ces messages n'apparaitront plus les fois suivantes.

2. Lorque la machine virtuelle a fini de démarré, vous devriez voir la fenêtre de vmware s'agrandir au point de plus loger sur l'écran. Cliquez dans la fenètre du système virtuel et testez la combinaison de touche --. Elle vous permet de faire basculer l'affichage du système virtuel en plein écran. Et de revenir à l'affichage normal (affichage hôte) lorsque vous recommencez.

3. La machine virtuelle a "capturé" votre souris ? Là aussi une combinason de touches permet d'y remédier. (regardez le bas de la fenêtre vmware quand vous êtes en mode affichage hôte).

4. Il est temps maintenant de se connecter au système virtuel. La machine virtuelle est préconfigurée avec 2 comptes : un compte utilsateur utest et le compte root. Le mote de passe du premier est utest;; et celui du second root;;. Pour les TPs, nous utiliserons principalement le compte root. Connectez-vous en ant que root à l'aide de la bannière graphique du système virtuel.

5. Vous pouvez lancer quelques commandes pour vérifier que tout fonctionne parfaitement, y compris la connexion réseau. Vous pouvez par exemple ouvrir netscape et retouver cete page wiki. Vous pouvez aussi ouvrir une connexion ssh vers n'importe quelle machine. Et en particulier la machine hôte, ce qui vous évitera de bascouler sans cesse d'un affichage à l'autre...

6. Découvrons un peu cette machine virtuelle. De combien d'espace disque dispose-t-elle et combien en reste-t-il ?

7. A l'aide de la commande ifconfig, découvrez l'adresse IP de la mchine virtuelle, et celle(s) de la machine hôte. A quels sous-réseau appartiennent-telles et quelles sont leurs règles de routage sur ces sous-réseaux (commande route) ? Que peut-on déduire ? Comment se connecter sur la machine virtuelle depuis la machine hôte ? LE peut-on depuis une autre machine de l'étage ?

8. Testez la mise en sommeil de la machine virtuelle par vmware Puis réveillez-la. Sauvegardez ensuite l'état de la machine virtuelle en cours d'exécution (snaphost).

9. Mais au fait : comment arrêter proprement le système de la machine virtuelle ? Arrêtez-la (proprement). Puis restaurez la sauvegarde d'état précédente.

10. Expérimentez la commande synaptic.

4. 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. Retrouvez le répertoire correspondant aux sources de ce noyau. La documentation au format au format docbook a déjà été compilée par vos enseignants au format html et un lien a été ajouté dans la barre supérieure du navigateur. Vous pouvez commencer à vous familiariser avec cette docmentation, vous aurez souvent à vous en servir ...

3. Remarquez aussi que la documentation au format docbook n'est pas la seule disponible, vous trouverez aussi plein de choses dans le répertoire Documentation des sources du noyau. Jetez-y un oeuil à vos moments perdus, on y trouve plein de choses. Et en cas d'urgence, si vous cherchez une information précise, n'hésitez pas à utiliser la commande grep.

4. 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.

5. Premiers modules

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

2. Etudiez le contenu du répertoire TP1 qui se trouve dans le homedir de root. Analysez les sources des deux modules qui s'y trouvent et du makefile. Vous pourrez vous servir de ce makefile comme modèles 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.

-- OlivierDalle - 24 Sep 2005
to top


You are here: Minfo05 > ApprofondissementSysteme > TpAsySeance1

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