Différences entre les versions de « Installation de Raspbian »

De EduTech Wiki
Aller à la navigation Aller à la recherche
Ligne 23 : Ligne 23 :
 
</syntaxhighlight>
 
</syntaxhighlight>
  
Ensuite on procède au téléchargement du fichier au moyen de la commande curl avec l'option « O » qui permet de récupérer le nom de fichier utilisé sur l'hôte distant, dans l'exemple ci dessous cela signifie que votre téléchargement s'appellera : 2017-11-29-raspbian-stretch-lite.zip. <syntaxhighlight lang="bash">
+
Ensuite on procède au téléchargement du fichier au moyen de la commande <code>curl</code> avec l'option « O » qui permet de récupérer le nom de fichier utilisé sur l'hôte distant, dans l'exemple ci dessous cela signifie que votre téléchargement s'appellera : 2017-11-29-raspbian-stretch-lite.zip. <syntaxhighlight lang="bash">
 
$ curl -O http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2017-12-01/2017-11-29-raspbian-stretch-lite.zip
 
$ curl -O http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2017-12-01/2017-11-29-raspbian-stretch-lite.zip
 
</syntaxhighlight>
 
</syntaxhighlight>
  
En cas de doutes sur la commande curl vous pouvez toujours consulter l'aide : « curl -h » ou le manuel « man curl ». Ici il faut bien veiller à télécharger la dernière version (toutes les informations sont présentes en suivant le lien de téléchargement donné au début de cette section, ce qui signifie qu'elles peuvent potentiellement ne plus être à jour).
+
En cas de doutes sur la commande <code>curl</code> vous pouvez toujours consulter l'aide : « curl -h » ou le manuel « man curl ». Ici il faut bien veiller à télécharger la dernière version (toutes les informations sont présentes en suivant le lien de téléchargement donné au début de cette section, ce qui signifie qu'elles peuvent potentiellement ne plus être à jour).
  
 
Bien que télécharger ce fichier via la commande curl peut sembler exagéré , il est toujours utile de se familiariser avec cette commande qui est particulièrement puissante.
 
Bien que télécharger ce fichier via la commande curl peut sembler exagéré , il est toujours utile de se familiariser avec cette commande qui est particulièrement puissante.
  
Une fois le téléchargement terminé il faudra alors le décompresser. Pour cela nous utiliserons la commande ''tar'' (qui sert à dé/compresser des fichiers) avec les options suivantes : xvf. X sert à indiquer à tar qu'il doit fonctionner en mode extraction, v active le mode verbeux ''(verbose)'' et f indique simplement l'emplacement de l'archive. Ici l'ordre des arguments est important (x doit toujours être en premier et f doit être suivi du nom de fichier).<syntaxhighlight lang="bash">
+
Une fois le téléchargement terminé il faudra alors le décompresser. Pour cela nous utiliserons la commande ''<code>tar</code>'' (qui sert à dé/compresser des fichiers) avec les options suivantes : xvf. X sert à indiquer à tar qu'il doit fonctionner en mode extraction, v active le mode verbeux ''(verbose)'' et f indique simplement l'emplacement de l'archive. Ici l'ordre des arguments est important (x doit toujours être en premier et f doit être suivi du nom de fichier).<syntaxhighlight lang="bash">
 
$ tar -xvf 2017-11-29-raspbian-stretch-lite.zip
 
$ tar -xvf 2017-11-29-raspbian-stretch-lite.zip
 
</syntaxhighlight>Si tout s'est déroulé comme prévu vous devriez trouver votre image de Raspbian lite au chemin suivant : ''~/Downloads/2017-11-29-raspbian-stretch-lite.img''
 
</syntaxhighlight>Si tout s'est déroulé comme prévu vous devriez trouver votre image de Raspbian lite au chemin suivant : ''~/Downloads/2017-11-29-raspbian-stretch-lite.img''
Ligne 39 : Ligne 39 :
  
 
=== Déterminer l'identifiant du système de fichiers de la carte SD ===
 
=== Déterminer l'identifiant du système de fichiers de la carte SD ===
Nous allons utiliser la commande ''df'' qui affiche l'utilisation des disques en se basant sur le système de fichiers (c-à-d disques entiers, médias amovibles). Nous allons passer l'option -h, ici le h indique que les résultats retournés doivent être présentés sous une forme lisible par un humain (le h vient de humain). Vous devriez obtenir en retour quelque chose de similaire à ce qui suit :<syntaxhighlight lang="bash">
+
Nous allons utiliser la commande ''<code>df</code>'' qui affiche l'utilisation des disques en se basant sur le système de fichiers (c-à-d disques entiers, médias amovibles). Nous allons passer l'option -h, ici le h indique que les résultats retournés doivent être présentés sous une forme lisible par un humain (le h vient de humain). Vous devriez obtenir en retour quelque chose de similaire à ce qui suit :<syntaxhighlight lang="bash">
 
