Installation rapide minimale d'un raspberry pi

Apprenez à installer un raspberry pi avec tout ce dont vous avez besoin et rien d'autre en moins de dix minutes!

Raspberry pi 3 B+

Introduction

Aujourd'hui, nous allons voir comment installer uniquement les logiciels dont vous avez besoin sur un raspberry pi, et ce en moins de 10 minutes!

Installer raspbian sur un raspberry pi avec NOOBS est vraiment simple, et c'est pour cela que cette méthode d'installation est proposée un peu partout sur le web. Si vous n'avez jamais touché à un raspberry pi auparavant, ça peut valoir le coup de l'essayer au moins une fois.

Cela dit, je n'utilise jamais cette méthode car :

  • elle prend plus de temps
  • on se retrouve avec des packages dont on n'a pas besoin, comme LibreOffice ou Mathematica. Personnellement, je n'utiliserais jamais un raspberry pi pour faire tourner ce genre de truc, et j'aurais plutôt recours à un ordinateur plus puissant.

Peut-être que comme moi, vous voudriez plutôt dédier votre raspberry pi à quelques tâches bien spécifiques. Ainsi, j'ai actuellement quatre raspberry pi en ligne sur mon réseau :

  • Le premier pi fait tourner un serveur Samba. Le pi est connecté à un disque SSD, et me sert de NAS à faible consommation
  • Le second fait tourner trois serveurs pour la domotique :
    • homeassistant: serveur domotique principal
    • mosquitto: un broker mqtt qui permet à mes ordinateurs et objets connectés de communiquer
    • nodered: un serveur avec lequel je programme l'automatisation de la maison et les notifications
  • Le troisième pi est en cours d'installation. Je l'installerai dans mon tableau électrique pour mesurer ma consommation d'électricité.
  • Le quatrième pi me sert pour les tests. C'est celui que j'utilise aujourd'hui pour tester ce tuto.

De quoi aurez-vous besoin?

Comme on veut mettre en place un système léger, nous n'aurons pas d'interface graphique, pas de bureau, pas de fenêtre. Juste la ligne de commande linux histoire de jouer les hackers.

Vous avez donc besoin:

  • d'un raspberry pi bien sûr, et je vous en dis plus là-dessus dans la section suivante
  • pour l'installation initiale :
    • d'un écran d'ordinateur ou d'une télé avec un cable HDMI
    • d'un clavier
    • d'un lecteur de cartes micro SD
  • d'un autre ordinateur. Celui-ci nous servira à
    • télécharger l'image disque du système d'exploitation pour le pi
    • graver cette image sur la carte micro SD
    • se connecter à distance au pi par ssh pour pouvoir l'utiliser

Je supposerai que votre autre ordinateur est un mac. Néanmoins, si vous avez un PC Windows ou Linux, je vous proposerai également des solutions.

Quel type de pi?

Il y a plusieurs types de raspberry pi, et j'ai quelques conseils pour vous (nous sommes aujourd'hui le 27 avril 2019).

Si vous ne savez pas quoi prendre, choisissez simplement le raspberry pi 3 B+ , qui est la dernière version du modèle standard.

Le pi utilise comme disque une carte micro SD . La vitesse de transfert de cette carte est un critère primordial pour deux raisons. D'abord, celle-ci sera déterminante pour la réactivité du pi, et notamment pour les temps d'installation. Ensuite, une carte rapide a moins de chance d'être corrompue (auquel cas vous serez forcé de changer de carte et de réinstaller votre pi...).

La capacité de la carte, elle, n'a que peu d'importance. Avec 32 GO, vous aurez bien plus qu'il n'en faut.

Donc achetez une petite carte pas cher, mais rapide et de bonne qualité. Moi, j'utilise actuellement des SanDisk micro SD HC U1 (classe 10, A1) de 32 GO, qu'on trouve à 8 euros sur Amazon.

A good cheap SD card.

Ensuite, il vous faut une alim USB . Certains disent que l'alim officielle est plus stable, et c'est en effet celle que j'utilise. D'un autre côté, il m'est arrivé d'alimenter des pis avec de simples chargeurs de téléphone portable, et je n'ai jamais eu de problème. Donc à vous de voir. Assurez-vous simplement que l'alim peut sortir un courant de 2.5 A.

