Installation de Raspberry Pi OS via "Etcher"

Décompression de l'image

Les images provenant du site https://www.raspberrypi.com/software/operating-systems/ sont compressées afin de prendre moins de place pour le stockage et le transfert sur le réseau, mais elles doivent être décompressées avant de pouvoir être écrites sur des cartes SD.

En utilisant (par exemple) 7zip, on va extraire, de l'image compressée, le fichier ".img" et on pourra ensuite supprimer la version compressée (de l'image) que l'on venait de télécharger.

Flashage de Raspberry PI OS sur la carte micro-sd

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

Grâce à 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 Raspberry PI OS pour permettre d’éditer depuis Windows des fichiers de configuration de l'OS. 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, à Raspberry PI OS, l'activation du serveur SSH au démarrage, il faut créer un fichier vide simplement nommé "ssh" (sans extension). Donc enregistrez dans la racine de la partition "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 Raspberry PI OS 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 PI.
Remarque : toujours couper l'alimentation du Raspberry PI AVANT de mettre ou retirer la carte SD (ou plus tard, le hat "GrovePI" ou tout autre hat).

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 PI. 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, via un QR-Code, l'adresse IP qui lui a été assignée. Sur le réseau Junia, elle est de la forme 10.224.0.x.

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 connecter via le login « pi » (si on ne l'a pas modifié) 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ée wlan0 dans l'exemple ci-dessous et le paramétrage est correct 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ée 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.