$ df -h
 
$ df -h
 
Filesystem                          Size  Used  Avail Capacity  iused    ifree %iused  Mounted on
 
Filesystem                          Size  Used  Avail Capacity  iused    ifree %iused  Mounted on
Ligne 73 : Ligne 73 :
  
 
=== Démonter la carte SD ===
 
=== Démonter la carte SD ===
L'étape suivante va être de démonter la carte SD, il ne s'agi pas là de la déconnecter. Pour ce faire on va utiliser la commande ''diskutil''. Cette commande rempli les même fonctions que l'utilitaires de disque Apple. En effet, il s'agi du même programme sauf qu'il est ici utilisé en ligne de commande plutôt que de passer par l'interface graphique.
+
L'étape suivante va être de démonter la carte SD, il ne s'agi pas là de la déconnecter. Pour ce faire on va utiliser la commande ''<code>diskutil</code>''. Cette commande rempli les même fonctions que l'utilitaires de disques Apple. En effet, il s'agi du même programme sauf qu'il est ici utilisé en ligne de commande plutôt que de passer par l'interface graphique.
  
Toute les fonctions intéressantes de ''diskutil'' sont réservée au root il faudra alors utiliser ''sudo'' pour donner les droits, et entrer votre mot de passe de session.
+
Toute les fonctions intéressantes de ''diskutil'' sont réservée au root il faudra alors utiliser ''<code>sudo</code>'' pour donner les droits, et entrer votre mot de passe de session.
  
 
On aura donc la commande suivante :<syntaxhighlight lang="bash">
 
