{{{#!protected **[https://www-soc.lip6.fr/trac/archi-l3s6/wiki/Howto-TP?action=edit EDIT]** }}} [[PageOutline]] {{{#!html

Configuration de l'environnement des TP }}} Les travaux pratiques se font sur Linux. Si vous avez Linux ou si vous utilisez un client VNC, vous pouvez sauter l'**Étape 1** et passer à l'**Étape 2**. La première étape est donc de disposer d'un ordinateur réel ou virtuel sur Linux ou alors de vous connecter sur une machine des salles de TP par VNC. Pour VNC, vous devez suivre la procédure expliquée sur la page [wiki:VNC Connexion VNC].\\Si vous travaillez sur un ordinateur Windows et que vous ne souhaitez pas utiliser VNC, vous allez devoir utiliser une machine virtuelle Linux. Si vous avez suivi l'UE de réseau, vous devriez déjà avoir !VirtualBox et une VM installée et en état de marche qui fonctionne pour l'UE d'archi. Sinon, nous vous avons préparé une machine virtuelle utilisant !VirtualBox et une distribution !LinuxMint. = Étape 1. Environnement de travail Linux pour les TPs __Installation d'une machine virtuelle__ * Il existe de très bons didacticiels pour l'installation de !VirtualBox et je préfère que vous les lisiez, je ne ferai sans doute pas mieux. Si vous rencontrez un problème, pensez à utiliser les forums sur Moodle ou Discord pour vous aidez. - [https://fr.wikihow.com/installer-VirtualBox wikihow : Comment installer VirtualBox] - [https://www.papergeek.fr/comment-installer-une-machine-virtuelle-linux-dans-windows-10-81428 papergeek : Comment installer une machine virtuelle linux dans windows 10] * Récupérez le [https://frama.link/lu3ni029 disque de la machine virtuelle] (compressé avec 7z). Ce fichier fait 2Go. * Décompressez le fichier, il occupera alors 12Go * Ainsi, vous devez créer une nouvelle VM dans !VirtualBox, choisir comme type **`Linux Ubuntu 64 bits`** et comme disque le fichier .vdi que vous venez juste de télécharger. Ce [https://www.eugenetoons.fr/utiliser-un-fichier-vdi-dans-virtualbox/ didacticiel sur comment utiliser un fichier vdi] peut vous aider. * Vous n'aurez pas besoin du mot de passe au démarrage, mais si vous souhaitez ajouter une application, il vous sera demandé.\\Le mot de passe root est : **`osboxes.org`**. __Configurations utiles__ * Loguez-vous sur votre Linux (soit en natif, soit sur votre VM habituelle, soit sur celle que vous venez juste d'installer) * Si c'est la VM que vous venez d'installer, vous devez sans doute changer le configuration par défaut : * **Configuration du Clavier** :\\La VM a été paramétrée pour un clavier PC-AZERTY. Si ce n'est pas votre clavier, vous devez changer. * Cliquez sur l'icône **`Keyboard`** présente sur le Bureau de la VM → Une fenêtre apparaît * Cliquez l'onglet **`Layout`** → par défaut **`Keyboard Model`** = **`Generic 105-key (PC)`** et **`Keyboard Layout`** = **`French AZERTY`** * **`Keyboard Model`** devrait convenir au plus grand nombre, sinon sélectionner le vôtre. * **`Keyboard Layout`** est une liste de claviers et c'est le premier de cette liste qui est utilisé.\\Si votre clavier n'est pas dans cette liste : * Cliquez sur **`Add`**, sélectionner votre clavier et cliquez sur **`ok`** * Le nouveau clavier apparaît en fin de liste. * Utilisez les flèches à droite de cette liste pour mettre votre clavier en tête de liste. * Cliquez sur **`Close`** pour fermer l'application **`Keyboard`** et tester que cela fonctionne, sinon recommencez. * **Configuration du presse papier partagé** :\\Vous pouvez autoriser le partage du presse papier (crtl-C/ctrl-V) entre la machine hôte et la VM * Allez sur la fenêtre du gestionnaire de VM (d'où vous avez lancé votre VM) * Cliquez sur **`Général`** → la fenêtre de configuration de la VM apparaît * Cliquez sur l'onglet **`Avancé`** → Une fenêtre apparaît avec deux menus déroulants * Sur le menu déroulant : **`Presse-papier partagé`** sélectionnez **`Bidirectionnel`**\\→ vous pourrez faire un ctrl-C sur la machine hôte et un ctrl-V sur la machine invitée (la VM) (et inversement). * Sur le menu déroulant : **`Glisser-Déposer`** sélectionnez **`Bidirectionnel`**\\→ vous pourrez faire un « ''Drag & Drop'' » entre la machine hôte et la VM (dans les deux sens) = Étape 2. Prototype virtuel et chaîne de compilation MIPS * Démarrez la machine virtuelle. * Dans le cas où vous êtes sur votre propre VM (et non celle que nous vous proposons), vous devez commencez par vérifier que vous avez l'application **`xterm`** sur votre distribution Linux. **`xterm`** est le terminal de commande que va utiliser le simulateur pour les TTY et il n'est pas toujours installé par défaut. * Si vous ne l'avez pas vous devez l'installer avec **`sudo apt-get install xterm`**\\(si vous êtes sur une distribution debian ou ses dérivés : ubuntu, linux-mint, etc...) * Démarrez un navigateur web sur votre Linux et chargez la page de l'UE : **`https://www-soc.lip6.fr/trac/archi-l3s6/wiki/Howto-TP` ***\\''** * ** Conseil : vous pouvez utiliser le presse papier partagé si vous l'avez configuré à l'étape 1.'' * Récupérez l'archive contenant le **[htdocs:files/AS6.tgz prototype virtuel et la chaîne de compilation MIPS]** * Placez l'archive à la racine de votre compte et ouvrez un terminal * Décompressez l'archive avec la commande : **`tar xvf AS6.tgz`** à la racine de votre compte. * Si vous avez bien placé l'archive à la racine de votre compte, déplacez-vous dans AS6 : **`cd $HOME/AS6`** * Éditez le fichier **`$HOME/.bashrc`** et ajoutez au début **`source $HOME/AS6/bin/Source-me.sh`** * Exécutez pour cette fois le **`.bashrc`** (parce que vous venez juste de le modifier) **`source $HOME/.bashrc`** * Vous pouvez placer le répertoire **`AS6`** ailleurs qu'à la racine, voire le renommer, mais pour que cela fonctionne vous devez éditer la première ligne du fichier **`AS6/bin/Source-me.sh`**, toutefois dans les textes des TP, nous ferons l'hypothèse que le répertoire **`AS6`** est la racine du compte. = Étape 3. Test : compilation et exécution d'un test * Vous devez avoir sourcé le fichier **`bin/Source-me.sh`** (sinon relisez Étape 2) * Allez dans le répertoire **`test`** de **`bin`**: **`cd $HOME/AS6/bin/test; make exec`** * __Si cela fonctionne, vous devez voir : * dans le terminal où vous avez lancé la commande précédente la bannière du simulateur du prototype **`SystemCASS`** puis des informations sans importance. Vous devez aussi voir un compteur d'horloge qui s'incrémente tous les millions de cycles. * vous devez voir une fenêtre en haut à gauche avec marqué "Hello World!"\\ Ce message est écrit par le programme qui s'exécute sur le MIPS. * Pour arrêter la simulation, tapez **`ctrl-C`** sur le terminal de lancement du simulateur. * __Si cela ne fonctionne pas : * peut-être n'avez-vous pas placé le répertoire **`AS6`** à la racine de votre compte.\\ Vous avez le droit, mais vous devez modifier la première ligne du fichier **`AS6/bin/Source-me.sh`** et indiquer le bon répertoire. * peut-être n'avez-vous pas sourcer le fichier **`AS6/bin/Source-me.sh`**.\\ Vous pouvez le vérifier en tapant la commande **`cd;almo1.x`**\\ Si le shell vous répond **`command not found`** ou **`commande inconnue`**, c'est que vous n'avez pas sourcé le fichier **`bin/Source-me.sh`**. = Remarques générales * Utilisez un **vrai** éditeur de code **moderne**, tel que **`code`** (Visual Studio Code) (ou **`[g]vim`**, **`[x]emacs`** ou **`sublime-text`**) afin de profiter d'une aide à la programmation avec, par exemple, des fenêtres popup pour les prototypes. **`code`** est installé sur la VM !LinuxMint. Si vous utilisez votre propre VM, je vous conseille de l'installer. * Vous allez devoir utiliser l'interpréteur de commande **`shell`** de Linux et quelques commandes. Si vous avez l'habitude d'utiliser la souris, il va falloir vous faire un peu violence, mais dîtes-vous que c'est pour votre bien ! Vous devrez parfois utiliser des commandes que vous ne connaissez pas, soyez curieux et tentez un **`man`** sur la commande (ou une recherche sur le web, c'est bien aussi).