Mettre en place une Raspberry Pi sans écran ni clavier
Mis à jour le 12 AVRIL 2021
Dans de nombreux cas, la solution que nous souhaitons mettre en place sur notre Raspberry Pi ne nécessite pas d’accéder physiquement à la Pi, comme par exemple pour mettre en place un serveur web, ou un serveur Minecraft. Il peut arriver que nous n’ayons pas le matériel nécessaire (écran, clavier, souris) pour contrôler la Raspberry. Vous allez donc être ravi d’apprendre que pour mettre un place un système Raspbian, nous n’avons besoin ni d’écran ni de clavier, et que votre ordinateur peut faire le travail.
En effet, il existe une solution pour configurer un minimum Raspbian sur la Raspberry Pi, sans écran et sans clavier, pour que celle-ci puisse démarrer et se connecter en Wi-Fi à votre réseau internet. Cette méthode est aussi appelée « Headless » par nos voisins anglais.
Éléments requis pour mettre en place la Pi
Afin de faire une installation de Raspbian sur la Raspberry Pi, vous aurez besoin de tous les éléments indispensables, c’est à dire une Raspberry Pi 3b, son alimentation, et une carte MicroSD (8Go est suffisant).
Vous devrez également récupérer la dernière version de Raspbian, téléchargeable ici ou la. Nous vous conseillons la version Lite car nous n’avons pas besoin de l’interface graphique. Pas besoin de prendre de pause Chocapic, Raspbian Lite est relativement léger et se télécharge assez rapidement.
Configurer la carte MicroSD
Maintenant que Raspbian est installé sur la carte SD, nous allons pouvoir configurer et modifier certains fichiers afin que la Raspberry Pi puisse fonctionner sans écran et sans clavier. Pour cela, nous allons commencer par activer SSH sur la Raspberry Pi. Pour rappel, la suite du tutoriel se déroule sur votre pc et non sur la Raspberry Pi.
Activer la connexion SSH
En effet depuis l’attaque qui visait les objets connectés en novembre 2016, la Fondation Raspberry Pi a décidé de ne plus activer les connexions SSH par défaut. Mais afin de ne pas bloquer les personnes optant pour une installation sans écran et sans clavier, headless donc, la Fondation a mis en place une solution simple et rapide pour activer le SSH. Il vous suffit de créer un fichier nommé ssh dans la partition boot (le fichier n’attend aucune extension).Ici nous parlons bien de la partition boot, et non pas du dossier /boot de la partition principale de la carte SD.
Les Identifiants de connexion par defaut sont
login: pi
mdp: raspberry
Lors du premier démarrage de la Pi, celle-ci vérifie si le fichier existe et activera le SSH en conséquence.
Connecter la Raspberry Pi à votre box en Wi-Fi
La connexion SSH est maintenant possible mais il reste encore une étape pour rendre la Raspberry utilisable à distance, sans clavier ni écran. Je parle bien sûr d’assurer la connexion à internet, primordial pour utiliser la Pi à distance.
Tout d’abord, si vous souhaitez relier la Raspberry Pi via Ethernet, vous pouvez directement passer à la section suivante car aucune configuration n’est nécessaire.
Ici, nous utilisons une Raspberry Pi 4b ou une Raspberry Pi Zero W mais la solution reste la même avec les autres modèles (Pi 1B, 2B,3B Zero), à ceci prêt que vous devrez prévoir l’ajout d’un dongle Wi-Fi USB.
Afin de configurer la connexion Wi-fi lors du démarrage de la Pi, nous allons créer un fichier wpa_supplicant.conf, situé à la racine de la partition boot de la carte.
Pour cela, nous allons utiliser l’application bloc-note (ou tout autre éditeur de texte, tel que SublimText, NotePad++, etc.). Le fichier devra contenir les lignes suivantes :
country=fr
update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
scan_ssid=1
ssid="MaBoxInternet"
psk="ClefSecurite"
}
A la ligne ssid, vous allez remplacer MaBoxInternet par le nom de votre box, Livebox-5678 par exemple. Pour le champ psk, cela correspond au code de sécurité de votre box, remplacez donc ClefSecurite par la clef de votre box.
Si vous souhaitez avoir plus de détails concernant la connexion Wi-Fi, vous pouvez retrouver en suivant ce lien.
Mettre en place une ip statique pour votre Raspberry Pi
Pour cette étape, vous devrez pouvoir accéder à la partition système de la carte, et non plus la partition boot. Par conséquent, vous aurez besoin d’un ordinateur faisant tourner Linux ou Mac OS X. Si vous n’avez qu’un ordinateur Windows, branchez simplement la Raspberry Pi, retrouvez son IP sur le réseau (par exemple depuis l’interface de gestion de votre box, et effectuez la suite des opérations directement sur la Raspberry Pi en SSH.
Dans le but de connaître l’ip que prendra la Raspberry Pi, nous allons lui donner une ip statique. Pour cela nous allons modifier le fichier dhcpd.conf situé dans le dossier /etc/.
Pour modifier le ficher, utilisez le même logiciel que pour configurer le Wi-Fi.
Une fois dans le fichier, allez à la dernière ligne et ajoutez le contenu suivant
interface eth0 static ip_address=192.168.1.100/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1 interface wlan0 static ip_address=192.168.1.100/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1
Détaillons un peu tout ceci, ici interface eth0 correspond à une connexion de type filaire et interface wlan0 à une connexion Wi-fi. A vous donc de choisir celui qui correspond à votre setup.
Static ip_address permet d’indiquer l’ip que votre Raspberry Pi aura une fois démarrée. Généralement l’ip est de type 192.168.1.x, remplacez le x par la valeur de votre choix, attention à ne pas rentrer en conflit avec d’autres devices.
Pour ce qui est de static router et static domain_name_servers, il s’agit généralement de l’ip de votre box, soit 192.168.1.1.
Vous n’avez plus qu’à enregistrer le fichier.
Armé de ces différents éléments, vous allez pouvoir allumer votre Raspberry Pi pour la première fois, et installer Raspbian (vous verrez que l’installation se réalise en fait toute seule).
Dans un premier temps, branchez votre raspberry à l’écran et au clavier, sans l’alimenter, et branchez dessus la carte SD.
Ceci fait, branchez l’alimentation de la raspberry. Le premier démarrage peut-être un peu long, car lors de celui-ci, la raspberry va installer le système Raspbian.
Au cours de ce démarrage (et des suivants), vous verrez de nombreuses lignes de commandes défiler toutes seules. Il s’agit des commandes exécutées par le système afin de bien démarrer. N’en tenez pas compte, attendez simplement que le système ai fini de démarrer.
Par ailleurs, au cours de démarrage, la led rouge devrait rester fixe et la verte clignoter quelques secondes puis s’éteindre. Si ce n’est pas le cas, et si la Raspberry ne semble pas démarrer sur l’écran, même après une trentaine de secondes, cela signifie qu’elle n’arrive pas à démarrer sur la carte. En fait, elle n’arrive pas à trouver le code lui permettant de « booter », et d’installer Raspbian.
Ce problème peut avoir plusieurs causes, mais la source est presque toujours la carte SD.
Si le problème ne vient pas de là, il peut venir d’un mauvais partitionnement de la carte, ou d’une mauvaise copie du système Raspbian. Dans ce cas, vous devrez re-partitionner votre carte, et réinstaller votre système Raspbian.
Une fois le système démarré, il va (peut-être) vous demander de vous identifier. Lors du premier démarrage le login par défaut est « pi », et le password est « raspberry ».
Avec les systèmes Linux, les password ne sont pas affichés lorsqu’ils sont tapés. Ne vous étonnez donc pas de ne pas voir les traditionnelles petites étoiles lorsque vous allez taper votre mot de passe, et tapez-le normalement, puis validez en appuyant sur « Entrée ».
Si le mot de passe n’est pas bon, cela peut être dû au fait que le clavier est configuré en « QWERTY » et non en « AZERTY » par défaut. Il faudra alors taper « rqspberry » pour le mot de passe.
Voilà, vous avez accès au système, vous venez d’installer Raspbian ! Il ne vous reste donc plus qu’à configurer Raspbian !
Configuration de raspbian
Si c’est votre premier démarrage, vous devriez vous retrouver devant une interface vous permettant de faire des choix de configuration. Cette interface se présente sous la forme d’un menu navigable au clavier.
Si cette interface n’apparaît pas au démarrage, vous pouvez l’obtenir en lançant le terminal et en utilisant la commande
sudo raspi-config
Une fois sur cette interface de configuration, nous allons configurer Raspbian pour que vous soyez dans des conditions optimales lors de vos prochaines utilisations, et que vous puissiez profiter au mieux de votre Raspberry.
Un système Raspbian sur toute la carte
Dans un premier temps, nous allons nous assurer que le système Raspbian utilise bien toute la carte (attention, cette étape n’est à faire que si vous utilisez seulement une distribution Raspbian sur votre carte SD. Si plusieurs versions cohabitent, comme avec NOOBS par exemple, alors n’exécutez pas cette étape).
Pour cela, vous allez vous positionner sur le premier choix « Expand Filesystem », et cliquer sur « Entrée ». Le menu va disparaître, et des lignes de commandes vont être exécutées. Une fois que le système a fini son travail, il vous affichera de nouveau une fenêtre du même type que le menu précédent, vous informant de la réussite de l’opération.
Validez, et vous êtes renvoyé sur le menu.
Passer le clavier en AZERTY
Si vous avez essayé de taper du texte, vous vous en êtes probablement rendu compte, le clavier a un comportement un peu étrange.
En fait, votre clavier est toujours configuré en « QWERTY », et non en « AZERTY », comme c’est la norme pour les claviers français. Nous allons donc régler ce problème.
Pour cela, choisissez de nouveau la quatrième ligne « Internationalisation options ».
Comme précédemment, vous arrivez sur un deuxième menu. Choisissez cette fois la troisième ligne « Change Keyboard Layout » il peut y avoir un certain temps avant l’affichage de la fenêtre (de façon général, l’ensemble des étapes pour le clavier peuvent être un peu longues).
Lors de l’écriture de ce tutoriel, nous avons procédé à une réinstallation d’un nouveau système, afin d’être sûrs de nos conseils, et nous avons réalisé l’ensemble des étapes de configuration via connexion SSH. Hors, à l’étape de configuration du clavier, nous avons été confrontés à un problème majeur, il nous était impossible après avoir choisi la ligne « Change Keyboard Layout » d’accéder à la suite des étapes, comme nous l’avions fait lors de nos précédentes installations. Nous étions redirigés directement sur le menu de configuration principal.
Nous avons donc convoqué une réunion exceptionnelle autour du billard, afin de débattre, dans le but qu’émerge une solution ! C’est donc après de nombreux cassages, d’innombrables cadavres de kinder bueno, et les meurtres cruels de valeureux sodas, que nous nous rendîmes compte que oui, nous étions bien forcés de l’admettre, nous n’avions pas de clavier branché sur la Raspberry, ce qui empêche sa configuration.
Tout cela pour vous dire qu’il faut absolument qu’un clavier soit branché pour pouvoir configurer le clavier…
Sur la nouvelle fenêtre, validez directement sans changer le type de clavier. Sauf cas particuliers, ce devrait être le bon. Une nouvelle autre fenêtre apparaît, choisissez « Autre ». Sur la nouvelle fenêtre, choisissez le clavier « Français », puis la disposition « Par défaut », « Pas de touche « compose » », et enfin « Non ».
Passer Raspbian et la Raspberry en français
Pour continuer dans l’internationalisation, nous allons passer tout le système en français.
Pour cela, nous allons modifier ce que l’on nomme les « locales ». Il s’agit d’un réglages définissant un ensemble de textes en plusieurs langues. Vous allez donc vous rendre sur le quatrième choix, « Internationalisation Options », et appuyer sur « Entrée ».
Vous allez cette fois choisir la première ligne, « Change Locale ».
Une fenêtre apparaît (elle peut mettre un petit peu de temps), et vous explique ce que sont les locales.
Vous allez descendre jusqu’à la ligne « en_GB.UTF-8 UTF-8 », et la sélectionner en appuyant sur la touche « Espace ». Un astérisque va alors apparaître entre les crochets précédent le choix (il est possible que la ligne soit déjà sélectionnée dès le départ. Dans ce cas, gardez là sélectionnée, c’est à dire avec un astérisque affiché entre les crochets).
Vous allez de nouveau descendre, cette fois jusqu’à la ligne « fr_FR.UTF-8 UTF-8 », et répéter la même opération que précédemment.
Vous allez maintenant vous déplacer sur le champ « Ok » en bas à gauche de la fenêtre. Pour cela, appuyez sur la touche tabulation (la touche avec les deux flèches). Puis validez.
Une nouvelle fenêtre va apparaître vous demandant de choisir les locales par défaut. Déplacez-vous sur fr_FR.UTF-8, puis utilisez de nouveau la touche tabulation pour aller sur « Ok », et validez.
Le système va de nouveau exécuter des commandes. Ces dernières risquent de prendre un peu de temps. Une fois ces commandes terminées, vous serez de nouveau devant le menu de configuration basique (ce dernier restera probablement en anglais, c’est normal).
Changer le mot de passe de la Raspberry
Maintenant que le système est en français et occupe bien toute la carte, nous allons effectuer une opération primordiale, et trop souvent oubliée, changer le mot de passe de l’utilisateur « pi » ! (l’utilisateur par défaut du système).
En effet, ce password étant celui par défaut du système le plus utilisé sur Raspberry, et puisqu’il donne accès via sudo à un niveau root sur votre raspi, le laisser tel quel présente une incroyable faille de sécurité.
Pour cela, rendez-vous sur le second choix, « Change User Password », et validez. Une fenêtre vous informe que vous allez devoir entrer un nouveau mot de passe pour l’utilisateur « pi ».
Validez, la fenêtre disparaît, et le terminal vous demande de saisir votre nouveau password. Entrez le nouveau mot de passe, et sa vérification (là encore, aucun caractère ne sera affiché).
Une fenêtre devrait apparaître, vous signalant que le mot de passe a été mis à jour avec succès (si ce n’est pas le cas, vous avez probablement mal tapé les mots de passe, dans ce cas recommencez). Validez, et vous voici de nouveau sur le superbe menu de de configuration !
Bien activer le SSH
Maintenant que notre système Raspbian est un peu plus sécurisé, nous allons nous assurer que le SSH est bien activé afin que vous puissiez prendre le contrôle de la Raspberry à distance.
Pour cela, descendez jusqu’au huitième choix, « Advanced Options ».
Cette fois, après validation vous arrivez sur un autre menu ou vous allez choisir la quatrième ligne, « SSH ». Choisissez « Enable », puis validez. Le système lance quelques commandes puis vous ré-affiche une fenêtre vous indiquant le succès (superbe et incroyable) de l’opération. Vous validez (A priori, vous devez commencer à comprendre le principe…)
Voila, vous êtes de retour sur le menu principal.
Utilisez la touche tabulation pour choisir « Finish », et validez. Il est possible qu’une fenêtre vous demande si vous souhaitez redémarrer la Raspberry. Répondez non. Nous le ferons nous même dans quelques instants.
Mettre à jour le système
Votre système est maintenant proprement configuré, il ne nous reste plus qu’à le mettre à jour.
Sous Linux la plupart des distributions, dont Raspbian, possèdent des gestionnaires de paquets, qui permettent d’installer des logiciels, mais aussi de faire des mises à jour. C’est donc via ce gestionnaire que nous allons faire notre mise à jour.
La mise à jour va se dérouler de la façon suivante, nous allons chercher toutes les mises à jour, nous allons les télécharger et les installer, puis nous allons redémarrer le système.
Pour cela, il vous suffit de lancer trois commandes. Cependant, comme ces commandes mettent longtemps à s’exécuter, et comme nous sommes gentils, nous vous donnons une commande d’une seule ligne, qui permet d’exécuter automatiquement la commande suivante une fois la précédente finie.
Voici la commande (une fois lancée, allez vous faire un café, les validations se feront sans vous, et le système redémarrera tout seul) :
sudo aptitude update -y && sudo aptitude upgrade -y && sudo reboot
Explications
La commande sudo permet de lancer la commande en tant qu’administateur.
La commande aptitude correspond au gestionnaire de paquets apt. Le mot clef update correspond au fait de rechercher les mises à jour, et le mot clef upgrade au fait de les installer. Les arguments « -y », eux, permettent de valider automatiquement les demandes de vérification.
La commande reboot permet de redémarrer la Raspberry.
Les doubles esperluettes « && », quant à elles, signifient que la commande les suivant doit être exécutée à la fin de la commande les précédant, uniquement dans le cas ou cette commande a fonctionné sans erreur (une erreur est caractérisée par un code de retour différent de 0).
Au redémarrage l’interface graphique devrait se lancer automatiquement. Si ce n’est pas le cas, vous pouvez lancer l’interface graphique via la commande
sudo startx