[Primtux6] Installation sur un Raspberry Pi 4

Primtux logo 225x300

Primtux est une distribution GNU/Linux basée sur Debian spécialement conçue pour les écoles françaises et portée par une association dédiée à ce projet.

Vous aurez plus d'informations dans cet article sur Primtux4 ainsi que des procédures plus détaillées pour installer, configurer Primtux avec DWS par exemple.

Les concepteurs ont aussi développé une version destinée aux Raspberry Pi. Voir ce fil de discussion sur leur forum qui concerne spécifiquement le Raspberry Pi 4.
Voici un compte-rendu d'expérience pour une école ayant des "framboises" modèle 4 (20 à déployer au total). Si vous avez un Raspberry Pi 3B+, allez voir cet article [Primtux4] Installation sur un Raspberry Pi 3B+. que j'avais réalisé pour la même école lorsqu'elle a reçu 6 Raspberry Pi 3B+.

Avertissement : Il faut des cartes microSD d'au moins 32 Go.

Le mieux est de préparer un seul Raspberry Pi 4 en le configurant au maximum selon le choix de l'école. Ensuite il suffira de cloner l'image disque de la carte SD autant de fois que nécessaire (en adaptant le nom de chaque machine afin qu'il soit unique sur le réseau, ça sera la seule chose à faire). Attention de bien vérifier que l'image clonée est fonctionnelle !

Remarque : Il est désormais possible de démarrer (boot PXE) sur le réseau afin de récupérer une image sur un serveur et d'avoir des Raspberry Pi en tant que clients lourds (à la manière du projet Éclair du pôle EOLE pour ceux et celles qui connaissent). Du coup, je me suis lancé dans cette expérience qui a mon sens n'a que des avantages. Vous trouverez plus de détails sur la page Utiliser des Raspberry Pi 4 en tant que clients lourds.

AVERTISSEMENT : il est impératif de brancher l'écran avant d'allumer le Raspberry Pi sous peine de ne pas avoir d'affichage (je pense que c'est un comportement lié au fait que souvent le Raspi est utilisé en tant que serveur, sans être relié directement à un écran car piloté à distance).

Préambule : Attention, il faudra mettre à jour le firmware du Raspberry Pi 4. Pour vérifier s'il y a une mise à jour de l'eeprom, taper : sudo rpi-eeprom-update
Si c'est le cas pour mettre à jour, taper : sudo rpi-eeprom-update -a
Et relancer avec  : sudo reboot

Autre information sur l'installation de Primtux6 sur un Raspberry Pi4 pour piloter une imprimante 3D dans l'article Imprimante 3D Anet A8 pilotée sous Primtux6.
Pour programmer des robots Edison, voir l'article Robot MeetEdison V2.

I. Récupération et préparation de l'image :

En premier, il faut récupérer l'image (encore en test au moment où j'écris) et vérifier son intégrité à l'aide du fichier md5 lié au fichier. Lieu de téléchargement : https://sourceforge.net/projects/primtux/files/Distribution/ptx6-rpi-2021-02-16.img.gz/download.
Remarque : il est tout à fait possible de se construire sa propre image de Primtux en partant sur une image Raspberry Pi OS Lite et en utilisant le script de Philippe-dpt35 (merci à lui) qu'on peut trouver ici ainsi que des instructions : https://framagit.org/philippe-dpt35/primtux4-rpi4. Cela a pris 3h30 sur un réseau 100 Mbps et Adsl et 1h15 sur un réseau 1000 Mbps et fibre.

II. Personnalisation afin d'obtenir une image déployable :

L'idée c'est de paramétrer correctement un premier Raspberry Pi notamment pour les adresses de proxy, du serveur NAS, l'ajout d'applications, ... Une fois ceci fait, on sauvegarde cette image afin de la redéployer sur les autres RasPi.

Une des première chose à faire, c'est d'utiliser tout l'espace de la carte SD. Pour cela, en ligne de commande, taper en administrateur "raspi-config" et aller dans les options avancées (7-Advanced Options) puis "A1 Expand Filesystem".
Il peut être aussi utile d'activer la prise audio pour connecter un casque jack 3,5mm en allant toujours dans les options avancées via le menu "A4 Audio" puis "1 Force 3.5mm ('headphone') jack".

