Installation de Raspberry Pi OS

Deux solutions, pour installer l'OS du Raspberry PI, sont présentées dans les colonnes ci-dessous. L'ancienne version est là pour expliquer le principe afin de comprendre ce que fait la nouvelle application développée par la fondation, mais c'est la nouvelle version qui sera utilisée.

ancienne solution
sans Raspberry PI Imager
nouvelle version
avec Raspberry PI Imager

Téléchargement de l'image

Rendez-vous sur https://www.raspberrypi.org/software/operating-systems/ et téléchargez Raspberry Pi OS Lite en version zip.

On prend la version lite car on ne va pas utiliser l’interface graphique du rapsberry (interface avec une souris) : on va continuer à utiliser l’invite de commande (aussi appelée shell) dans sa version bash.

Installer RASPBIAN sur la carte micro-sd

On a le système d’exploitation Raspbian qui est dans notre fichier zip sur votre ordinateur. Il faut maintenant l’écrire sur la carte SD après avoir extrait du zip le fichier image (fichier d'extension img).

On ne peut pas faire un simple copier/coller : les fichiers linux sont organisés de façon différentes par rapport aux fichiers Windows. On va devoir flasher la carte.

Rendez-vous sur le site https://etcher.io/ et téléchargez le logiciel.

Grace à ce dernier vous allez pouvoir flasher la carte sd. Remarque : cela prend quelques minutes et il y a une étape de « Validating » où etcher vérifie que le flashage s’est bien passé. Une fois fini, débrancher la clef.

Attendez 5 secondes, rebranchez là : cela va forcer Windows à revérifier le contenu de la carte mémoire.

Dans votre explorateur de fichier, vous allez voir un ou deux nouveaux disques. Celui qui nous intéresse est celui s’appelant « boot ».

En fait : la carte mémoire a été partitionnée. C'est à dire divisée « logiciellement » en deux sous espaces logiques. L’un s’appelle boot et est lisible par Windows et linux. L’autre n’a pas de nom imposé et est illisible par Windows : si vous essayez d’y accéder, windows vous demandera de le formater. REFUSEZ.

La partition boot a été mise en place par Raspbian pour permettre d’éditer depuis Windows des fichiers de configuration de Raspbian. On va pouvoir, par exemple, configurer le ssh et le wifi dès à présent depuis Windows.

Editer / Créer des fichiers Unix

Pour faire cela, vous allez avoir besoin sous windows d'un éditeur de text capable de manipuler des fichier texte au format Unix. On se propose d'utiliser Notepad++ téléchargeable sur https://notepad-plus-plus.org/downloads/. Après installation, lancez-le.

Créez un nouveau fichier dans Notepad++ et dans le menu Edition aller sur l'item "Convertir les sauts de lignes" et sélectionnez "Convertir au format unix (LF)". Il faudra toujours procéder ainsi lors de la création de chaque fichier devant être au format unix.

Pour demander à RASPBIAN l'activation du serveur SSH au démarrage, il faut créer un fichier vide simplement nommé "ssh" (sans extension). Donc enregistrez sous boot le fichier en choisissant l'option "all types" (vérifiez l'image ci-dessous) avec le nom (EXACTEMENT CE NOM-là AVEC LES GUILLEMETS) : "ssh"

Pour dire au Raspberry Pi de se connecter automatiquement à votre réseau Wi-Fi, vous devez éditer un fichier appelé : wpa_supplicant.conf.

Dans ce fichier, on va indiquer le SSID et la PSK (PreShareKey) du Wi-Fi que le professeur vous a indiqué à la place des points de suspension.

network={
ssid="..."
psk="..."
}
	

Lors du prochain boot du raspberry PI avec cette carte SD, le fichier sera déplacé par Raspbian vers la partition unix (dans /etc/wpa_supplicant/wpa_supplicant.conf)

Editer/accéder aux fichiers de configuration Linux

Comme les fichiers linux sont organisés de façon différentes par rapport aux fichiers Windows, il faut télécharger un logiciel spécifique pour pouvoir accéder aux fichiers de configuration Linux afin de les modifier.

Allez sur https://www.paragon-software.com/home/linuxfs-windows/, et installez le.

Une fois fini, vous allez voir la partition « rootfs » dans votre explorateur de fichier et ainsi pouvoir éditer avec notepad++ les fichiers de cette partition.

Dans le dossier interfaces, ajoutez les lignes suivantes pour dire au Raspberry Pi d'autoriser wlan (connexion sans fils) comme méthode de connexion réseau et utilisez /etc/wpa_supplicant/wpa_supplicant.conf comme fichier de configuration. Depuis rootfs, naviguer dans: etc -> network -> interfaces >> Ouvrez « interfaces » avec Notepad++ PAS DE COPIER COLLER !!!!! Et tapez dedans les lignes suivantes :

auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
	

Maintenant quittez Notepad++, demandez à Windows d'éjecter la carte, débranchez la carte SD du PC, et branchez-la dans le Raspberry PI, puis alimenter le Raspberry.
Remarque : toujours couper l'alimentation du Raspberry AVANT de mettre ou retirer la carte SD (ou plus tard le hat "GrovePI" ou tout autre hat).

Téléchargement de Raspberry PI Imager

Rendez-vous sur https://www.raspberrypi.org/software/ et choisissez la version pour le système d'exploitation de votre ordinateur (MAC, Windows, Linux)

Puis installez le logiciel et lancez l'application.

Configuration de Raspberry PI Imager

Sur votre clavier et dans l’application tapez "ctrl + shift + x" pour afficher les options de configuration avancées :

  • Choisissez "To always use" dans "Image Customization options"
  • Cochez la case "Enable SSH" pour activer la connexion sécurisée à distance
  • Choisissez "Use password authentification" et indiquer le mot de passe par défaut "raspberry". Et surtout mettre comme login "pi" pour pouvoir utiliser un module "GrovePi" ensuite.
  • Descendez dans la fenêtre via le scroller
  • Cochez la case "Configure WiFi" et mettez le ssid "JUNIA_LAB" et son mot de passe que vous connaissez déjà.
  • Dans "WiFi country" choisissez "Fr" pour France
  • Appuyez sur "Save" pour sauvegarder.

Flashage de la carte SD

Choix de l'image dans la solution standard

Cliquez sur le bouton pour choisir l’OS :

  • Choisissez "Raspberry Pi OS (other)"
    • Choisissez "Raspberryi Pi OS Lite (Legacy)"

on prend la version lite car on ne va pas utiliser l’interface graphique du Raspberry (interface avec une souris) : on va continuer à utiliser l’invite de commande (aussi appelée shell) dans sa version bash.

Choix de l'image particuliaire déjà téléchargée

Cliquez sur le bouton pour choisir l’OS :

  • Choisissez, en bas de la liste, "Utilisez image personnalisée"
    • puis on sélectionne le fichier image que l'on a préalablement téléchargé

Choix de la cible

Insérez la carte SD dans votre ordinateur via l’adaptateur USB fourni et choisissez le stockage dans la liste de l’imager (après avoir cliquer sur le bouton)

Lancez le flashage

Cliquez sur le bouton "Ecrire" puis confirmez la suppression des données en cliquant sur "Oui".

(L'image est téléchargée automatiquement, puis écrite sur la carte SD, puis vérifiée et enfin configurée suivant le paramètrage choisi : SSH, WiFi, ...)

Une fois terminé, débranchez la carte SD du PC, et branchez-la dans le Raspberry, puis alimenter le Raspberry.
Remarque : toujours couper l'alimentation du Raspberry AVANT de mettre ou retirer la carte SD (ou plus tard le hat "GrovePI" ou tout autre hat).

On peut maintenant se connecter via SSH à notre Raspberry PI en utilisant le WiFi JUNIA_LAB comme détaillé plus bas.

Connexion SSH

Pour se connecter en SSH sur le Raspberry PI, il est nécessaire de connaître l'adresse IP que la borne Wi-Fi lui a donnée par le protocole dhcp. Par défaut, les adresses IP sont distribuées aléatoirement dans le range IP de la borne, il n'est alors pas simple de trouver quelle adresse IP a été attribuée à quel Raspberry. Pour pallier à ce problème, il est possible d'enregistrer, en IP fixe dans la borne, l'adresse MAC de chaque Raspberry PI. C'est ce qu'a fait l'administrateur réseau et on a écrit, sur la boite du Raspberry PI, l'adresse IP qui lui a été assigné. Sur le réseau Junia, elle est de la forme 10.224.0.x.

Le login est « pi » et le mot de passe est « raspberry ».

Problème de connexion Wi-Fi

En cas de problème de connexion via le Wi-Fi, on va connecter le Raspberry PI à un écran HDMI et un clavier USB QUERTY. (Et on le mettra ensuite sous tension.)

Une fois démarrer, on pourra se connecté via le login « pi » et son mot de passe, comme en Wi-Fi, puis utiliser les commandes suivantes pour cerner et corriger le problème.

iwconfig

La commande affiche toutes les cartes réseaux reconnues sur le Raspberry PI en indiquant, quand il s'agit d'un réseau sans fils (wireless) les paramètres de rattachement au point d'accès. La carte Wi-Fi est nommé wlan0 dans l'exemple ci-dessous et le paramétrage est correcte pour l'accès aux réseau "JUNIA_LAB".

pi@raspberrypi:~ $ iwconfig
wlan0     IEEE 802.11  ESSID:"JUNIA_LAB"
          Mode:Managed  Frequency:5.52 GHz  Access Point: B2:17:D8:05:87:8C
          Bit Rate=180 Mb/s   Tx-Power=31 dBm
          Retry short limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
          Link Quality=50/70  Signal level=-60 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

eth0      no wireless extensions.

lo        no wireless extensions.
    

ifconfig -a

La commande affiche toutes les cartes réseaux reconnues sur le Raspberry PI en indiquant, entre autre, l'adresse MAC et l'adresse IP (si elle a bien été obtenue). La carte Wi-Fi est nommé wlan0

pi@raspberrypi:~ $ ifconfig -a
eth0      Link encap:Ethernet  HWaddr b8:27:eb:50:34:13  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:0 (0 KiB)  TX bytes:0 (0 KiB)

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:456 errors:0 dropped:0 overruns:0 frame:0
          TX packets:456 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          RX bytes:0 (0 KiB)  TX bytes:0 (0 KiB)

wlan0     Link encap:Ethernet  HWaddr b8:27:eb:05:61:46  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:0 (0 KiB)  TX bytes:0 (0 KiB)
	

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

La commande nano est précédé par la commande sudo (qui éléve les privilèges pour exécuter la commande avec les droits d'administrateur c'est à dire avec ceux de root). On peut ainsi éditer le fichier wpa_supplicant.conf pour vérifier ou corriger la valeur de SSID et de PSK.

sudo nano /etc/network/interfaces

Cette même commande est, ici, utilisée pour vérifier ou corriger le fichier interfaces.

sudo reboot

La commande reboot permet de redémarrer le système d'exploitation mais nécessite d'avoir une élévation de privilèges pour s'exécuter (on la fait donc précéder ici par la commande sudo

sudo halt

La commande halt permet d'arrêter proprement le système d'exploitation. Cette commande nécessite également une élévation de privilèges.