Vous êtes tenté par l'utilisation d'un Raspberry Pi mais n'avez jamais osé sauter le pas, pensant que son installation est compliquée ? On vous prouve le contraire en vous simplifiant la tâche (même depuis Windows) !
Les Micro PC tels que le Raspberry Pi sont souvent perçus comme des choses étranges et complexes par le grand public. Pourtant, leur installation est assez simple, même lorsque l'on veut s'en servir comme d'un serveur, sans avoir à leur dédier un écran, un clavier ou une souris.
Pour cela, il faut néanmoins connaître quelques astuces. Après vous avoir expliqué comment mettre en place la dernière version de la distribution officielle Raspberry Pi OS (ex-Raspbian), nous détaillerons comment activer directement le support de l'accès sécurisé à distance (SSH), du Wi-Fi. Nous vous expliquerons également comment créer une sauvegarde, créer un premier script python et mettre en place un petit serveur web.
Matériel et outils nécessaires
L'objectif de cette procédure d'installation est de n'avoir rien à relier à notre Raspberry Pi (écran, clavier, souris), excepté son alimentation. Il sera en effet contrôlé à distance, un peu à la manière d'un serveur chez un hébergeur. Nous utiliserons le protocole Secure Shell (SSH) qui fait désormais partie de Windows 10, comme sous Linux, via OpenSSH. Si jamais vous utilisez une ancienne version de Windows, optez pour un logiciel dédié comme Putty.
Pour le reste, vous devrez surtout disposer d'un ordinateur. Et contrairement à ce que l'on pourrait penser, l'utilisation d'une distribution Linux simplifie ici pas mal les choses. Un réseau Wi-Fi devra également être mis en place, même si dans le cas d'un Raspberry Pi classique, une connection filaire (RJ45) peut suffir.
Pour le reste, vous aurez besoin des composants suivants :
- Un bloc d'alimentation Micro USB (voir les recommandations)
- Un Raspberry Pi 3 Model B(+)ou Pi Zero W(H)
- Un lecteur de carte MicroSD
- Une carte MicroSD
Vous trouveez tous ces éléments chez des revendeurs comme Amazon, des boutiques spécialisées comme Kubii et Farnell. Notez que les anciennes versions du Raspberry Pi peuvent sans doute être utilisées avec cette méthode et une clé USB Wi-Fi, mais cela dépendra du modèle utilisé et l'installation pourra parfois être un peu plus complexe.
Téléchargement de Raspberry Pi OS
Si vous n'avez procédé qu'à des installations de Windows, vous serez sans doute dérouté. Il n'y a en effet pas d'installation à proprement parler, ou de choix à effectuer : il suffit de transférer une image sur la carte MicroSD.
Pour cela, vous devez d'abord la télécharger dans sa version de base (sans logiciels optionnels) ou complète si vous comptez utiliser le bureau. Une déclinaison Lite est aussi proposée pour une utilisation comme serveur. Elles pèsent respectivement 1,8 Go, 1 Go ou 351 Mo dans la version actuelle (Novembre 2018).
Les URL des différents fichiers proposés sont permanentes, utiliser BitTorrent est possible :
https://downloads.raspberrypi.org/raspbian_full_latest
https://downloads.raspberrypi.org/raspbian_latest
https://downloads.raspberrypi.org/raspbian_lite_latest
https://downloads.raspberrypi.org/raspbian_full_latest.torrent
https://downloads.raspberrypi.org/raspbian_latest.torrent
https://downloads.raspberrypi.org/raspbian_lite_latest.torrent
Dans l'idéal, pensez à vérifier l'empreinte SHA-256 fournie avec les fichiers. Pour cela, vous pouvez utiliser des outils comme QuickHash GUI ou encore notre application maison, CheckHash. Vous pouvez aussi plus simplement passer par la ligne de commande, sous Windows (via PowerShell) ou Linux :
Linux : sha256 Nom_du_fichier
Windows : Get-FileHash -Algorithm SHA256 Nom_du_fichier
Installation et activation de SSH
Pour le transfert de l'image sur la carte MicroSD, il y a plusieurs écoles. La fondation Raspberry Pi recommande la plus simple avec l'utilisation d'Etcher, un outil open source et mulltiplateforme, capable d'effectuer la procédure directement depuis le fichier compressé (.zip), mais qui est lourd (Electron oblige).
Dans la pratique, vous indiquez l'emplacement du fichier, celui de votre carte MicroSD, vous cliquez sur OK et c'est parti. Après une phase de décompression et de copie, une vérification sera effectuée.
Sous Windows, Win32DiskImager peut être utilisé comme une alternative plus légère. Open source, il n'est plus vraiment maintenu mais fait le job dans sa version 1.0. Sous Windows XP/Vista, la mouture 0.9 devra être utilisée. Là aussi il vous suffit de sélectionner un fichier image et l'emplacement de la carte MicroSD.
Les adeptes de la ligne de commande sous Linux préfèreront une méthode plus directe, via dd
:
dd bs=4M if=raspbian-stretch.img of=/dev/sdX status=progress conv=fsync
Ici, if
représente le fichier de l'image à transférer, et of
l'emplacement de la carte MicroSD. Si vous ne connaissez pas ce dernier, vous pouvez le rechercher avec la commande lsblk
.
Il est également possible d'effectuer la phase de décompression et de transfert en une ligne avec le pipe suivant :
unzip -p raspbian-stretch.img | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync
Une fois l'image copiée sur la carte MicroSD, il faut activer le support de SSH dès le démarrage. Pour cela, rien de plus simple puisqu'il suffit de créer un fichier vide nommé « ssh » à la racine de la partition boot.
En ligne de commande cela peut se faire des deux manières suivantes :
touch ssh
echo > ssh
Votre Raspberry Pi est désormais prêt à démarrer. Placez la carte MicroSD dans le lecteur, connectez l'alimentation, et voilà. Seul, problème, il faut pouvoir y accéder. Vous pouvez le faire avec le trio classique – clavier, souris, écran – ou à distance en connectant un câble réseau relié à votre routeur.
Mais nous allons faire mieux que ça, et préconfigurer votre réseau Wi-Fi.
Intégration des paramètres Wi-Fi
Ici, on retrouve à peu près la même procédure, mais il faut cette fois placer du contenu dans le fichier wpa_supplicant.conf
qui devra là encore être créé à la racine de la partition boot. Pour qu'il soit fonctionnel, il faut lui indiquer le pays dans lequel vous vous trouvez, le nom de votre réseau Wi-Fi (SSID) ainsi que son mot de passe, sous la forme suivante :
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=FR
network={
ssid="votre-ssid"
psk="votre-mot-de-passe"
}
Si vous préférez ne pas écrire votre mot de passe Wi-Fi en clair pour ce fichier, vous pouvez indiquer directement la Pre-Shared Key (PSK), elle ne sera alors plus indiquée entre guillemets.
Pour la calculer, on peut se servir d'un script proposé par certains sites, ou wpa_passphrase
sous Linux. Il est possible de le faire via Ubuntu et le sous-système Linux de Windows 10, mais il faut alors installer le paquet wpasupplicant
:
sudo apt install wpasupplicant
Le calcul de la Pre-Shared Key nécessite le SSID et le mot de passe, et vous donnera directement l'élément network
à intégrer au fichier wpa_supplicant.conf
:
:~$ wpa_passphrase mon_SSID mon_mot_de_passe
network={
ssid="mon_SSID"
#psk="mon_mot_de_passe"
psk=9f49a3640bea256bb825fb73c1b64675a4631e20dfedb8e6be438e302198e30b
}
Vous pouvez retirer la ligne seconde ligne commentée (débutant par un #) et enregistrer le fichier. Placez ensuite la carte MicroSD dans votre Raspbery Pi, connectez-le à son alimentation. Si vous n'avez pas fait d'erreur, il sera visible sur votre réseau local via le Wi-Fi au bout de quelques minutes.
Si vous voulez effectuer une configuration plus complexe, avec différents réseaux Wi-Fi par exemple, vous trouverez les ressources nécessaires dans cette page de la documentation officielle.
Notez que vous pouvez également éditer directement le fichier déjà présent sur la carte MicroSD :
/etc/wpa_supplicant/wpa_supplicant.conf
Les choses se corsent ici pour les adeptes de Windows. Il faut en effet pouvoir lire et écrire sur la partition principale (root), formatée en ext4. Pour cela il existe différentes solutions mais seul Linux File Systems for Windows de Paragon Software a fonctionné lors de nos tests sous Windows 10.
Ce logiciel peut être utilisé gratuitement à pleine vitesse pendant dix jours, puis à vitesse réduite (à moins de payer une licence de 19,95 euros), ce qui n'est pas très gênant pour notre besoin. Ext2 File System Driver (Extfsd) fonctionnera sur des versions antérieures de l'OS, mais semble toujours poser problème sous Windows 10.
Sous Linux, pas de problème, tout sera géré nativement. Ainsi, utiliser un Live CD ou une machine virtuelle peut également être une solution simple à mettre en œuvre depuis Windows.
Se connecter à votre Raspberry Pi
En théorie, rien de plus simple. Si vous êtes dans une situation parfaite (avec support du Multicast DNS), il vous suffit de taper la commande suivante sous Linux ou Windows 10 (April Update ou plus) :
ssh pi@raspberrypi.local
Elle permet de se connecter via SSH à votre Raspberry Pi en tant que l'utilisateur « pi », celui créé par défaut. Mais dans certains cas, cela ne fonctionne pas. Il vous faut donc trouver l'IP de l'appareil, soit dans l'interface de votre routeur, ou via un outil comme nmap
pour les amateurs de la ligne de commandes (à adapter selon votre réseau) :
nmap -sn 192.168.0.1/24
Vous pouvez également utiliser le Pi Finder d'Adafruit, qui ne fonctionnera que si votre réseau comporte un seul Raspberry Pi. En effet, seul le premier sera trouvé. Autre solution : opter pour un scanner de réseau local comme Angry IP Scanner ou Fast IP Scan. De telles applications existent aussi sur Android et iOS.
Cherchez alors un appareil connecté avec le port 22 ouvert, utilisé par défaut par SSH et le Raspberry Pi. Outre l'adresse IP, plusieurs paramètres par défaut sont à utiliser pour une connexion via ssh/Putty :
Nom d'hôte : pi@addresse_ip
Port : 22
Mot de passe : raspberry
Lors de votre première connexion sécurisée, il vous sera demandé de confirmer l'empreinte de la clé de chiffrement. Validez en tapant « yes ». Il faudra ensuite modifier le mot de passe utilisateur en tapant la commande passwd
. Vous serez alors invité à taper le mot de passe actuel (raspberry) et deux fois celui par lequel vous voulez le remplacer.
Mettez ensuite à jour les applications et le système d'exploitation en tant que super utilisateur (via la commande sudo), une opération qu'il faudra répéter de manière régulière, notamment pour éviter toute faille de sécurité. Vous pouvez également lancer l'assistant de configuration, permettant de régler le fuseau horaire, le nom sur le réseau (hostname), les langues, etc. :
sudo apt update && sudo apt dist-upgrade
sudo raspi-config
Des astuces complémentaires pour la sécurisation de votre Raspberry Pi sont précisées dans la documentation officielle.
Créer une sauvegarde de votre installation
Votre système est désormais installé, configuré et à jour. Autant profiter de cette étape cruciale pour effectuer une sauvegarde, sous forme d'une image, identique à celle téléchargée au départ.
Pour cela, débranchez votre Raspberry Pi après avoir tapé la commande suivante, puis retirez la carte MicroSD :
sudo halt
Une fois la carte connectée à votre ordinateur, vous pouvez utiliser l'outil Win32DiskImager sous Windows. Celui-ci propose une fonctionnalité Lire qui permet de créer une image vers le nom de fichier indiqué. De la même manière, sous Linux, l'outil dd
peut être utilisée de manière inversée pour créer une image, en intervertissant les paramètres if et of :
dd bs=4M if=/dev/sdX of=sauvegarde_pi.img status=progress conv=fsync
Installation d'un serveur web et Hello, world !
Disposer d'un Raspberry Pi c'est bien, en faire quelque chose, c'est mieux. Comme évoqué dans un précédent article, les possibilités d'une telle machine sont très nombreuses. Nous vous en proposons deux.
La première consiste à créer votre premier script Python et à le lancer, celui-ci affichant le fameux « Hello, world » :
echo "print('Hello, World')" > hw.py && python hw.py
Et voilà ! La première partie de cette ligne de commande créé un fichier hw.py contenant le script affichant le message. La seconde (après le &&) exécute le script ainsi créé.
Passons maintenant à l'installation d'un serveur web, nginx. Elle tient en une ligne :
sudo apt install nginx
Une fois la procédure terminée, le serveur sera installé et lancé. Si vous tapez l'adresse IP de votre Raspberry Pi dans un navigateur au sein d'une machine connectée à votre réseau local, vous verrez la page par défaut s'afficher. Pour la modifier, il faut tout d'abord s'approprier le répertoire contenant le site web par défaut, puis ajouter une page d'index :
sudo chown pi /var/www/html
sudo echo "<H1>Hello, World</H1>" > /var/www/html/index.html
L'installation sur une clé USB ou un HDD/SSD externe
Depuis avril 2017, l'utilisation d'un périphérique de stockage USB plutôt qu'une carte MicroSD a été largement simplifiée. C'est le mode de démarrage MSD (Mass Storage Device).
Pour en profiter sur sur les Raspberry Pi B 3(+), il faut activer un bit OTP (One Time Programmable) du SoC. Cela nécessite qu'une distribution Raspberry Pi OS soit fonctionnelle sur l'appareil concerné. L'activation passe par l'ajout d'une ligne au fichier de configuration présent sur la partition de boot : config.txt
.
Cela se fait en une ligne de commande :
echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
Il suffit ensuite de redémarrer le Raspberry Pi :
sudo reboot
Une fois de retour, le bit aura été modifié. La ligne ajoutée au fichier config.txt
n'est plus nécessaire. Pour vérifier que tout s'est bien passé, tapez la commande suivante :
vcgencmd otp_dump | grep 17:
Si tout va bien, la valeur devrait être 17:3020000a
, si rien n'a été changé, 17:1020000a
sera renvoyé.
Une fois cette modification faite, votre Raspberry Pi sera capable de booter sur un périphérique de stockage USB. Comme évoqué dans notre précédent article, il faudra néanmoins veiller à ce que l'alimentation soit suffisante, ou à ce qu'une alimentation externe soit mise en place. De plus, certaines clés USB ne seront pas reconnues.
- SupTronics X850 : utilisez un SSD plutôt qu'une carte microSD pour le stockage de votre Raspberry Pi
Notez que dans le cas des Raspberry Pi 4, une procédure différente est nécessaire :
Concernant l'installation de l'OS, il se fera de la même manière que pour une carte SD. Vous pouvez ainsi transférer une image via dd, Etcher ou Win32DiskImager. Une fois la procédure terminée et la configuration effectuée, votre Raspberry Pi pourra fonctionner avec un stockage externe, et sans doute un peu plus d'espace.