Bonne nouvelle, on peut aussi utiliser DWService pour le dépannage à distance car il existe un agent spécifique pour le Raspberry Pi ! https://www.dwservice.net/fr/download.html. Par contre, il faut l'exécuter dans un terminal sinon la fenêtre de connexion n'apparaît pas : ce n'est pas très grave car l'utilisation est simple.

Réglage du proxy derrière un serveur Amonecole :
Pour pouvoir naviguer sur Internet, permettre les mises à jour lorsque les Raspberry Pi sont sur un réseau Amonecole, il est nécessaire de réaliser un réglage spécifique du proxy comme indiqué dans cet article. Un script permettant de simplifier ce réglage est proposé par Philippe Dpt35 sur le forum de Primtux : http://www.primtux.fr/Documentation/scripts/proxy-eole.sh.

Autres réglages :

Remarques :

 

III. Sauvegarde de l'image système :

Une fois notre configuration de Primtux réalisée aux petits oignons (clin d'oeil pour Kiki Novak), il ne reste plus qu'à la sauvegarder. Pour cela, il faut brancher via un port USB du RasPi un support de stockage comme une clé USB. Attention, cette clé ne doit pas être formatée en FAT32 car la taille maximale d'un fichier est de 4 Go ce qui est nettement insuffisant pour notre image de 32 Go.
Primtux6 embarque un utilitaire permettant de faire une image de son système : il s'agit de "Faire une image de la carte mémoire". Il est possible de choisir une taille compressée pour avoir une taille inférieure à 4 Go car parfois une taille supérieure peut poser problème.
Remarque : ce programme sous Raspberry PI OS est aussi pré-installé avec le paquet "piclone" qui permet de disposer du "SD Card Copier" qui permettra ce transfert.

Autre solution : On insère la carte microSD du Raspberry Pi 4 dans un lecteur de carte que l'on branche en USB sur son ordinateur sous Ubuntu et on tape la commande suivante (en supposant que la carte soit en "sdc" et en donnant un nom personnalisé à son image qui sera compressée) : ATTENTION la commande "dd" peut être potentiellement très dangereuse si on se trompe de destination dans le if (risque de formatage de disque dur) !!!
sudo dd bs=4M if=/dev/sdc status=progress | gzip > Pi4_primtux6_xxxxxx.img.gz

Si l'on veut sauvegarder une image non compressée, on tapera la commande :
sudo dd bs=4M if=/dev/sdc of=Pi4_primtux6_xxxxxx.img status=progress

IV. Duplication sur les autres cartes microSD (non encore testé) :

Une fois l'image .img sur la clé, on l'insère dans son portable ainsi qu'une carte microSD (avec adaptateur SD pour mon emplacement de mon portable) de taille équivalente. Sous Ubuntu 18.04, il suffit de cliquer sur le fichier .img pour qu'un logiciel nous propose de restaurer cette image sur le support de notre choix. ATTENTION de ne pas se tromper au risque de casser votre système : il faut bien choisir la carte microSD comme destination (il y a de nombreux messages d'avertissement) !
L'écriture elle aussi est très longue : 45 minutes aussi.

Alternative si la carte obtenue ne fonctionne pas (ça peut arriver...), en passant par la ligne de commande pour une image compressée au format .gz MAIS en faisant très attention ! :
Pour recopier cette image sur une nouvelle carte (toujours faire attention en utilisant cette commande !) :
gzip -dc Pi4_primtux6_xxxxxx.img.gz | sudo dd status=progress of=/dev/sdc

Pour copier une image non compressée, on utilisera AVEC PRÉCAUTION la commande :
sudo dd bs=4M if=Pi4_primtux6_xxxxxx.img of=/dev/sdc status=progress


Pour terminer, on modifie le nom de sa machine (/etc/hosts ; /etc/hostname et dans WICD), éventuellement l'adresse IP si on veut qu'elle soit fixe, le proxy, ...

PROBLÈME AVEC CARTES CLONÉES :
J'ai eu un souci en clonant l'image du système du Raspberry Pi 4 car la nouvelle carte clonée au lancement affichait une erreur "Kernel Panic". Voir ces pages :

Il faut aller voir aussi du côté du fichier /boot/cmdline.txt

V. Obtenir des info, paramétrer son Raspberry Pi 4

 

V. Retour d'utilisation :

VI. Conclusion :

En l'état, la version Primtux pour Raspberry Pi 4 est fonctionnelle. Le système est réactif. C'est donc une solution parfaitement envisageable dans des classes.