Enfin, vous voudrez probablement un boîtier. J'utilise le boîtier officiel , et parfois pas de boîtier du tout.

Vous pouvez aussi acheter un kit complet contenant le pi, la carte micro SD, l'alim, et le boîtier. Mais je trouve que souvent, la carte SD fournie avec le kit n'est pas top. J'ai déjà eu un cas de corruption de ma carte SD à cause d'une coupure de courant, et je n'avais pas de backup (oui, oui je sais c'est pas bien). Donc maintenant, j'utilise de très bonnes cartes, et j'ai un backup.

Maintenant que nous avons tout ce qu'il nous faut, passons à l'installation.

Flasher Rasbian Lite sur la carte SD

Raspbian est le système d'exploitation recommandé pour le raspberry pi. C'est une distribution Linux basée sur Debian, comme Ubuntu. Donc si vous utilisez déjà Ubuntu, elle vous semblera très familière.

Comme nous voulons une installation minimale, nous allons utiliser Raspbian Lite. C'est Rasbian, mais avec seulement les packages indispensables. Les packages optionnels peuvent toujours être rajoutés facilement après coup, suivant ce que vous voulez faire.

Téléchargez la dernière image de Raspbian Lite ici . La version actuelle de Raspbian est Raspbian Stretch. Décompressez l'archive.

L'archive contient un fichier image (.img) que nous allons graver sur notre carte SD. Mettez la carte micro SD dans le lecteur de carte micro SD, et connectez celui-ci à votre ordinateur par USB.

La façon la plus simple de graver l'image est d'utiliser Etcher , qui marche sous mac OS, Windows, et Linux. Cependant, j'utilise généralement une méhode plus manuelle basée sur dd, que je vais vous présenter dans les deux sections suivantes. Si vous utilisez Etcher, vous pouvez les passer.

Identification de la carte SD (instructions mac OS)

Sur le mac, ouvrez un terminal, et faites :

diskutil list 
/dev/disk0 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         500.3 GB   disk0
   1:                        EFI EFI                     314.6 MB   disk0s1
   2:                 Apple_APFS Container disk1         500.0 GB   disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +500.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            336.3 GB   disk1s1
   2:                APFS Volume Preboot                 23.9 MB    disk1s2
   3:                APFS Volume Recovery                515.0 MB   disk1s3
   4:                APFS Volume VM                      5.4 GB     disk1s4

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *31.9 GB    disk2
   1:             Windows_FAT_32 NO NAME                 31.9 GB    disk2s1

J'utilise une carte SD de 32 GO, et il est donc évident que cette carte correspond à /dev/disk2 , tandis que /dev/disk1 est le disque principal du mac.

Gardez bien ça en tête, et ne vous plantez pas! ou vous courrez le risque de rendre votre ordinateur inutilisable en effaçant son disque principal dans ce qui suit.

Gravure de l'image

Démontez (éjectez) la carte SD (juste au cas où elle soit montée) :

diskutil unmountDisk /dev/disk2

Dans la commande ci-dessous, assurez-vous que le chemin vers le fichier d'image en entrée est correct, et VÉRIFIEZ ABSOLUMENT QUE LE DISQUE DE DESTINATION EST BIEN LA CARTE SD ET PAS LE DISQUE PRINCIPAL . Je ne pourrai en aucun cas être tenu pour responsable si vous vous trompez à cette étape ;-) Si vous êtes vraiment sûr, lancez cette commande pour écrire l'image sur la carte SD:

sudo dd bs=1m if=2019-04-08-raspbian-stretch-lite.img of=/dev/disk2 conv=sync

Cela va prendre un certain temps, et il n'y a pas de progress bar. Soyez patient.

Après l'écriture, démontez la carte SD :

diskutil unmountDisk /dev/disk2

et insérez là dans votre raspberry pi. Connectez l'écran et le clavier au pi, et branchez l'alimentation pour le démarrer.

Configuration initiale

Le démarrage est rapide, et vous vous retrouvez devant un prompt de login. Logguez-vous avec le nom d'utilisateur et le mot de passe par défaut : pi / raspberry.

Nous allons maintenant configurer la machine avec raspi-config :

sudo raspi-config

