Changes between Initial Version and Version 1 of prerequisite


Ignore:
Timestamp:
Apr 20, 2016, 12:06:59 PM (5 years ago)
Author:
Sanahuja Guillaume
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • prerequisite

    v1 v1  
     1[[PageOutline]]
     2
     3= Prérequis =
     4
     5Cette page rassemble quelques prérequis. Il est nécessaire d'avoir lu et compris ce qui se trouve ici avant de commencer à travailler avec Fl-AIR.
     6
     7== Linux ==
     8
     9Si vous désirez installer Linux sur votre PC, une distribution recommandée est [http://linuxmint.com/ Mint] car elle est populaire, conviviale et assez simple à installer. Par ailleurs, l'ensemble de la documentation suppose que vous possédez une distribution ''Mint''. Quelle que soit la distribution choisie, faire attention à bien choisir la version 64 bits si votre processeur le support (cas de tous les PC récents).
     10
     11La compilation et l'exécution de programmes s'effectuent sous Linux. Il faut donc avoir quelques connaissances de ce système pour pouvoir l'utiliser (par exemple pour lancer un programme, configurer le wifi, etc). De plus, beaucoup d'opérations se font depuis la ligne de commande.
     12
     13Pour débuter sur la ligne de commande, vous pouvez lire ce [http://wiki.linux-france.org/wiki/Les_commandes_fondamentales_de_Linux tutoriel] ou tout autre équivalent. Il est à noter que sur la cible (contrairement au PC), le seul compte est celui de l'administrateur (login ''root''), qui n'a pas de mot de passe. De plus, sur la cible les éditeurs de texte [http://www.gnu.org/software/emacs/ emacs] et [http://joe-editor.sourceforge.net/ joe] présentés dans le tutoriel ne sont pas installés pas défaut. Les éditeurs présent sur la cible sont [http://ex-vi.sourceforge.net/ vi] et [http://www.nano-editor.org/ nano]. Ce [http://www.siteduzero.com/tutoriel-3-12791-nano-l-editeur-de-texte-du-debutant.html tutoriel] peut par exemple être lu pour débuter avec nano.
     14
     15Par la suite (et dans toutes les pages de ce wiki), les commandes qui doivent être entrées dans une console Linux sur votre PC seront indiquées de la façon suivante, avec un symbole $:
     16{{{
     17$ commande
     18}}}
     19Les commandes devant être entrées sur la cible seront indiquées de la façon suivante, avec un symbole #:
     20{{{
     21# commande
     22}}}
     23Attention, la cible ne possède pas de clavier! Ce type de commande est donc à lancer depuis un terminal de votre PC connecté à la cible (soit en [#serial série], soit en [#ssh SSH]).
     24
     25Enfin, les commandes devant être entrées dans la console U-Boot (pour les Gumstix Overo) sur la cible seront indiquées de la façon suivante:
     26{{{
     27U-Boot> commande
     28}}}
     29La console U-Boot n'est accessible que au démarrage de la carte et via le port série.
     30
     31== Console série == #serial
     32
     33La console série permet de se connecter à la cible soit pour accéder à U-Boot (c'est le seul moyen), soit pour accéder à une console Linux. La console Linux est aussi accessible via le réseau. Cependant, lorsque celui-ci ne fonctionne pas, la console série est l'unique moyen de se connecter à la cible.
     34
     35Sous Linux, on peut utiliser par exemple [https://fedorahosted.org/gtkterm/ gtkterm] ou [http://cutecom.sourceforge.net/ cutecom].
     36
     37== SSH == #ssh
     38
     39''Secure SHell'' (SSH) est à la fois un programme informatique et un protocole de communication sécurisé. Il permet notamment de se connecter à distance à un autre ordinateur par le réseau. L'ordinateur auquel on se connecte est appelé serveur, et celui qui sert à se connecter est appelé client.
     40
     41Pour se connecter à un serveur SSH, la commande est de la forme:
     42{{{
     43$ ssh utilisateur@serveur
     44}}}
     45où ''utilisateur'' est le nom de l'utilisateur avec lequel on veut se connecter au ''serveur''. Le champ ''serveur'' peut être soit le nom du serveur, soit son adresse IP. Par exemple, pour se connecter à ''storage'' en tant que ''toto'':
     46{{{
     47$ ssh toto@storage
     48}}}
     49Pour se connecter à la cible par le réseau (une fois le réseau configuré, voir [wiki:network cette page]):
     50{{{
     51$ ssh root@192.168.6.1
     52}}}
     53L'adresse IP étant à adapter à votre cas.
     54
     55A noter que la première fois que vous vous connectez à un serveur SSH, il vous sera demandé une confirmation car le serveur ne fait pas encore partie des ''hosts'' connus.
     56
     57== SCP ==
     58
     59''Secure !CoPy'' (SCP) est un moyen sécurisé de copie de fichiers entre ordinateurs basé sur le protocole SSH. Il nous permet notamment d'envoyer à la cible des fichiers de notre ordinateur.
     60
     61Pour copier un fichier vers un autre ordinateur, utiliser la commande:
     62{{{
     63$ scp chemin_vers_source utilisateur@serveur:/chemin_vers_destination
     64}}}
     65où ''chemin_vers_source'' est le chemin du fichier source, ''utilisateur'' le compte qui va se connecter au ''serveur'', et ''chemin_vers_destination'' l'endroit où placer le fichier sur le ''serveur''.
     66Par exemple, pour copier le fichier test se trouvant dans votre répertoire personnel dans le dossier /home/root de la cible (une fois le wifi configuré, voir [#wifi section précedente]):
     67{{{
     68$ scp ~/test root@192.168.6.1:/home/root
     69}}}
     70
     71
     72== SVN ==
     73
     74SVN ou ''Subversion'' est un système de gestion de version.
     75
     76On l'utilise généralement via la ligne de commande (svn checkout, svn up, svn commit). Il existe aussi des clients graphiques tels que [http://rapidsvn.tigris.org/ rapidsvn], [http://www.rabbitvcs.org/ rabitvcs], etc...
     77
     78== CMake ==
     79
     80[http://www.cmake.org/ CMake] permet la génération de fichiers de construction standards (makefile, projets pour différents IDE), via des fichiers de configuration, appelés CMakeLists.txt. L'intérêt est de n'utiliser qu'un seul fichier de configuration (le CMakeLists.txt), quelque soit l'IDE pour lequel on veut construire le projet. Chacun peut alors utiliser l'IDE qu'il préfère. Par ailleurs, CMake s'adapte suivant le système d'exploitation utilisé.
     81
     82L'utilisation de CMake passe par la ligne de commande.
     83
     84Pour connaitre la liste des ''generators'' (type de fichiers de constructions), exécuter:
     85{{{
     86$ cmake
     87}}}
     88Ce qui donnera la syntaxe d'utilisation de CMake; à la fin se trouve la liste des ''generators''. Sous Windows, on obtient par exemple:
     89{{{
     90The following generators are available on this platform:
     91  Unix Makefiles              = Generates standard UNIX makefiles.
     92  Ninja                       = Generates build.ninja files (experimental).
     93  CodeBlocks - Ninja          = Generates CodeBlocks project files.
     94  CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
     95  Eclipse CDT4 - Ninja        = Generates Eclipse CDT 4.0 project files.
     96  Eclipse CDT4 - Unix Makefiles
     97                              = Generates Eclipse CDT 4.0 project files.
     98  KDevelop3                   = Generates KDevelop 3 project files.
     99  KDevelop3 - Unix Makefiles  = Generates KDevelop 3 project files.
     100  Sublime Text 2 - Ninja      = Generates Sublime Text 2 project files.
     101  Sublime Text 2 - Unix Makefiles
     102                              = Generates Sublime Text 2 project files.
     103
     104}}}
     105
     106Ainsi, pour construire un projet pour !CodeBlocks, lancer dans un répertoire contenant un fichier CMakeLists.txt:
     107{{{
     108$ cmake -G "CodeBlocks - Unix Makefiles"
     109}}}