On aura donc la commande suivante :<syntaxhighlight lang="bash">
Ligne 93 : Ligne 93 :
  
  
</syntaxhighlight>Ici on a plusieurs commandes, tout d'abord : ''sudo'' ('''s'''ubstitute '''u'''ser '''do''') qui permet de faire une action en se substituant à un utilisateur (en l'occurence root, qui est inaccessible par défaut sous macOS). On fait également appel à la fonction ''unmount'' de ''diskutil'' à laquelle on passe l'argument du disque à démonter (dans cet exemple /dev/disk3s1).
+
</syntaxhighlight>Ici on a plusieurs commandes, tout d'abord : ''<code>sudo</code>'' ('''s'''ubstitute '''u'''ser '''do''') qui permet de faire une action en se substituant à un utilisateur (en l'occurence root, qui est inaccessible par défaut sous macOS). On fait également appel à la fonction ''<code>unmount</code>'' de ''<code>diskutil</code>'' à laquelle on passe l'argument du disque à démonter (dans cet exemple /dev/disk3s1).
  
 
=== Monter l'image de Raspbian sur la carte SD ===
 
=== Monter l'image de Raspbian sur la carte SD ===
Après cela il va être temps de copier notre image de Raspbian sur la carte SD. Pour cela nous allons utiliser la commande ''[https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/dd.1.html dd]'' qui permet de « convertir et copier un fichier », elle permet entre autres de copier une image sur un volume.
+
Après cela il va être temps de copier notre image de Raspbian sur la carte SD. Pour cela nous allons utiliser la commande ''[https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/dd.1.html <code>dd</code>]'' qui permet de « convertir et copier un fichier », elle permet entre autres de copier une image sur un volume.
 +
 
 +
Nous allons passer plusieurs options à la commande ''dd''. Tout d'abord nous allons spécifier la taille des blocs ('''b'''lock '''s'''ize) à 1 megabyte avec l'option ''<code>bs=1m</code>''. Avec l'option ''<code>if=~/Downloads/2017-11-29-raspbian-stretch-lite.img</code> nous allons spécifier le fichier d'entrée ('''i'''nput '''f'''ile). Ensuite avec l'option <code>of=/dev/rdisk3</code>'' on va indiquer le fichier de sortie ('''o'''utput '''f'''ile). Finalement l'option <code>conv=sync</code> nous assure que les données transférées seront adaptées pour rentrer dans les blocs de 1 megabyte que nous avons spécifié précédemment.
 +
 
 +
Attention : vous devez utiliser l'identifiant de disque que vous avez obtenu précédemment. C'est-à-dire que si votre carte SD est sous /dev/disk2s1 il faudra utiliser /dev/rdisk2. Soyez bien attentif au numéro que vous entrez, si vous entrez celui d'un autre volume les données de celui-ci pourraient être écrasées.
 +
 
 +
Avertissement : Ce processus peut-être long (plusieurs minutes) suivant la vitesse de la carte utilisée, du disque dur, la taille de l'image (surtout si vous n'avez pas opté pour une distribution light). Patientez et ne paniquez pas !
 +
 
 +
Si l'on met toute cela ensemble on obtient le résultat suivant.<syntaxhighlight lang="bash">
 +
$ sudo dd bs=1m if=2017-11-29-raspbian-stretch-lite.img of=/dev/rdisk3 conv=sync
 +
1772+0 records in
 +
1772+0 records out
 +
1858076672 bytes transferred in 89.172288 secs (20836929 bytes/sec)
 +
</syntaxhighlight>Vous devez maintenant pouvoir voir dans le Finder une carte SD nommée boot. Dans ce cas félicitations vous avez réussi à copier l'image.
 +
 
 +
Si l'on utilise la commande <code>df -h</code> à nouveau on devrait maintenant obtenir le résultat suivant :<syntaxhighlight lang="bash">
 +
$ df -h
 +
Filesystem                          Size  Used  Avail Capacity  iused    ifree %iused  Mounted on
 +
/dev/disk1                        465Gi  351Gi  113Gi    76% 92149978 29646116  76%  /
 +
devfs                              187Ki  187Ki    0Bi  100%      647        0  100%  /dev
 +
map -hosts                          0Bi    0Bi    0Bi  100%        0        0  100%  /net
 +
map auto_home                        0Bi    0Bi    0Bi  100%        0        0  100%  /home
 +
/dev/disk3s1                        41Mi  21Mi  20Mi    51%        0        0  100%  /Volumes/boot
 +
</syntaxhighlight>Vous remarquerez que la taille de la carte SD a drastiquement diminuée, c'est normal. En effet elle a maintenant pris la taille de l'image que l'on a copié dessus. Nous nous occuperons plus tard de lui rendre sa taille originelle.
  
 
Comment formater une carte SD depuis la ligne de commande (monter/démonter un disque). Comment le faire depuis l'utilitaire de disque. Copier l'image de Raspbian avec dd. Proposer un utilitaire Windows.
 
Comment formater une carte SD depuis la ligne de commande (monter/démonter un disque). Comment le faire depuis l'utilitaire de disque. Copier l'image de Raspbian avec dd. Proposer un utilitaire Windows.

Version du 14 mars 2018 à 19:08

Cet article est en construction: un auteur est en train de le modifier.

En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.



Grâce à cette page vous serez à même d'installer la version la plus récente de Raspbian (Stretch 2017-11-29 à l'heure où j'écris ces lignes). L'installation que nous allons faire est de type « Headless » c'est à dire que l'on procède à l'installation sans utiliser d'écran, ni de clavier/souris. L'avantage de ce type d'installation est de permettre d'installer sur un Raspberry Pi qui est simplement connecté au réseau, par exemple un serveur de fichiers, qui n'a donc pas besoin d'interfaces Homme-Machine telles qu'un écran ou clavier/souris.

Cette page poursuit un second but qui est de familiariser l'utilisateur à l'usage de la ligne de commande, c'est pour cela que les commandes utilisées sont détaillées et explicitées.

Travaillant sur une machine Apple cette page sera plutôt orientée OS X, cependant il est fort possible que les commandes utilisées fonctionnent pour n'importe quel autre système UNIX. De plus je tâcherai de fournir les outils nécessaires aux utilisateurs Windows.

1 Quelle distribution choisir : lite ou desktop ?

Avant de télécharger Raspbian il faut savoir qu'il existe en deux version : une version avec desktop et une version lite. La différence entre ces deux versions (et leur appellation est trompeuse) est la suivante : la distribution lite ne contient que l'essentiel, c'est-à-dire uniquement le système d'exploitation. Elle ne contient même pas d'interface utilisateur graphique (GUI). La distribution desktop, elle, contient un environnement graphique ainsi que de nombreuses applications supplémentaires telles que : OpenOffice, Minecraft, Chromium, Wolfram.

Sachant que le Raspberry Pi possède des ressources bien plus limitées qu'un ordinateur de bureau traditionnel il n'est pas forcément nécéssaire de s'encombrer d'une version desktop qui installera des applications dont on aura pas forcément l'utilité. De plus ces applications peuvent aisément être installées par la suite (il en va de même pour l'interface graphique utilisateur, nous le verrons sur cette page d'ailleurs). C'est pour cela que je recommande vivement l'installation d'une version lite plutôt qu'une version avec desktop.

Cependant si votre but est de découvrir de nouvelles applications, ou d'expérimenter l'environnement linux il peut être judicieux d'installer une version desktop, mais dans le cadre d'une utilisation headless ce serait superflu.

2 Télécharger Raspbian Stretch

Maintenant que vous avez choisi votre distribution vous pourrez télécharger les versions les plus récentes de Raspbian en

.

Comme le but de cette page est d'apprendre à installer Raspbian en headless il serait bon de « s'échauffer » en commençant par télécharger votre distribution en ligne de commande.

Tout d'abord on va se placer dans notre dossier téléchargements

$ cd ~/Downloads

Ensuite on procède au téléchargement du fichier au moyen de la commande curl avec l'option « O » qui permet de récupérer le nom de fichier utilisé sur l'hôte distant, dans l'exemple ci dessous cela signifie que votre téléchargement s'appellera : 2017-11-29-raspbian-stretch-lite.zip.

$ curl -O http://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2017-12-01/2017-11-29-raspbian-stretch-lite.zip

En cas de doutes sur la commande curl vous pouvez toujours consulter l'aide : « curl -h » ou le manuel « man curl ». Ici il faut bien veiller à télécharger la dernière version (toutes les informations sont présentes en suivant le lien de téléchargement donné au début de cette section, ce qui signifie qu'elles peuvent potentiellement ne plus être à jour).

Bien que télécharger ce fichier via la commande curl peut sembler exagéré , il est toujours utile de se familiariser avec cette commande qui est particulièrement puissante.

Une fois le téléchargement terminé il faudra alors le décompresser. Pour cela nous utiliserons la commande tar (qui sert à dé/compresser des fichiers) avec les options suivantes : xvf. X sert à indiquer à tar qu'il doit fonctionner en mode extraction, v active le mode verbeux (verbose) et f indique simplement l'emplacement de l'archive. Ici l'ordre des arguments est important (x doit toujours être en premier et f doit être suivi du nom de fichier).

$ tar -xvf 2017-11-29-raspbian-stretch-lite.zip

Si tout s'est déroulé comme prévu vous devriez trouver votre image de Raspbian lite au chemin suivant : ~/Downloads/2017-11-29-raspbian-stretch-lite.img

3 Préparer la carte SD et monter l'image dessus

Pour commencer il suffit de connecter la carte SD à l'ordinateur (que ce soit par l'intermédiaire d'un port dédié, ou par l'intermédiaire d'un lecteur externe).

3.1 Déterminer l'identifiant du système de fichiers de la carte SD

Nous allons utiliser la commande df qui affiche l'utilisation des disques en se basant sur le système de fichiers (c-à-d disques entiers, médias amovibles). Nous allons passer l'option -h, ici le h indique que les résultats retournés doivent être présentés sous une forme lisible par un humain (le h vient de humain). Vous devriez obtenir en retour quelque chose de similaire à ce qui suit :

$ df -h
Filesystem                          Size   Used  Avail Capacity  iused    ifree %iused  Mounted on
/dev/disk1                         465Gi  350Gi  114Gi    76% 91933614 29862480   75%   /
devfs                              186Ki  186Ki    0Bi   100%      643        0  100%   /dev
map -hosts                           0Bi    0Bi    0Bi   100%        0        0  100%   /net
map auto_home                        0Bi    0Bi    0Bi   100%        0        0  100%   /home
/dev/disk3s1                        60Gi   38Gi   21Gi    65%   312815   175881   64%   /Volumes/SD

Ce qui se trouve au dessus se décrypte de la manière suivante :

  • le disque dur de l'ordinateur est monté comme /dev/disk1 (c'est toujours le cas), on le repère de deux manières : parce qu'il est monté à la racine du système fichier, et parce qu'il s'agi du disk1.
  • devfs, map -hosts et map auto-home sont montés par le système de fichiers mais ne nous concernent pas pour l'activité qui nous occupe présentement.
  • On remarque que /Volumes/SD apparaît comme /dev/disk3s1 (cet identifiant diffère pour chaque système c'est pourquoi il faut suivre les étapes de ce tutoriel et non juste copier les commandes données). C'est notre carte SD, que l'on peut identifier de plusieurs façons :
    • Le nom du volume, je sais que ma carte SD s'appelle SD, c'est la méthode la plus sûre.
    • En se basant sur la taille, je sais que c'est une carte de 64GB (ce qui correspond à 60Gi), cette méthode ne marche pas si vous avez plusieurs volumes ayant la même taille (peu probable).
    • Finalement on peut aussi procéder par élimination (peu recommandable).

3.2 Démonter la carte SD

L'étape suivante va être de démonter la carte SD, il ne s'agi pas là de la déconnecter. Pour ce faire on va utiliser la commande diskutil. Cette commande rempli les même fonctions que l'utilitaires de disques Apple. En effet, il s'agi du même programme sauf qu'il est ici utilisé en ligne de commande plutôt que de passer par l'interface graphique.

Toute les fonctions intéressantes de diskutil sont réservée au root il faudra alors utiliser sudo pour donner les droits, et entrer votre mot de passe de session.

On aura donc la commande suivante :

$ sudo diskutil unmount /dev/disk3s1
Password:
Volume SD on disk3s1 unmounted

Ici on a plusieurs commandes, tout d'abord : sudo (substitute user do) qui permet de faire une action en se substituant à un utilisateur (en l'occurence root, qui est inaccessible par défaut sous macOS). On fait également appel à la fonction unmount de diskutil à laquelle on passe l'argument du disque à démonter (dans cet exemple /dev/disk3s1).

3.3 Monter l'image de Raspbian sur la carte SD

Après cela il va être temps de copier notre image de Raspbian sur la carte SD. Pour cela nous allons utiliser la commande dd qui permet de « convertir et copier un fichier », elle permet entre autres de copier une image sur un volume.

Nous allons passer plusieurs options à la commande dd. Tout d'abord nous allons spécifier la taille des blocs (block size) à 1 megabyte avec l'option bs=1m. Avec l'option if=~/Downloads/2017-11-29-raspbian-stretch-lite.img nous allons spécifier le fichier d'entrée (input file). Ensuite avec l'option of=/dev/rdisk3 on va indiquer le fichier de sortie (output file). Finalement l'option conv=sync nous assure que les données transférées seront adaptées pour rentrer dans les blocs de 1 megabyte que nous avons spécifié précédemment.

Attention : vous devez utiliser l'identifiant de disque que vous avez obtenu précédemment. C'est-à-dire que si votre carte SD est sous /dev/disk2s1 il faudra utiliser /dev/rdisk2. Soyez bien attentif au numéro que vous entrez, si vous entrez celui d'un autre volume les données de celui-ci pourraient être écrasées.

Avertissement : Ce processus peut-être long (plusieurs minutes) suivant la vitesse de la carte utilisée, du disque dur, la taille de l'image (surtout si vous n'avez pas opté pour une distribution light). Patientez et ne paniquez pas !

Si l'on met toute cela ensemble on obtient le résultat suivant.

$ sudo dd bs=1m if=2017-11-29-raspbian-stretch-lite.img of=/dev/rdisk3 conv=sync
1772+0 records in
1772+0 records out
1858076672 bytes transferred in 89.172288 secs (20836929 bytes/sec)

Vous devez maintenant pouvoir voir dans le Finder une carte SD nommée boot. Dans ce cas félicitations vous avez réussi à copier l'image. Si l'on utilise la commande df -h à nouveau on devrait maintenant obtenir le résultat suivant :

$ df -h
Filesystem                          Size   Used  Avail Capacity  iused    ifree %iused  Mounted on
/dev/disk1                         465Gi  351Gi  113Gi    76% 92149978 29646116   76%   /
devfs                              187Ki  187Ki    0Bi   100%      647        0  100%   /dev
map -hosts                           0Bi    0Bi    0Bi   100%        0        0  100%   /net
map auto_home                        0Bi    0Bi    0Bi   100%        0        0  100%   /home
/dev/disk3s1                        41Mi   21Mi   20Mi    51%        0        0  100%   /Volumes/boot

Vous remarquerez que la taille de la carte SD a drastiquement diminuée, c'est normal. En effet elle a maintenant pris la taille de l'image que l'on a copié dessus. Nous nous occuperons plus tard de lui rendre sa taille originelle.

Comment formater une carte SD depuis la ligne de commande (monter/démonter un disque). Comment le faire depuis l'utilitaire de disque. Copier l'image de Raspbian avec dd. Proposer un utilitaire Windows.

4 Mise en route et configuration du Raspberry Pi

Brancher le RPi, le trouver sur le réseau, s'y connecter via SSH, étendre le système de fichiers, reboot, modifier passwd, continuer avec sa vie.