Il est loin le temps, où l’on montait un média center de salon à base de carte mère au format mini-ITX de 17x17cm et surtout sans ventilateur. Aujourd’hui, le Raspberry Pi est bien plus répandu et le modèle zero tient dans les dimensions de 6,5×3,1cm !

Voyons donc comment l’installer et le configurer sans utiliser ni clavier, ni écran, ni WiFi, ni même d’alimentation secteur. Pour cela, nous aurons besoin d’un PC quelconque (avec un port USB), d’un cable USB vers micro-USB, d’une carte micro-SD et d’un Raspberry Pi Zero v1.3.

Installation

Image Raspbian

La première étape consiste à installer la distribution Raspbian sur la carte micro-SD. Pour cela, il faut télécharger la version LITE1. Après avoir téléchargé la distribution et inséré la carte mémoire dans votre PC, vous pouvez copier l’image via un outil tel que Etcher.

Une fois l’image copiée, la carte mémoire ne devrait plus être visible sur votre PC. Éjectez-la et réinsérez la.

Activation du SSH

N’ayant ni écran, ni clavier, nous allons nous connecter à distance au Raspberry. Il est donc nécessaire d’activer le service SSH en créant un simple fichier ssh vide à la racine de la carte mémoire (correspondant à la partition boot).

Ethernet sur USB

Notre Raspberry n’a pas de Wi-Fi et nous n’avons pas non plus de cable Ethernet. Pourtant nous souhaitons nous connecter à distance. Ceci est possible via le câble USB grâce au support de l’Ethernet sur USB.

Pour activer cette fonctionnalité, nous devons modifier 2 fichiers. Tout d’abord, il faut ajouter à la fin du fichier config.txt la ligne suivante :

dtoverlay=dwc2

Ensuite, il faut ajouter l’option modules-load=dwc2,g_ether juste après rootwait dans le fichier cmdline.txt.

Démarrage

Notre carte mémoire est prête. Nous pouvons l’éjecter du PC, l’insérer dans le Raspberry Pi et brancher ce dernier en USB (sur le port marqué “USB” et pas “PWR IN”) sur ce même PC.

La petite lumière verte clignote, le système démarre. Il est prêt dès qu’elle devient fixe.

Connexion

Pour se connecter en SSH, il faut connaitre l’adresse IP du Raspberry. Il y a 2 options :

  1. BonjourPS2 : un service qui enregistre tous les hostnames du réseau local. Le Raspberry est donc disponible via le nom raspberrypi.local3.
  2. Angry IP Scanner : un scanner de port sur le réseau local. Il faut au préalable vérifier le sous-réseau local utilisé par l’interface réseau du port USB 4 puis lancer le scan sur cette plage.

Vous vous retrouvez alors à lancer l’une des 2 commandes suivantes (en remplaçant l’IP par celle de votre Raspberry Pi) :

$ ssh pi@raspberrypi.local

$ ssh pi@192.168.137.51

Si la connexion s’effectue, vous pouvez passer la section suivante.

Driver RNDIS

Il se peut que la connexion ne puisse pas s’établir avec le Raspberry Pi. Cela doit provenir du Driver USB, RNDIS, de votre PC qui même s’il a été détecté, ne fonctionne pas correctement.
Dans ce cas, il faut télécharger le driver de Mod Duo et mettre à jour l’interface USB RNDIS avec ce driver.

La connexion doit maintenant fonctionner !

Configuration

Accès à Internet

Votre Raspberry Pi Zero est accessible sur le réseau local mais il n’a pas encore accès à Internet. Comment faire ? Rien de plus simple, il suffit de se rendre sur la configuration de l’interface réseau donnant accès Internet à votre PC et d’activer l’option “Autoriser d’autres utilisateurs du réseau à se connecter via la connexion Internet de cet ordinateur” dans l’onglet “Partage” et choisir l’interface réseau USB.

IP statique

Pour que le Raspberry conserve toujours la même adresse IP, il est nécessaire de modifier le fichier de configuration /etc/dhcpcd.conf avec la commande sudo nano /etc/dhcpcd.conf pour lui ajouter les lignes ci-dessous :

interface usb0

static ip_address=192.168.1.2/24
static routers=192.168.1.1
static domain_name_servers=192.168.1.1

Et ensuite, redémarrer le système avec la commande sudo reboot.

Nom de la machine

Comme nous l’avons vu précédemment, les Raspberry ont un même nom par défaut : raspberrypi. Si vous en possédez plusieurs, il est intéressant de changer leur nom. Voici comment renommer notre Raspberry Pi Zero en raspberrypizero :

$ sudo echo "raspberrypizero" > /etc/hostname
$ sudo sed -i "s/raspberrypi/raspberrypizero/g" /etc/hosts

Conclusion

Pour 5€5, nous avons pu créer un “serveur parasite” autonome et fonctionnel en se branchant sur le port USB de la machine hôte. Il est temps de passer aux choses sérieuses maintenant !

  1. Ici, j’ai fait le test avec Raspian 2018-06-27
  2. Version 2.0.2.0 testée avec succès.
  3. Il peut y avoir des conflits si vous avez d’autres Raspberry sur votre réseau qui ont toujours le nom par défaut.
  4. Pour mon cas, le sous-réseau était le 192.168.137.0.
  5. Le prix est malheureusement doublé avec les frais de port…