Installation de Raspbian

De EduTech Wiki
Révision datée du 16 mars 2018 à 11:56 par Kevin Oulevey (discussion | contributions) (→‎En utilisant la commande arp : arp c'est vraiment trop compliqué utilisation de Nmap)
Aller à la navigation Aller à la recherche

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.

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.

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

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

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

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

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.

Activer SSH

Avant d'éjecter la carte il nous faut encore activer SSH sur Raspbian (il s'agi d'une installation headless).

Nous allons donc utiliser la commande touch qui permet de modifier les dates de modification et d'accès d'un fichier et si le fichier spécifié n'existe pas il est alors créé. C'est cette particularité que nous allons utiliser.

$ touch /Volumes/boot/ssh

Ejecter la carte SD

C'est la dernière phase de cette étape. Il est essentiel d'éjecter correctement le périphérique pour pouvoir le débrancher sans risques. Nous allons donc utiliser la fonction eject de diskutil pour y parvenir. Soyez attentif d'utiliser le bon identifiant de disque (celui déterminé au dessus) dans la commande.

$ sudo diskutil eject /dev/rdisk3
Password:
Disk /dev/rdisk3 ejected

Une fois que le terminal vous a affiché que le disque était éjecté vous pouvez alors le retirer sans risques.

A faire

  • Proposer de le faire via la GUI. Est-ce vraiment nécessaire ? On perd l'intérêt d'apprendre à utiliser la ligne de commande... A y réfléchir ! Kevin Oulevey (discussion)
    • Si je le fais il faudra le montrer également depuis windows.

Mise en route et configuration du Raspberry Pi

Après avoir inséré la carte micro SD dans votre Raspberry Pi et connecté un cable ethernet vous pouvez le brancher. Après une petite minute il devrait avoir complètementdémarré. Cela signifie qu'il devrait avoir reçu une adresse IP du routeur. Maintenant il nous faut trouver l'adresse IP du Raspberry Pi.

Obtenir l'adresse IP du Raspberry Pi

En utilisant Nmap

Nmap (abréviation de « Network Mapper ») est un utilitaire open-source qui permet notamment de découvrir les hôtes présents sur un réseau donné. C'est cette fonctionnalité que nous allons utiliser.

Depuis l'interface du routeur

Si votre routeur fonctionne en DHCP (c'est le cas à moins que vous l'ayez configuré différemment) vous pouvez depuis l'interface de gestion visualiser les périphériques connectés à votre réseau. Ici cela dépend des modèles de routeurs de votre FAI, je ne pourrais donc pas tous les décrire.

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.

Références