Dans Localisation Options:

  • Choisissez le keyboard layout correspondant à votre clavier (par défaut, c'est un layout US)
  • Changez la timezone pour avoir l'heure correcte

Revenez au menu principal et allez dans Network Options:

  • Changez le nom de la machine (Hostname). Par défaut, c'est raspberry. C'est pas mal, mais dès que vous ajouterez un nouveau pi, vous devrez le changer. Donc donnez-lui dès maintenant un nom unique. Dans la suite, je supposerai que vous utilisez rasptest
  • Configurez la connection wifi.

Revenez au menu et changez le mot de passe utilisateur. C'est important car tous les pi ont le même mot de passe par défaut.

Enfin, allez dans Interfacing Options, et activez la connection à distance par ssh.

Sélectionnez Finish, et redémarrez le pi :

sudo reboot

Relogguez-vous et assurez-vous que les réglages sont corrects avec les commandes suivantes:

Vérifiez le nom de la machine :

hostname

Pour voir la date et l'heure :

date

Ensuite, vérifiez que vous êtes connecté à internet:

ping www.google.com

Enfin, assurez-vous que vous pouvez vous connecter au pi par ssh:

ssh pi@localhost

Ça y'est, la configuration initiale est terminée! Vous pouvez maintenant ranger votre écran et votre clavier. À partir de maintenant, nous travaillerons à distance par ssh. Vous pouvez arrêter votre pi, et le brancher à un endroit plus pratique si vous le souhaitez :

sudo poweroff

Configuration finale

Vous avez un système minimal qui marche, et vous allez maintenant utiliser votre autre ordinateur pour finaliser sa configuration. Logguez-vous sur le pi par ssh. Sous windows, vous pouvez utiliser PuTTY . Sous MacOS ou Linux, faites :

ssh -X pi@rasptest

Mettez à jour le système:

sudo apt update
sudo apt upgrade

C'est pratique, nous avons un terminal ouvert sur le pi et nous pouvons y faire tout ce que nous voulons. Mais nous ne pouvons pas ouvrir d'autre fenêtre. Pour cela, nous il faut installer X11. Ce n'est pas vraiment nécessaire, mais c'est quand même plus confortable, donc c'est généralement ce que je fais. De plus, j'utilise emacs comme éditeur de texte, et j'ai toujours besoin de git pour récupérer du code. Vous pouvez installer tout ça si vous le souhaitez:

sudo apt install xterm emacs git dbus-x11

Après ça vous pouvez ouvrir un autre terminal en faisant:

xterm &

Ceci lance le terminal et le met en tâche de fond (grâce au &), pour que vous puissiez continuer à utiliser également le premier terminal. Veuillez noter que ça marche car nous avons pris soin de nous logguer au pi par ssh avec l'option -X, ce qui active le transfert de X11 vers la machine distante.

Et maintenant?

Bravo!

Vous pouvez maintenant installer les logiciels dont vous avez besoin sur le pi, par exemple homeassistant, opencv, ...

Je prépare un certain nombre de tutos basés sur le pi. Par exemple, j'essaierai d'y faire tourner la détection d'humain en temps réel .

Enfin, même si ce blog a d'abord comme sujets le machine learning et la data science, j'aime beaucoup l'IOT (Internet of Things, objets connectés) et les microcontrôleurs, et j'ai bien envie de vous montrer quelques petits trucs comme:

  • l'installation et la configuration de homeassistant pour la domotique
  • l'utilisation de mqtt pour la communication des objets connectés.
  • la fabrication d'objets connectés avec des cartes ESP8266, avec micropython
  • le tout petit raspberry pi zero W
  • ...

Si cette évolution de mon blog vous intéresse (ou pas), n'hésitez pas à me le dire.


N'hésitez pas à me donner votre avis dans les commentaires ! Je répondrai à toutes les questions.

Et si vous avez aimé cet article, vous pouvez souscrire à ma newsletter pour être prévenu lorsque j'en sortirai un nouveau. Pas plus d'un mail par semaine, promis!

Retour


Encore plus de data science et de machine learning !

Rejoignez ma mailing list pour plus de posts et du contenu exclusif:

Je ne partagerai jamais vos infos.
Partagez si vous aimez cet article: