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.
Pour Firefox, dans les paramètres réseau, régler le proxy à "Détection automatique des paramètres de proxy pour ce réseau".

Autres réglages :

  • Pour avoir le son sur la sortie casque (par défaut le son transite par l'Hdmi, ce qui est intéressant si on a des moniteurs avec une prise casque), en plus du réglage ci-dessus via raspi-config, j'ai dû taper cette commande dans le terminal (ce réglage n'est pas indispensable car lors d'une autre installation le paramétrage via raspi-config a suffi) :
    amixer cset numid=3 1
  • Concernant Firefox, pour la session administrateur au moins, ça me semble intéressant de pouvoir garder l'historique, de sauvegarder des mots de passe, etc. Pour cela, il faut aller dans les préférences de Firefox, dans "Vie privée et sécurité", dans la partie "Historique", "Règles de conservation" et choisir l'option "Utiliser les paramètres personnalisés pour l'historique" et décocher au-dessous "Toujours utiliser le mode de navigation vie privée". De cette façon, on pourra avoir accès à tous les autres réglages de Firefox (par exemple, redémarrer avec les onglets ouverts à la dernière fermeture".
  • Il est nécessaire d'installer FluboxLauncher pour pouvoir facilement personnaliser les différentes sessions. Pour cela, on tape la commande :
    sudo apt install fluxboxlauncher
  • Pour pouvoir disposer du clavier occitan (configuration choisie lors de l'installation), il est nécéssaire de lancer FluxboxLauncher et de décocher le paramètre "setxkbmap fr".
  • Pour avoir un presse-papier "pérenne" (qui ne perd pas le contenu quand on ferme l'application à partir de laquelle on copie...), il faut installer le paquet "xfce4-clipman" et rajouter la commande dans FluxboxLauncher.
  • Installation de Scratch3 via la commande : sudo apt install scratch3
  • Installation de Géogébra4 via la commande : sudo apt install geogebra
  • Personnalisation des sessions Firefox pour ajouter raccourci vers l'ENT par exemple.
  • Pour la version Primtux4, la barre de lecture du texte PicooVox n'apparaît pas. Il faut donc désinstaller l'extension PicooVox dans LibreOffice Writer puis installer la version téléchargeable ici : http://extensions.openoffice.org/download/18026. Le problème c'est qu'il faut faire la manip dans tous les espaces...
  • Pour le lanceur DWService (page où télécharger le client : https://www.dwservice.net/fr/download.html), voici différentes manipulations à faire après avoir téléchargé le client spécifique au Raspberry Pi / Arm :
    sudo mv /home/administrateur/Téléchargements/dwagent.sh /var/opt/
    chown administrateur /var/opt/dwagent.sh
    sudo chmod 700 /var/opt/dwagent.sh

    Fichier .desktop (différent des agents pour les autres systèmes qui ne passent pas par le terminal) à créer avec la commande :
    sudo nano /usr/share/applications/dws.desktop

    Contenu à insérer dans ce fichier :
    [Desktop Entry]
    Type=Application
    Icon=emblem-people
    Name=DWS
    Comment=Dépannage à distance
    Exec= roxterm -e /var/opt/dwagent.sh
    StartupNotify=false
    Categories=Settings;System
    Terminal=false
    MimeType=inode/directory;
    NoDisplay=false

Remarques :

  • Rajouter des raccourcis dans la barre verticale de gauche : LibreOffice Writer et Calc, BlocksCAD, Scratch3, ARandR pour l'affichage, terminal, DWS, Géogébra, ...
  • OpenBoard ne fonctionne pas.
  • Shutter ne fonctionne pas. Pour faire des capture d'écran, on utilisera à la place l'application "Flameshot". On peut rajouter la commande "flameshot" dans Fluxboxlauncher pour avoir l'applet dès le démarrage.

 

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

Remarque sur les cartes microSD :
Il vaut mieux avoir des cartes microSD identiques (même marque, modèle et taille) sinon les tailles n'étant pas exactement identiques, si on copie vers une carte plus petite, cela ne fonctionnera pas. Dans ce cas, il faudra diminuer légèrement la partition originelle (rootfs) avec GParted par exemple afin qu'elle puisse contenir sur la nouvelle microSD.

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

  • Pour obtenir les caractéristiques de son Raspberry Pi, taper la commande :
    cat /proc/cpuinfo
  • Pour connaître l'adresse IP ou MAC, les informations sur les cartes réseau (LAN et WLAN) taper :
    ip a
  • Pour connaître les caractéristiques d'une des cartes réseau listée avec la commande précédente, taper :
    ethtool eth0 # remplacer eth0 par l'interface réseau voulue
  • Pour fixer une IP fixe, il faut éditer le fichier /etc/dhcpcd.conf (source : https://soltveit.org/raspbian-buster-static-ip-how-to-set-it/). Une fois la configuration faite, si l'on ne veut pas redémarrer, on tape les commandes suivantes :
    systemctl daemon-reload
    systemctl restart dhcpcd

 

V. Retour d'utilisation :

  • Geogebra (versions Classic et 4 ) : OK
  • Scratch 3 : OK
  • LibreOffice des Écoles : La synthèse vocale fonctionne.
    Par contre, l'extension PicooVox permettant la lecture à voix haute de textes ne fonctionne pas d'origine, la barre de lecture du texte PicooVox n'apparaît pas. → Il faut donc désinstaller l'extension PicooVox dans LibreOffice Writer puis installer la version téléchargeable ici : http://extensions.openoffice.org/download/18026.
  • ...

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.