Résumé :
Utilisation de l'image debian trixie (stable) ou debian forky (testing) pour Raspberry Pi avec un processeur arm64 (Pi3 4 5). Cette image est directement utilisable pour apprendre ou enseigner le codage avec les outils SNAP!BYOB (analogue à scratch) et jupyter pour aborder python C et javascript. L'image rpi-devDeb-trixie64_2026-09-30 https://media.tremplin.ens-lyon.fr/isoImages/RaspBerry) est construite à partir de la source debian standard https://raspi.debian.net/ et l'image rpi-devPiOs-trixie64_2026-09-30 https://media.tremplin.ens-lyon.fr/isoImages/RaspBerry de la source PiOS standard (https://www.raspberrypi.com/.
Motivations
Le but de cet article est de décrire la prise en main d'une RaspberryPi préparée par le projet Tremplin des Sciences. La procédure concerne :
-
soit un système d'exploitation
Debian "orthodoxe"(analogue à celui qui est installé sur un ordinateur ordinaire) et qui fonctionne sur une Raspberry Pi ARM-64. -
soit un système d'exploitation Debian
PiOSqui contient des modifications nécessaires à l'usage des overlays.
La motivation principale est de disposer d'une RaspberryPi directement utilisable avec une préconfiguration et des choix correspondant au dispositif Tremplin des sciences. L'image est augmentée de nombreux logiciels nécessaires pour piloter le GPIO de la RaspberryPi, apprendre à coder en python ou C++ à l'aide d'une interface web jupyterou jupyterlab.
Remerciements
Éric le Jan et Charles-Henri Eyraud.
Téléchargements
Lors du développement du projet "Météo et Climat tremplin pour l'enseignement des sciences et dès que l'utilisation d'objets connectés (RaspberryPi, Odroïd, Intel edison, Intel joule) a été entérinée, des images ont été construites au coup par coup pour soutenir les fonctions attribuées à chacun des objets connectés. Cet article présente la prise en main des images "Développement" du dispositif Tremplin des Sciences. Pour réaliser cette opération il est nécessaire de disposer : * d'un ordinateur * d'un réseau soit filaire soit WIFI dont on connait le nom et le mot de passe * d'une carte micro-SD vierge de bonne qualité supportant le maximum possible d'écritures
L'utilisateur privilégié initial s'appelle localadm mais les outils de construction sont conservés dans le bureau de l'utilisateur privilégié tremplin. Il est recommandé laisser ce dernier en l'état pour éventuellement permettre un intervention de secours en ligne. Une clef publique ssh a été fournie à l'utilisateur tremplin, il est recommandé dès la première connexion de supprimer l'autorisation par mot de passe et de préferer les authentifications via des clés ssh pour éviter l'utilisation de mots de passe (un mot de passe de secours est toutefois prévu dans la configuration).
1. Téléchargement de l'image et création de la micro-SD
Le site de dépôt des images fournit pour chaque image :
* un fichier ISO
* un fichier bmap qui permet des lectures/écritures plus rapides avec l'outil bmaptool
* un fichier de hash sha256sum pour vérifier l'intégrité du téléchargement
1.1. copie du fichier ISO sur l'espace de stockage de l'ordinateur hôte
1.2. Copie de l'image sur une carte micro-SD
La copie doit être faite via un protocole binaire sur une micro SD vide et non formattée, toute donnée sur la carte micro-SD sera irrémédiablement détruite. L'utilisation de l'outil bmaptool permet de réduire les temps de copie.
2. Première connexion
L'image est préconfigurée pour pouvoir être utilisée sans écran ni clavier ni souris ni connexion filaire. Il est possible d'interagir en ligne de commande ou en mode graphique via un serveur de terminaux utilisant le protocole xrdp pour afficher l'écran de la raspberry dans un autre ordinateur. On dispose ainsi des outils graphiques standards d'un environnement linux. Le gestionnaire d'affichage est sddm et le gestionnaire de fenêtres lxqt choisis pour leur faible empreinte en mémoire car les raspberriesPi en ont peu, l'utilisation de cet environnement est assez intuitive.
La première connexion est cruciale car il est impossible de créer une image qui permette de s'insérer dans toute infrastructure (notamment sans fil), cependant les configurations nécessaires sont réduites au minimum. L'utilisation des lignes de commandes peut paraître archaïque mais c'est en réalité un moyen d'interagir le plus simplement et avec le moins d'opérations possibles.
2.1. Connexion automatique au réseau de la RaspberryPi
Afin de permettre à coup sûr la connexion de la RaspberryPi, elle propose son propre point d'accès : * nom : raspi-Wifi * mot de passe : rpiTremplin2026 * adresses fournies : 192.168.12.2 -> 192.168.12.254 * adresse de la RaspberryPi : 192.168.12.2
les informations nécessaires au fonctionnement du point d'accès sont réunies dans 3 fichiers de configuration qu'il est possible de modifier au besoin ou en fin de manipulation (bien respecter les consignes car une erreur peut entraîner l'interruption du réseau et imposer l'utilisation d'un clavier et d'un écran):
* /etc/systemd/network/46-wlan1server.network
* /etc/udhcpd.conf
* /etc/hostapd/hostapd.conf
Sur un ordinateur disposant d'une connection WIFI se connecter au réseau raspi-Wifi avec le mot de passe rpiTremplin2026. La machine utilisée quitte le réseau sur lequel elle se trouvait pour de positionner sur le même réseau que la RaspberryPi, son adresse devient de la forme 192.168.12.***
2.2. Connexion à la RaspberryPi
Depuis un terminal se connecter en ssh ssh localadm@192.168.12.2 mot de passe AChanger1$, aller dans le dossier netplan cd /etc/netplan:
ls -al
drwxr-xr-x 2 root root 4096 13 oct. 13:42 .
drwxr-xr-x 146 root root 12288 13 oct. 12:11 ..
-rw------- 1 root root 296 16 sept. 09:18 50-eth0.yaml
-rw------- 1 root root 378 16 sept. 09:19 60-wlan0-modele.suspended
-rw------- 1 root root 299 16 sept. 09:20 70-allenx.yaml
-rw------- 1 root root 296 16 sept. 09:21 80-end0.yaml
Les fichiers commençant par 50, 70, 80 concernent le réseau filaire et les différentes options possibles de nommage de cette interface. Copier 60-wlan0-modele.suspended en 60-wlan0-MyIdentifier.yaml :
network:
version: 2
renderer: networkd
wifis:
wlan0:
accept-ra: true
access-points:
"Name 1st WIFI network":
password: "Password 1st WIFI network"
"Name 2nd WIFI network":
password: "Password 2nd WIFI network"
dhcp4: true
dhcp6: true
Remplacer Name and Password les valeurs de votre réseau (sur l'exemple ci-dessus deux réseaux sont disponibles).
Pour une sécurité complète nous allons tester la configuraton du réseau avec la séquence de commandes ci-dessous qui seront enchaînées si tout va bien et qui signaleront toute anomalie en cas de problème :
sudo netplan generate
sudo netplan try
sudo netplan apply
3. Vérification du réseau
Rebooter la RaspberryPi sudo reboot puis se reconnecter au réseau 192.168.11.0/24 récupérer les informations réseau avec la commande ip a Si les deux réseaux wlan0 et wlan1 sont "UP" on peut passer à l'étape suivante de nettoyage pour retrouver les performances maximales du WIFI.
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff
inet 192.168.10.54/24 metric 600 brd 192.168.10.255 scope global dynamic wlan0
valid_lft 81840sec preferred_lft 81840sec
inet6 fe80::dea6:32ff:fedf:ad12/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
4: wlan1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether ##:##:##:##:##:## brd ff:ff:ff:ff:ff:ff
inet 192.168.12.2/24 brd 192.168.12.255 scope global wlan1
valid_lft forever preferred_lft forever
inet 192.168.12.1/24 brd 192.168.12.255 scope global secondary wlan1
valid_lft forever preferred_lft forever
inet6 fe80::dca6:32ff:fe7f:ad12/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
4. Suppression du reseau 192.168.12.0/24
Comme précisé dans l'introduction la configuration du rseau local de la RaspberryPi dépend de 3 fichiers de configuration qui conditionnent l'exécution de services. Pour permettre de remettre en route ce WIFI local nous n'allons pas toucher 2 fichiers de configuration et simplement suspendre les services qui seront réactivés en cas de besoin. Le 3ème service est le réseau qui ne doit pas être interrompu et pour éviter les erreurs que causerait une tentative de redémarrage de l'interface virtuelle, le fichier de configuration de cete interface va être renommé. Toutes les commandes ci-dessous se font avec l'utilisateur localadm.
4.1. Supension de hostapd
Pour interrompre le service au démarrage utiliser la commande : sudo systemctl disable hostapd
4.2. Suspension de udhcpd
Pour interrompre le service au démarrage utiliser la commande : sudo systemctl disable udhcpd
4.3. Inactivation du point d'accès
- interrompre le service au démarrage avec la commande :
sudo systemctl disable wireless-apdevice - renommer le fichier
/etc/systemd/network/46-wlan1server.networkavec la commandesudo mv/etc/systemd/network/46-wlan1server.network /etc/systemd/network/46-wlan1server.suspended`
Redémarrer avec sudo reboot et l'interface virtuelle wlan1 aura disparu.
Comments !