Installer PrimTux

Modifier le BIOS

Avant l'installation, il peut être nécessaire d'entrer dans le BIOS (logiciel interne utilisé par le microprocesseur pour démarrer l'ordinateur) pour modifier quelques paramètres. La vidéo suivante explique cette démarche pas-à-pas:

Installation classique

Par Cyril Laconnelli

Télécharger PrimTux

Sur la page de téléchargement , choisir la version convenant à ses besoins.

Vérifier la somme md5

Cette étape facultative permet de vérifier l'intégrité de l'image ISO téléchargée. 

Comment vérifier la somme md5

Sous Linux, ouvrir un terminal dans le dossier dans lequel se trouve l'image .iso de PrimTux, puis taper la commande :

md5sum nom-iso-primtux.iso

Comparer ensuite la valeur retournée avec celle donnée avec le lien de téléchargement qui se présente sous cette forme :

somme-md5.png

Cette opération sera à effectuer dans la cas où PrimTux ne démarrerait pas correctement, afin d'en cerner la cause.

Créer une clé USB en mesure de démarrer l'iso

Si vous ne savez pas comment créer une clé USB de démarrage de PrimTux, cette page vous propose plusieurs méthodes. L'utilisation d'une clé sous Ventoy permet de disposer de plusieurs images iso installables et est assez simple à mettre en œuvre. De plus elle fonctionne la plupart du temps mais comme ce n'est pas systématique, il faudra peut-être essayer d'autres méthodes.

Démarrer l'ordinateur à partir de la clé USB PrimTux

L'ordinateur doit être en mesure de démarrer à partir d'un port USB. La plupart des ordinateurs disposent de la possibilité d'ouvrir un menu permettant de choisir le périphérique sur lequel démarrer. Cette fonction est accessible en appuyant sur une touche spécifique une dizane de secondes après avoir allumé la machine (il se peut que vous deviez vous y reprdendre à plusieurs fois). Cette touche est différente selon la marque et le modèle de l'ordinateur, et est généralement indiquée sur le manuel de l'appareil. Souvent :  F12, ESC ou F9. Elle est parfois indiquée brièvement pendant le démarrage. Ne pas hésiter à tapoter (doucement) plusieurs fois la ou les touches dès le démarrage de l'ordinateur pour ne pas manquer ce moment.

Pour savoir quelle entrée du menu démarrer du BIOS choisir, se reporter à cette page.

Il peut être nécessaire d'intervenir dans le BIOS de la machine pour s'assurer que l'option "Secure boot" ou "Démarrage sécurisé" est désactivée, que le BIOS autorise bien un démarrage par USB, et que le démarrage par USB est bien présent dans l'option "Ordre de démarrage". La manière de résoudre ces problèmes dépasse le cadre de ce manuel. 

Après démarrage depuis la clé USB PrimTux, un menu tel que celui-ci devrait apparaître :

install01.png

C'est à partir de ce menu que nous pouvons choisir de tester ou d'installer PrimTux. Si c'est votre première découverte de PrimTux, commencez par la tester en choisissant la première ligne “Tester PrimTux.

Si vous êtes séduit et décidez de l'installer, redémarrez votre PC et choisissez cette fois “Installer PrimTux sur votre ordinateur”.

Installer PrimTux 64 bits

Voici comment installer PrimTux sur un ordinateur.

Démarrer en mode Installation

install01.png


Choix de la langue et du clavier

install02.png

install03.png
Télécharger les mises à jour et les pilotes propriétaires ou pas

install04.png
Choix des partitions d'installation

install05.png
Approuver

install06.png
Choix du fuseau horaire

install07.png
Début de l'installation

install08.png
Fin de l'installation

install09.png


Installation en machine virtuelle avec VirtualBox

Qu'est-ce qu'une machine virtuelle ?

La virtualisation consiste à faire fonctionner une machine virtuelle (VM) avec un système d'exploitation (OS) nommé invité (Guest) sur une machine réelle fonctionnant avec un système d'exploitation nommé hôte (host).

L'invité est sous la responsabilité de l'hôte avec lequel il peut partager certaines de ses ressources matérielles sans pour autant nuire à l'intégrité du système hôte.

Les OS invités et hôtes ne sont pas nécessairement de la même “famille”: Linux (invité) sur Windows (hôte) et inversement, ou versions différentes du même système d'exploitation.

Prérequis

Un PC relativement récent disposant d'au moins 4 Go de RAM offre une base suffisante pour envisager l'utilisation d'une machine virtuelle de manière suffisamment confortable. Si vous êtes sous Windows 10 ou ultérieur, il faudra plutôt considérer un minimum de 6 à 8 Go.

Nous allons détailler ici l'utilisation du logiciel VirtualBox qui permet de créer des machines virtuelles. Ce logiciel existe aussi bien sur Linux que sur Windows. Son interface est sensiblement la même sous l'un ou l'autre système.

Nous verrons comment créer une VM PrimTux, ce qui permettra de disposer de la distribution pour l'évaluer, l'utiliser occasionnellement, ou encore en disposer sous un environnement Windows sans devoir repartitionner le disque dur. La procédure est assez simple, VirtualBox proposant le plus souvent des paramètres par défaut qui n'auront pas besoin d'être modifiés.

Nous devons préalablement disposer d'une image .iso de PrimTux que nous téléchargeons depuis la page de téléchargement du site. Nous vous recommandons de choisir une version adaptée aux capacités matérielles du PC hôte qui accueillera la machine virtuelle, en vous laissant une grande marge de sécurité puisque nous aurons une machine virtuelle devant fonctionner au sein d'un système qui utilise déjà lui-même de nombreuses ressources.

Installation de Virtualbox

Page du site officiel de Virtualbox pour le téléchargement : https://www.virtualbox.org

Nous devons choisir la version correspondant à notre système d'exploitation, Windows ou Linux. Dans le cas d'un OS Linux, il faut également sélectionner le paquetage correspondant à notre distribution et à l'architecture de notre processeur: i386 pour un PC 32 bits, amd64 pour un PC 64 bits.

Sous Windows le fichier est de la forme VirtualBox-xxxx-Win.exe sur lequel il suffit de double-cliquer pour lancer l'installation.

Sous Linux l'installation dépend de notre distribution. Sous Ubuntu et dérivées, Virtualbox est disponible dans les dépôts. Il est donc possible de l'installer en mode graphique depuis la logithèque ou Synaptic, ou en ligne de commande par

sudo apt install virtualbox

Si Virtualbox n'est pas présent dans les dépôts de notre Linux, ou si nous souhaitons disposer de la version la plus récente du logiciel,  nous téléchargeons le paquet correspondant à notre système depuis le lien donné en début de paragraphe.

Avec le gestionnaire de fichiers nous nous rendons dans le répertoire de téléchargement. Nous y ouvrons un terminal dans lequel nous saisissons la commande d'installation.

Exemple pour les distributions de la famille Debian et dérivées :

sudo dpkg -i nom-fichier-téléchargé.deb

Si nous n'avons qu'un seul paquet .deb dont le nom commence par virtualbox, plutôt que saisir le nom complet, ce qui est fastidieux, nous pouvons saisir

sudo dpkg -i virtualbox*.deb

dpkg -i ne gère pas bien les dépendances. Pour éviter les erreurs d'installation liées à des dépendances non satisfaites, il est préférable d'utiliser Gdebi

sudo gdebi virtualbox*.deb

Si gdebi n'est pas installé (erreur de nom de commande introuvable), nous pouvons l'installer par

sudo apt install gdebi

NOTA : suivant la distribution, un double clic sur le nom du fichier pourra lancer Gdebi automatiquement.

Création de la machine virtuelle (méthode 1)

Au Premier démarrage de l'application VirtualBox nous obtenons une fenêtre de ce type :

vbox1.png

Nous cliquons sur Nouvelle pour créer notre première machine virtuelle (VM) destinée à l'installation de PrimTux. Nous obtenons la fenêtre suivante :

vbox02.png

Dans le premier champ, nous donnons un nom à notre machine virtuelle, par exemple… PrimTux !  

Nous pouvons indiquer ici un nom de notre choix comportant accents et espaces si nous le désirons.

Le second champ, Folder, permet de choisir le répertoire dans lequel sera stockée la machine virtuelle. Le troisième, ISO image, permet de sélectionner l'image .iso du système à installer. Il permet l'ouverture une fenêtre de sélection de fichier.  Nous sélectionnons l'image de PrimTux préalablement téléchargée. Virtualbox devrait automatiquement reconnaître le type d'architecture du système et compléter de lui-même les champs suivants. 

vbox03.png

Clic sur le bouton Suivant.

Pour la taille mémoire, VirtualBox propose une valeur optimale tenant compte du matériel. Pour PrimTux nous recommandons un minimum de 2 Go si on ne souhaite pas installer le contrôle parental. Dans le cas contraire un minimum de 3 Go est recommandé.

vbox04.png

Clic sur le bouton Suivant.

Nous laissons cochée l'option Créer un disque dur virtuel maintenant et choisissons la taille à attribuer au disque dur. L'installateur de PrimTux requiert un disque de 30 Go minimum.

vdi-ptx8.png

Clic sur Suivant.

La fenêtre affichée propose un résumé des options choisies. Si tout convient, il ne reste qu'à cliquer suer le bouton [Finish] pour lancer la création de la machine virtuelle.

vbox06.png

En fin de processus, on retrouve la fenêtre principale de Virtualbox avec, à gauche, la liste des machines crées, et dans le volet de droite les options de configuration de la machine sélectionnée.

vbox07.png

Nous aurons quelques modifications à effectuer dans la configuration du système, à laquelle on accède par l'option Configuration du menu, la roue crantée, ou bien en cliquant à droite sur l'un des paramètres écrits en gras.

Pour le réseau, nous recommandons l'option "Accès par pont". Choisissez alors le type d'interface que vous utiliserez (Ethernet ou WiFi).

vbox08.png

Les valeurs par défauts proposées dans les autres sections n'ayant généralement pas besoin d'être modifiées, sauf pour des besoins spécifiques, la configuration de notre machine virtuelle est terminée. Il ne nous reste plus qu'à la démarrer en cliquant sur la flèche verte du menu principal.

Toute modification de la configuration ne peut se faire que machine éteinte.

Création de la machine virtuelle (méthode 2)

Si jamais vous rencontrez une erreur à la création de la machine, ne sélectionnez pas l'iso PrimTux à sa création, mais après avoir créé la machine.

Capture d’écran du 2025-03-05 11-14-53.png

Laisser le champ "ISO Image" à "<non sélectionné>", puis cliquer sur "Suivant"

Capture d’écran du 2025-03-05 11-15-14.png

2048 Go de RAM suffisent, mettez 4 Go si vous avez au moins 16 Go de RAM sur votre machine hôte.

Capture d’écran du 2025-03-05 11-15-53.png

Capture d’écran du 2025-03-05 11-15-35.png

L'installation de Primtux nécessite un disque dur de 30 Go minimum.

Capture d’écran du 2025-03-05 11-16-20.png

Pour sélectionner l'iso de PrimTux, allez dans la configuration de la machine nouvellement créée.

Capture d’écran du 2025-03-05 11-17-40.png

Onglet Stockage => Contrôleur : IDE => Choisir l'iso de PrimTux, puis cliquer sor OK.

Installation de PrimTux sous VirtualBox

Après avoir démarré notre machine virtuelle, nous obtenons le menu de démarrage de PrimTux :

install01.png

La souris est automatiquement capturée par le système invité (ceci est paramétrable). Dans le cas contraire, pour que le système hôte la récupère, il faut maintenir par défaut la touche Ctrl droite du clavier enfoncée et cliquer avec la souris en dehors de la zone d'affichage de la VM.

Au sein de la machine virtuelle, tout se passe comme si nous étions sur une machine réelle. Aussi l'installation se fait comme sur une machine réelle, et nous pouvons nous référer au paragraphe Installation classique si nécessaire.

Installations complémentaires

Installer le pack d'extension

Oracle propose un pack d'extension permettant d'ajouter des fonctionnalités à VirtualBox, telles que :

Son installation est très simple, et se fait de la même façon sous Linux que sous Windows.

Sous Windows cette installation ne peut se faire que depuis une session disposant des droits administrateur.
Nous devons commencer par télécharger le pack d'extension correspondant à notre version de VirtualBox depuis cette page.

Dans le menu principal de VirtualBox, nous sélectionnons Fichiers –> Outils -> Extension pack manager.

vbox09.png

Dans la fenêtre qui s'affiche nous cliquons à gauche sur Extensions, puis sur l'icône avec le signe + (pour ajouter) en haut à droite :

vbox10.png

Nous obtenons une boîte de dialogue de sélection de fichier dans laquelle nous allons chercher le fichier de pack d'extension que nous avons préalablement téléchargé, puis nous cliquons sur Ouvrir :

vbox11.png

VirtualBox nous demande une confirmation que nous acceptons en cliquant sur Installation :

vbox12.png

S'ensuit une demande d'accord de licence que nous ne pouvons accepter qu'après avoir fait défiler le texte jusqu'à la fin :

vbox13.png

Un mot de passe administrateur ou une confirmation d'autorisation d'installation pourra nous être demandé. Si l'installation s'est correctement déroulée, le nom du pack devrait apparaître dans le volet de droite :

vbox15.png

Installer les modules complémentaires

 Les modules complémentaires ajoutent des fonctionnalités à la machine invitée, telles notamment :

Pour faire cette installation nous lançons notre machine virtuelle PrimTux et ouvrons la session Poe (session administrateur). Dans le menu de la fenêtre VirtualBox dans laquelle tourne PrimTux, nous cliquons sur Périphériques –> Insérer l'image CD des additions invité.

vbox-addons01.png

Une boîte de dialogue nous propose de télécharger l'image disque, ce que nous acceptons :

vbox-addons02-3.png

Nous attendons la fin du téléchargement :

vbox-addons04.png

Une fois le téléchargement terminé, une boîte de dialogue nous propose d'insérer l'image disque dans le lecteur CD/DVD. Nous cliquons donc sur [Insérer] :

vbox-addons05.png

Nous verrons ensuite une nouvelle icône s'afficher sur la gauche du bureau, sur laquelle nous double-cliquons pour ouvrir l'image disque dans le gestionnaire de fichiers :

vbox-addons06.png

Nous effectuons un clic droit sur un espace libre de la fenêtre des fichiers du gestionnaire de fichiers pour faire apparaître un menu contextuel dans lequel nous cliquons sur "Ouvrir un terminal ici" :

vbox-addons07.png

Dans le terminal qui s'affiche, nous saisissons la commande suivante (VBoxLinuxAdditions.run est un script exécutable au sein du dossier dans lequel nous nous trouvons), et nous appuyons sur Entrée. Le mot de passe administrateur nous est demandé :

sudo sh VBoxLinuxAdditions.run

vbox-addons08.png
Nous devons redémarrer la machine pour disposer des nouvelles fonctionnalités.

Accès aux dossiers partagés entre l'hôte sous Linux Mint et Primtux

Si l'on crée un dossier partagé entre son hôte sous Linux Mint (ou Ubuntu) et Primtux virtualisé, on n'aura pas le droit d'accès à partir de Primtux. Pour cela, il faudra saisir dans le terminal sous Primtux cette ligne de commande qui ajoute l'utilisateur "poe" au groupe "vboxsf" :

sudo usermod -a -G vboxsf poe

Installation en machine virtuelle avec Virt-Manager

 AVERTISSEMENT : Virt-Manager ne fonctionne que sur des ordinateurs sous GNU/Linux !!! 

Qu'est-ce qu'une machine virtuelle ?

La virtualisation consiste à faire fonctionner une machine virtuelle (VM) avec un système d'exploitation (OS) nommé invité (Guest) sur une machine réelle fonctionnant avec un système d'exploitation nommé hôte (host).

L'invité est sous la responsabilité de l'hôte avec lequel il peut partager certaines de ses ressources matérielles sans pour autant nuire à l'intégrité du système hôte.

Les OS invités et hôtes ne sont pas nécessairement de la même “famille”: on peut avoir Windows ou Android (invités) sur l'hôte sous Linux (hôte)  ou des versions différentes du même système d'exploitation.

Spécificités de Virt-Manager

Prérequis

Un PC sous GNU/Linux relativement récent disposant d'au moins 4 Go de RAM offre une base suffisante pour envisager l'utilisation d'une machine virtuelle de manière suffisamment confortable.

Nous verrons comment créer une VM PrimTux, ce qui permettra de disposer de la distribution pour l'évaluer, l'utiliser occasionnellement.

Nous devons préalablement disposer d'une image .iso de PrimTux que nous téléchargeons depuis la page de téléchargement du site. Nous vous recommandons de choisir une version adaptée aux capacités matérielles du PC hôte qui accueillera la machine virtuelle, en vous laissant une grande marge de sécurité puisque nous aurons une machine virtuelle devant fonctionner au sein d'un système qui utilise déjà lui-même de nombreuses ressources.

Installation de Virt-Manager

Page du site officiel de Virt-Manager : https://virt-manager.org/

On retrouve Virt-Manager dans la plupart des dépôts des distributions GNU/Linux. Du coup, il suffit d'installer le paquet avec la commande suivante pour les distributions dérivées de Debian comme Ubuntu ou Linux Mint :

sudo apt install virt-manager

Il faudra redémarrer son ordinateur afin que Virt-Manager soit fonctionnel (sinon on risque d'avoir des messages d'erreurs concernant "libvirt").

Le reste des explications s'appuieront sur une utilisation sous Linux Mint mais cela n'est pas très différents pour d'autres systèmes.

Création de la machine virtuelle

Au  démarrage de l'application Virt-Manager, nous arrivons sur la gestionnaire de machines virtuelles. On clique sur la 1ère icône "Créer une nouvelle image virtuelle" :

Virt-Manager_01.png

Sur la fenêtre suivante, on coche "Média d'installation local", on choisit l'architecture "x86_64" et on clique sur le bouton "Forward" (suivant) :

Virt-Manager_02.png

Ensuite, on clique sur le bouton "Parcourir..." pour sélectionner l'image iso de Primtux à virtualiser. On décoche la case "Détecter automatiquement..." et on renseigne le système d'exploitation (pour Primtux8 on est basé sur Ubuntu 22.04 LTS). On termine en cliquant sur le bouton "Forward" :

Virt-Manager_03.png

Ensuite, on indique les ressources matérielles à allouer à la machine virtuelle en fonction de son matériel. Dans mon cas, j'ai attribué 8 Go de mémoire RAM et 4 CPU. Et on appuie sur le bouton "Forward" :

Virt-Manager_04.png

Dans la fenêtre suivante, on coche "Activer le stockage pour cette machine virtuelle" ainsi que "Sélectionner ou créer un stockage personnalisé". On clique alors sur le bouton "Gérer..."   :

Virt-Manager_05.png

On arrive alors sur une fenêtre permettant d'indiquer l'endroit où sera stockée notre image virtuelle. On clique sur le bouton avec un + bleu en bas à gauche pour rajouter un espace de stockage (pool) :Virt-Manager_06.png

On donne alors un nom à son espace de stockage (storage pool) comme ici "Primtux8". On clique sur le bouton "Parcourir" pour indiquer le dossier dans lequel sera stockée l'image (on choisit un dossier avec au moins 50 Go de libre) et on clique sur le bouton "Terminer" :

Virt-Manager_07.png

De retour sur la fenêtre précédente, on choisit l'espace de stockage créé ci-dessus et on clique sur l'autre bouton + bleu dans l'onglet "Détails" pour créer un nouveau volume :

Vrit-Manager_09.png

On indique alors le nom du volume qu'on laisse dans le format initial "qcow2", et on fixe l'espace alloué (ici 40 Go) :

Virt-Manager_10.png

On revient sur la fenêtre précédente. On vérifie bien qu'on est sur le volume "Primtux8.qcow2" créé ci-dessus et on clique sur le bouton "Choose volume" :

Virt-Manager_11.png

On retrouve alors la fenêtre de l'étape 4 avec le chemin du stockage personnalisé complété et on clique sur le bouton "Forward" :

Virt-Manager_12.png

On arrive à la 5ème et dernière étape où l'on indique un nom pour l'installation (ici "Primtux8" encore). On ne modifie pas la connexion réseau (qui par défaut est réglée sur "Réseau virtuel 'default' : NAT") et on clique sur le bouton "Terminer" ce qui a pour effet de lancer la nouvelle machine virtuelle :

Virt-Manager_13.png

Lancement de la nouvelle machine virtuelle

On retrouve la page d'accueil de Primtux 8 et on choisit "Installer Primtux" :

install01.png

On procède alors à l'installation classique de Primtux.

Réglages post-installation

sudo apt install spice-vdagent

Déploiement avec Clonezilla

Qu'est-ce que Clonezilla ?

Clonezilla est un logiciel permettant de cloner des disques entiers ou des partitions. Il permet d'effectuer les opérations suivantes :

Clonezilla est proposé sous forme d'un image iso permettant de réaliser un live CD ou une clé USB de démarrage. Il fonctionne en mode semi-graphique. C'est son usage le plus fréquent.

Clonezilla peut également être installé au sein d'un système Linux existant.

Site officiel du projet : https://clonezilla.org/


Installation de Clonezilla sur une clé USB



Réaliser une image d'une PrimTux installée 

Le but est d'utiliser une PrimTux installée sur un ordinateur comme modèle pouvant être cloné sur d'autres machines sans avoir à passer par la fastidieuse étape d'installation classique pour chacune d'elle. Outre le fait de gagner beaucoup de temps lorsque l'on a à installer PrimTux sur de nombreux PC, cela permet également de personnaliser une PrimTux selon des besoins particuliers avant d'en faire le déploiement.

Matériel nécessaire :

Processus :

  1. Brancher la clé USB de démarrage avec Clonezilla sur l'ordinateur éteint contenant la Primtux  que l'on veut cloner.
  2. Démarrer l'ordinateur en appuyant pendant les premières secondes sur la touche du clavier permettant de choisir le support de démarrage (souvent il s'agit de la touche F12 mais cela est variable selon les modèles).
  3. Dans le menu nous demandant de choisir sur quel support démarrer, choisir la clé USB contenant Clonezilla. On arrive sur une page nous demandant de choisir une résolution d'écran pour Clonezilla (on laisse celle par défaut) :

    Primtux8 Alpha4 [En fonction] - Oracle VM VirtualBox_002.png
    Remarques :
    - Une fois l'option choisie, on peut valider directement en appuyant sur la touche ENTRÉE.
    - Pour naviguer rapidement entre les options, on peut utiliser la touche de tabulation TAB.

  4. On choisit le langage "Choose language -> French" et on valide :
    Primtux8 Alpha4 [En fonction] - Oracle VM VirtualBox_003.png
  5.  On change la disposition du clavier en français (ça facilitera les éventuelles saisies de texte) :
    Primtux8 Alpha4 [En fonction] - Oracle VM VirtualBox_004.png
  6. Configuration Clavier ->  On garde le choix par défaut : "PC générique 105 touches" :Primtux8 Alpha4 [En fonction] - Oracle VM VirtualBox_005.png
  7. -Sur la page qui n'affiche que les configurations de clavier en anglais, on fait défiler tout en bas et on choisit "Autre" :
    Primtux8 Alpha4 [En fonction] - Oracle VM VirtualBox_006.png
  8. On fait défiler la page et on choisit "Français" parmi la liste de tous les claviers :
    Primtux8 Alpha4 [En fonction] - Oracle VM VirtualBox_007.png
  9. On choisit "Français - Occitan" qui se trouve juste au-dessus de "Autre" qui est sélectionné par défaut (c'est plus rapide et en plus c'est mon clavier de prédilection très pratique pour les majuscules accentuées) :
    Primtux8 Alpha4 [En fonction] - Oracle VM VirtualBox_008.png
  10. On garde le choix par défaut -> "Disposition par défaut pour le clavier" :
    Clonezilla8
  11. On garde le choix par défaut -> "Pas de touche "compose" :
    Clonezilla9
  12. Sur la page "Démarrage de Clonezilla" on choisit "Start_Clonezilla Démarrage de Clonezilla" :
    Clonezilla10
  13. On garde le choix par défaut -> "device-image disque/partition vers/depuis image" :
    Clonezilla11
  14. On garde le choix par défaut -> "local_dev  Monter un périphérique local (p.ex. : disque dur, clef USB)" :
    Clonezilla12
  15. Un message apparaît alors au bas de l'écran demandant de brancher la clé USB :
    Clonezilla13
    On suit les instructions en branchant sa clé (ou son disque dur externe) USB en attendant 5 secondes puis on appuie sur la touche "ENTRÉE".
    Une nouvelle fenêtre apparaît nous montrant les différents périphériques détectés par Clonezilla :
    Clonezilla14

    Si la clé USB n'apparaît pas, il faut attendre jusqu'à ce qu'elle soit détectée et apparaisse dans la liste :
    Primtux8 Alpha4 [En fonction] - Oracle VM VirtualBox_016.png
    Une fois la clé détectée (dans la capture ci-dessus, il s'agit de la clé /dev/sdb), on appuie sur les touches CTRL+C pour poursuivre.

  16. Dans la fenêtre suivante "Clonezilla - Opensource Clone System (OCS) | Mode :", choisir le disque où l'on désire stocker l'image disque (dans notre cas la clé "sdb1") :

    Clonezilla16.png


  17. On garde le choix par défaut -> "no-fsck" ce qui permet de gagner du temps (mais si on veut être prudent⋅e dans le cas où cette image sera déployée à très grande échelle, on choisira l'option "fsck") :

    Clonezilla16-1.png

  18. Dans la fenêtre intitulée "Explorateur de répertoires pour le dépôt des images Clonezilla", choisir <ABORT> puis <Done> pour créer un nouveau dossier qui recevra l'image :

    Primtux8 Alpha4 [En fonction] - Oracle VM VirtualBox_020.png

    Remarque : dans la capture d'écran ci-dessus, on voit qu'on a déjà 2 répertoires d'images créées précédemment.
    Au bas de la fenêtre, apparaît alors un récapitulatif et on appuie sur la touche ENTRÉE comme indiqué dans la consigne :

    Clonezilla18.png


  19. On garde le choix par défaut -> "Beginner   Mode débutant : Accepter les options par défaut" :

    Clonezilla19..png

  20. On garde le choix par défaut -> " savedisk    Sauvegarder_le_disque_local_dans_une_image" :
    Clonezilla20.png
  21. On indique un nom pour l'image du disque que l'on va créer :

    Clonezilla21.png


  22. Dans la fenêtre suivante on indique le périphérique (le disque dur contenant Primtux) que l'on veut cloner :

    Clonezilla22.png


    Remarque : dans l'exemple ci-dessus, il n'y a qu'un seul périphérique pouvant être cloné. Si ce n'est pas le cas., il faudra choisir le périphérique contenant Primtux.

  23. On garde le choix par défaut -> "- z9p" pour la compression. La première option permet de gagner du temps à condition que l'ordinateur sur lequel on travaille le permette.

    image.png

  24. On garde le choix par défaut -> "- sfsck  Ne pas vérifier/réparer le système de fichiers source" :

    Clonezilla24.png


  25. Dans la fenêtre "Paramètres avancés supplémentaires de Clonezilla", on choisit " - scs  Non, ne pas vérifier l'image sauvegardée " (pour plus de sureté on peut choisir la première option mais ça prendra plus de temps) :

    image.png

  26. On garde le choix par défaut -> "- senc  Ne pas chiffrer l'image" :

    Clonezilla26.png

  27. On finit en choisissant ce que Clonezilla doit faire à la fin : choix, reboot ou poweroff. On laisse le choix par défaut :

    Clonezilla27.png


  28. En bas de la fenêtre apparaît un message récapitulatif en vert et on appuie sur la touche ENTRÉE :

    Clonezilla28.png


  29. En bas du terminal, apparaît un nouveau message en jaune pour confirmer l'opération. On valide en appuyant sur la touche "y"  + ENTRÉE :

    Clonezilla29.png


  30.  Des fenêtres avec des barres d'avancement comme celle-ci vont apparaître :

    Clonezilla30.png


  31. À la fin, si tout s'est bien passé, on a des messages de réussite en jaune et on appuie sur la touche ENTRÉE :

    Clonezilla31.png

  32. On arrive sur une dernière fenêtre nous demandant ce que l'on veut faire (choix effectué à l'étape 27) :

    Clonezilla32.png

  33. On peut éteindre l'ordinateur ou recommencer pour cloner l'image sur une autre clé USB par exemple.

Nous avons maintenant une image que l'on pourra  installer sur les autres machines en suivant le processus du chapitre suivant.



Restaurer une image de PrimTux sur une machine

Il s'agit de l'opération précédente inverse et le processus est quasiment le même.
Cette fois-ci, on se place sur l'ordinateur sur lequel on veut déployer l'image Primtux que l'on vient de créer. Pour alléger la documentation, je reprends à l'étape 20 du chapitre précédent car jusque-là les manipulations sont exactement les mêmes :

  1. On choisit restoredisk   Restaurer_une_image_vers_le_disque_local" :

    Clonezilla36.png

  2. Ensuite on sélectionne  le répertoire contenant l'image Primtux précédemment clonée et on clique sur "Done" :

    Clonezilla37.png


  3. Dans la fenêtre suivante, on indique le périphérique sur lequel on veut installer  Primtux :

    Clonezilla38.png

    Remarque : dans l'exemple ci-dessus, il n'y a qu'un seul périphérique pouvant être cloné. Si ce n'est pas le cas., il faudra choisir le périphérique sur lequel on veut installer Primtux.
  4. On garde le choix par défaut -> "-k0  Utiliser la table de partitions de l'image" :

    Clonezilla39.png

  5. On garde le choix par défaut -> "- scr   Non, ne pas vérifier l'image avant la restauration " :

    Clonezilla40.png

  6. On finit en choisissant ce que Clonezilla doit faire à la fin : choix, reboot ou poweroff. On laisse le choix par défaut :

    Clonezilla41.png

  7. Ensuite tout se déroule quasiment comme pour la création de l'image : on valide par ENTRÉE ou on répond "y" aux 2 questions posées.

Lorsque le process est terminé, vous pourrez redémarrer ce nouvel ordinateur sous Primtux et finaliser son installation comme cela est indiqué en suivant.



Finalisation

Il sera nécessaire d'ajuster certains paramètres comme :



Installation sur un Chromebook

Les constructeurs d'ordinateurs portables alliés à Google proposent des modèles livrés d'origine avec le système d'exploitation Chrome OS s'appuyant entièrement sur les services et outils fournis par Google.
Même si ces portables sont verrouillés, il est cependant possible de remplacer le système d'exploitation d'origine par Primtux (ou Linux Mint ou une autre distribution GNU/Linux).

Présentation

Vous trouverez sur cette page, une méthode concernant le modèle Chromebook HP x360 12b-ca0005nf datant de 2020 mais elle doit être reproductible sur d'autres modèles de Chromebook avec des variantes selon leur âge et les constructeurs. Par exemple des "vieux" Chromebook de chez ACER nécessitent de dévisser une vis physique pour pouvoir modifier le firmware.


I- Passage du Chromebook en mode "Développeur" :

Tout comme les ordiphones sous Android (on voit bien la patte de Google) que l'on veut rooter ou mettre sous LineageOS, il est nécessaire de passer le Chromebook en mode développeur.
Pour cela, il faut presser les touches Échap + Rafraîchir (F3) puis appuyer pendant 1 seconde sur la touche de mise sous tension et relâcher les 3 touches.
Presser CTRL+D pour entrer en mode développeur et confirmer en appuyant sur la touche ENTRÉE.
Presser CTRL+D lorsqu'on arrive sur l'écran de démarrage du mode développeur.
ATTENTION : Il faudra toujours démarrer de cette façon et NE PAS APPUYER sur la touche ESPACE au risque de tout ré-effacer.
Au premier démarrage, le système efface toutes les données utilisateur, ce qui prend quelques minutes puis le système se ré-installe complètement.

II- Accéder au terminal et enlever la protection en écriture du firmware/BIOS :

Pour accéder au terminal, il faut presser en même temps les touches CTRL+ALT+T. Par contre, ce terminal ne permet pas d'utiliser la commande "sudo" contrairement au terminal VT-2 qui n'est accessible qu'en mode développeur.
Pour cela, il faudra appuyer sur les touches CTRL+ALT+F2 (flèche vers la droite). Pour revenir dans le terminal normal, on pressera les touches CTRL+ALT+F1 (flèche vers la gauche).
Le terminal VT-2 ne permet pas le copier-coller et je n'ai pas su modifier la disposition du clavier qui est QWERTY, ce qui ne va pas faciliter la tâche...

Dans le terminal VT-2, à l'invite "localhost login", on saisira "chronos" qui n'a pas de mot de passe.
Attention : si on a activé le mode déboggage au tout début de l'installation après être passé en mode développeur, pour se connecter, il faudra utiliser le login "root" et le mot de passe de déboggage. Avec l'utilisateur root, on pourra donner un mot de passe à l'utilisateur "chronos" avec la commande : chromeos-setdevpasswd

Utilisation du script du site https://mrchromebox.tech

La page https://mrchromebox.tech/#fwscript propose un script à télécharger permettant de modifier le firmware.
ATTENTION, il faudra bien suivre les instructions de mrchromebox même s'il y a une légère variante !!!
Pour télécharger le script (il faut donc une connexion Internet), il faut se connecter dans le terminal VT-2 avec le login "chronos" (PAS en tant que "root" !!!) et taper les commandes ci-dessous :

cd /home/chronos/user/Downloads

curl -LO mrchromebox.tech/firmware-util.sh

sudo bash firmware-util.sh

Le script se lance une 1ère fois et là, il faudra indiquer qu'on souhaite enlever la protection en écriture, ce qui fera redémarrer l'ordinateur.

Après le redémarrage, on se replace dans le terminal VT-2 et on relance le script firmware-util.sh qui se trouve dans le dossier /home/chronos/user/Downloads pour avoir un menu permettant d'agir sur le firmware. On peut le relancer directement avec cette commande :
sudo bash /home/chronos/user/Downloads/firmware-util.sh.
On choisit l'option 1 "Install/Update RW_LEGACY Firmware" et si tout se passe bien on obtient un message vert indiquant la réussite puis on appuie sur ENTRÉE et on redémarre.

Sur l'écran de démarrage en mode développeur, on appuie sur les touches CTRL+L et là on pourra avoir accès au BIOS et au démarrage sur la clé USB comme sur n'importe quel ordinateur classique ! On appuie sur la touche Échap et on va dans "Boot Menu" pour démarrer sur la clé USB (fonctionne très bien avec un clé sous Ventoy). Linux Mint 21.3 Mate se lance en live sans problème apparent. OUF !!! On approche du but...


III- Installation complète de Primtux 8

Toujours à l'aide de l'utilitaire de mrchromebox.tech (il semblerait que l'utilitaire ne fonctionne que si on est connecté⋅e à Internet...), il est possible d'installer un système d'exploitation à la place de Chrome OS via le menu n°2 permettant d'installer l'UEFI.
Comme il s'agit d'une opération particulièrement risquée pour l'ordi (on supprime complètement Chrome OS), il faudra valider plein de mises en garde et à un moment l'utilitaire proposera même de se créer une clé USB de secours contenant la rom qui permettra de ré-installer ChromeOS en cas de problème, chose que je ne peux que recommander. J'ai sauvegardé sur une simple clé USB de données formatée en FAT32. Ce fichier de sauvegarde est à garder jusqu'à ce qu'on ait réussi l'installation de Primtux (ou une autre distribution) car une fois qu'on aura réussi, on pourra ré-installer d'autres distributions par la suite comme sur un ordinateur classique (hors de question de revenir sur Chrome OS).

Une fois la sauvegarde faite, l'utilitaire va télécharger et installer un nouveau firmware (coreboot). Si tout se passe bien on a un message vert, on appuie sur la touche ENTRÉE et on redémarre en tapant R (ou r).
Le premier démarrage est assez long et ensuite on a un bel écran de démarrage qui apparaît avec un lièvre blanc qui court sur un fond noir. On n'a qu'une fraction de seconde pour appuyer sur la touche Échap afin d'atteindre le Boot Menu pour démarrer sur la clé contenant Primtux8.
Ensuite on procède à l'installation classique de Primtux en supprimant toutes les anciennes partitions qui sont sur la mémoire eMMC (ce n'est pas un disque dur "classique").

Résultat :

Installation réussie !!! En plus avec Primtux8 (basée sur Linux Mint 21.3), tout fonctionne notamment le son, le wifi et le tactile !

Installation avec rEFInd

Certains constructeurs verrouillent certains de leurs  ordinateurs récents (avec UEFI)  de telle sorte qu'il est impossible d'installer une distribution GNU/Linux comme Primtux. Un des verrouillages consistent à empêcher l'installation de GRUB qui permet le démarrage de la distribution. C'est le cas de HP avec son Probook x360 11 G1 EE qui a été notamment fourni par la région Occitanie sous la dénomination loRdi à ses lycéens et lycéennes ou apprenti⋅es après la 3ème.
Remarque : vérifiez bien le modèle de loRdi car selon les années, il ne s'agissait pas du Probook x360 11 G1 EE. Les autres modèles ne sont pas verrouillés de la sorte.

Heureusement il existe une solution possible avec l'utilitaire rEFInd. Vous pourrez retrouver plus d'informations sur cette page https://doc.ubuntu-fr.org/refind.

A- Désactiver le secure boot dans le BIOS de loRdi

  1. Pour désactiver le Secure Boot, il faut appuyer au démarrage de l'ordinateur sur la touche Échap avec de petits appuis rapides et répétitifs afin d'arriver à accèder au menu général du BIOS. Si on a un message demandant de répondre Yes/No, on appuie un coup de plus sur la touche Échap pour avoir un menu graphique avec 6 grandes entrées.
    Remarque : Il est fort probable qu'il faille s'y reprendre à plusieurs fois avant de réussir car la "fenêtre de tir" est très limitée. Si on rate, on peut appuyer sur la touche de mise sous tension pendant 5 secondes pour forcer l'extinction puis recommencer (gain de temps car on se fiche de ce que ça pourrait causer à Windows qui sera de toute façon supprimé 😉).
  2. Ensuite on appuie sur la touche F10 (ou on clique dessus avec la souris ou en tactile) qui permet de régler le BIOS (Bios Setup).
  3. On va sur le menu de gauche "Advanced" -> Boot Options (en haut de la liste) -> SecureBoot -> et on choisit Disable (à la place de Enable).
  4. Ensuite on revient sur le menu de gauche "Main" -> "Save Changes and Exit" . On confirme en cliquant sur "Yes".
  5. Lorsque l'ordinateur redémarrage, comme la modification qu'on vient de faire touche un réglage sensible, on a un message qui demande de rentrer un code aléatoire (qui change tout le temps) à 4 chiffres + ENTER pour confirmer le changement effectué dans le BIOS. On tape ce code directement sur les touches numériques de la 2e rangée du haut du clavier (sans appuyer sur la touche Shift ou une autre) puis sur la touche ENTRÉE. Rien de s'affiche quand on tape mais si c'est bon, l'ordinateur redémarre.


B- Création de la clé USB bootable sous rEFInd

Comme une clé USB bootable basée sur GRUB ne pourra pas démarrer, on va utiliser une clé USB bootable basée sur le bootloader rEFInd. Une ancienne clé de 1 Go fera très bien l'affaire, pas besoin de plus car elle ne contiendra que rEFInd.

ATTENTION lorsqu'on utilise la commande "dd", si vous vous trompez de destination, vous pouvez perdre toutes vos données !!! À utiliser avec une EXTRÊME PRUDENCE !!!

Dans mon cas la clé usb bootable se trouve en /dev/sdc (et non pas /dev/sdb comme ça devrait être assez souvent le cas, auquel cas, il faudra remplacer "sdc" par "sdb" dans les commandes ci-dessous). Voici donc les différentes commandes adaptées à ce cas, à taper dans un terminal (ordinateur sous Linux Mint 21.3) :

- Pour effacer complètement la clé usb :
sudo dd if=/dev/zero of=/dev/sdc count=500MB bs=1 status=progress && sync C'est une opération qui prend pas mal de temps surtout si la clé a une grosse capacité et/ou est faible en vitesse d'écriture, il faudra donc être patient⋅e. Par exemple, pour une vieille clé de 2 Go Flash Voyager GT, il a fallu 20 minutes.

- Création de la table de partition :
sudo parted /dev/sdc mklabel gpt

- Créer une partition fat32 d'au moins 510MB :
sudo parted /dev/sdc mkpart primary fat32 1 551

- Attribuer le flag "boot" à la partition fat32 :
sudo parted /dev/sdc set 1 boot on

- Nommer la partition ESP :
sudo parted /dev/sdc name 1 ESP

- Formater la partition ESP en fat32 :
sudo mkfs.fat -F32 /dev/sdc1

- Vérifier la clé :
sudo parted /dev/sdc print

Si tout s'est bien passé, vous devriez avoir ces lignes (ou quelque chose de similaire) dans le terminal :

Modèle : Corsair VoyagerGT (scsi)
Disque /dev/sdc : 2047MB
Taille des secteurs (logiques/physiques) : 512B/512B
Table de partitions : gpt
Drapeaux de disque :
Numéro Début Fin Taille Système de fichiers Nom Drapeaux
1 1049kB 551MB 549MB fat32 ESP démarrage, esp

 

C- Installation de rEFInd sur la clé usb

Si tout s'est bien passé, on doit obtenir un message de ce style :
ShimSource is none
Installing rEFInd on Linux....
Note: IA32 (x86) binary not installed!
Copied rEFInd binary files
Copying sample configuration file as refind.conf; edit this file to configure
rEFInd.

La clé est prête !!!

D- Installation de rEFInd sur loRdi

Désormais, lorsqu'on démarrera l'ordinateur on tombera sur le le menu rEFInd et les clés USB d'installation habituelles seront reconnues (Ventoy et Easy2Boot).

E- Installation de Primtux sur loRdi


Attention : Lors d'une mise à jour du kernel/noyau dans Primtux (pas fréquent mais ça arrive), le choix par defaut de rEFInd est perdu. Il faudra alors à nouveau choisir le pingouin au redémarrage.

Partenaires contribuant à l'installation et au déploiement de PrimTux

Association Oisux dans l'Oise : https://www.oisux.org

Association RÉSO en Ille et Vilaine : https://reso-informatique.fr

Association Goupil dans le Finistère nord : https://www.goupil-ere.org

Association CLX (Club LinuX) dans le Nord-Pas de Calais : https://clx.asso.fr/spip/

Réseau OGO (Ordi Grand Ouest) en Bretagne : https://www.ogo.bzh

En consultant la carte des utilisateurs de PrimTux, vous pourrez localiser des personnes ou des structures en mesure de vous apporter leur aide.

En cas de problèmes...

Impossible de mettre à jour après l'installation de Primtux7

Après avoir installé Primtux7, en particulier sur des Raspberry Pi 4 pour lesquels la dernière image produite de Primtux est cette version-là , on s'aperçoit qu'il n'est pas possible de procéder à une mise à jour. En effet, le dépôt contenant les paquets a changé depuis la réalisation de l'image à installer.
Il faut donc corriger cela en tapant la commande suivante dans un terminal :

sudo sed -i "1cdeb https://mirrors.o2switch.fr/primtux/repo/debs PrimTux7-amd64 main" /etc/apt/sources.list.d/primtux7.list

Une fois ce changement effectué, on procède à la mise à jour avec les commandes suivantes :

sudo apt update
sudo apt upgrade

Déploiement avec FOG sous Virt-Manager

 AVERTISSEMENT : Virt-Manager ne fonctionne que sur des ordinateurs sous GNU/Linux !!! 

Il existe une page décrivant l'utilisation de FOG avec VirtualBox ici : Déploiement avec FOG sous VirtualBox.

Principe de fonctionnement et intérêts de FOG

Si l'on veut déployer Primtux sur plusieurs ordinateurs de même modèle (cas typique dans une école possédant généralement plusieurs exemplaires d'une même série), il peut être intéressant de le faire à l'aide d'un serveur FOG. On a tout intérêt à installer ce serveur sur un ordinateur portable afin de pouvoir le déplacer facilement sur site.
Site officiel : https://fogproject.org/ 
Documentation en cours de construction : https://docs.fogproject.org/en/latest/

La solution FOG permet via un réseau Intranet à la fois de récupérer une image d'une machine "modèle" et ensuite de la déployer sur plusieurs machines en même temps, ce qui représente un gros gain de temps par rapport à une installation via clé USB avec CloneZilla.

Matériel


Préparation de la machine virtuelle sous Debian 13

Il n'est pas nécessaire de réserver un ordinateur à cette seule tâche, ce qui serait quand même dommage car on ne déploie pas tous les jours non plus ;-). Ceci est rendu possible grâce à la virtualisation. Pour la virtualisation, on utilise ici Virt-Manager (VMM) qui fonctionne mieux et est plus léger que VirtualBox.
Pour une utilisation confortable, il vaudra mieux disposer d'un ordinateur assez récent avec 4 Go de Ram au minimum.

Sur cette page, nous décrirons l'installation d'un serveur FOG sur un ordinateur tournant déjà sous une distribution GNU/Linux, ici en l’occurrence une Linux Mint 22.3 (qui repose elle-même sur Ubuntu 24.04).

Remarque : On peut reprendre les indications ci-dessous pour installer FOG directement sur une Debian 13 sans avoir à virtualiser.


A- Installation de Virt-Manager

Page du site officiel de Virt-Manager : https://virt-manager.org/

On retrouve Virt-Manager dans la plupart des dépôts des distributions GNU/Linux. Du coup, il suffit d'installer le paquet avec la commande suivante pour les distributions dérivées de Debian comme Ubuntu ou Linux Mint :

sudo apt install virt-manager

Il faudra redémarrer son ordinateur afin que Virt-Manager soit fonctionnel (sinon on risque d'avoir des messages d'erreurs concernant "libvirt").

Le reste des explications s'appuieront sur une utilisation sous Linux Mint mais cela n'est pas très différents pour d'autres systèmes.


B- Virtualisation de Debian 13

On récupère l'image iso du système d'exploitation Debian 13.3 (netinstall) sur le site https://www.debian.org/index.fr.html. Puis on crée une machine virtuelle dans Virt-Manager en installant Debian à partir de l'image récupérée précédemment (voir ce tutoriel explicitant comment créer une image virtuelle et les réglages utiles). Lors de lancement de l'iso, choisir "Install" simple, garder les cases cochées par défaut et cocher les cases pour installer un Web serveur (Apache) et éventuellement l'accès SSH si utile.


C- Création d'un connexion réseau de type bridge avec nmcli

Précaution : il est fortement recommandé de créer un instantané de son système avec TimeShift afin de pouvoir revenir à un état antérieur avant les manipulations ci-dessous...

La connexion réseau entre la machine hôte (host) sous Linux Mint 22.3 et la machine invitée (guest) sous Debian 13 doit être de type "Bridge" (pont) et non pas NAT qui est le réglage par défaut !!! Le mode bridge permet aux autres machines sur le réseau de pouvoir récupérer à travers le pc hôte, le serveur FOG de la machine virtuelle : le serveur FOG sera visible directement dans le LAN.
Schéma :

 PC physique bootant en PXE      --- Switch --->    PC hôte sous Linux Mint 22.3    --- Bridge br0 --->  PC invité sous Debian 13 avec Serveur FOG (DHCP / TFTP / HTTP) 

Pour cela, on va utiliser la ligne de commande de Network-Manager, nmcli qui permet une configuration fine.

  1. On va chercher le nom de notre carte réseau Ethernet sur la machine hôte avec la commande :
    ip a
    Sur ma machine, je trouve la carte "enp1s0".

  2. Il faut ensuite créer une connexion de type bridge dans la machine hôte avec les commandes :
    nmcli connection add type bridge ifname br0 con-name br0

  3. On va ensuite l'IP fixer de br0 en 192.168.1.2/24 avec la commande suivante :
    nmcli connection modify br0 ipv4.method manual ipv4.addresses 192.168.1.2/24 ipv4.gateway 192.168.1.1 ipv4.dns 1.1.1.1
    Cette commande correspond aux réglages que l'on ferait via l'outil "Configuration Réseau Avancée" :
    Modification de br0_001.png
  4. Il ne faut pas que l'interface enp1s0 ait d'IP avec cette commande :
    nmcli connection modify bridge-slave-enp1s0 ipv4.method disabled

  5. Ensuite, il faut associer la carte réseau physique enp1s0 au bridge avec la commande :
    nmcli connection add type ethernet ifname enp1s0 master br0

  6. On active la connexion br0 avec la commande :
    nmcli connection up br0

  7. Avec le câble Ethernet branché sur l'ordinateur hôte, on vérifie si le bridge br0 a bien une adresse IP du réseau LAN avec :
    ip a show br0
    ou
    nmcli connection show br0

Info utiles :
La commande nmcli est très puissante avec beaucoup de fonctionnalités dont un prompt. Voir cette page pour plus d'info : https://debian-facile.org/doc:reseau:network-manager 

D- Paramétrage de la connexion réseau de la machine virtuelle

Il faut modifier le type de connexion réseau de la machine virtuelle. Pour cela, dans Virt-Manager, on sélectionne sa machine virtuelle et on va dans le menu "Édition" ① puis "Détails de la machine virtuelle" ② :

Virt-Manager_FOG_1.p,g

Dans la fenêtre de la machine virtuelle, on clique sur l'icône d'information bleue "i" ①, puis sur la carte réseau (NIC) ② et là comme source du réseau, on choisit "Bridge device..." ③ (à la place du NAT de départ) et en "Device name", on saisit "br0" ④. On n'oublie pas de valider en appuyant sur le bouton "Apply"  ⑤ :

Virt-Manager_FOG_2.png

On peut maintenant lancer la machine virtuelle et installer le serveur FOG.


Installation de DHCP dans la machine virtuelle sous Debian 13

Remarque : Lorsqu'on installe FOG, normalement le serveur DHCP s'installe également. Mais comme j'ai eu des souci avec ce serveur, j'ai préféré reprendre une installation de zéro. Ça permet également de mieux comprendre les réglages à effectuer.

Comme nous utiliserons FOG sans connexion Internet et sans routeur, il faut que son serveur face office également de serveur DHCP pour pouvoir attribuer des adresses IP aux autres machines du réseau.

Pour cela, il faut taper la commande :

sudo apt install isc-dhcp-server

Ensuite, il faut éditer le fichier de configuration avec la commande :

sudo nano /etc/default/isc-dhcp-server

Et renseigner l'interface réseau du bridge (enp1s0 dans mon cas) à la ligne :

INTERFACESv4="enp1s0"

Ensuite on édite le fichier de configuration avec la commande suivante :

sudo nano /etc/dhcp/dhcpd.conf

Et on colle la configuration suivante :

# DHCP minimal pour FOG PXE BIOS + UEFI
default-lease-time 600;
max-lease-time 7200;
authoritative;

# Détection architecture client
option arch code 93 = unsigned integer 16;

subnet 192.168.1.0 netmask 255.255.255.0 {

    # Plage IP distribuée aux clients PXE
    range 192.168.1.50 192.168.1.200;

    # Passerelle
    option routers 192.168.1.100;

    # Masque réseau
    option subnet-mask 255.255.255.0;

    # DNS (paramètre obligatoire même si inutile pour le PXE)
    option domain-name-servers 1.1.1.1;

    # Serveur TFTP / PXE = FOG VM
    next-server 192.168.1.100;

    # Fichier de boot PXE
    if option arch = 00:07 {
        filename "ipxe.efi";        # UEFI 64 bits
    } else {
        filename "undionly.kpxe";   # BIOS legacy
    }
}

On teste si cette configuration est correcte avec la commande :

sudo dhcpd -t

Si c'est correct, on peut lancer le serveur DHCP avec les 2 commandes ci-dessous :

sudo systemctl enable isc-dhcp-server
sudo systemctl restart isc-dhcp-server
Problème potentiel de connexion Internet

Ce serveur DHCP pourrait rentrer en conflit avec un autre serveur DHCP sur le même réseau. Si c'était le cas, voici comment le désactiver temporairement ou de façon "permanente".
Pour le désactiver temporairement (jusqu'au prochain boot où il se réactivera), taper la commande :

sudo systemctl stop isc-dhcp-server

Pour le désactiver de façon permanente, taper la commande :

sudo systemctl disable isc-dhcp-server

Installation de FOG dans la machine virtuelle sous Debian 13

Remarque : pendant toute la préparation de la machine virtuelle, dans Virt-Manager, il faudra paramétrer le réseau en NAT afin d'avoir accès à Internet pour télécharger les programmes notamment. Par contre, il faudra modifier plusieurs fois dans la machine Debian, les paramètres réseaux.

Nous utiliserons FOG sans l'intégrer dans un réseau existant, en utilisation isolée pour faire les installations de Primtux. Pour cela, on peut aller voir cette page (non mise à jour) : https://wiki.fogproject.org/wiki/index.php/FOG_on_an_Isolated_Network.

Pour faciliter l'installation et permettre l'installation de FOG qui a besoin d'avoir accès à Internet pour récupérer des fichiers, il faut paramétrer 2 connexions Ethernet dans Debian. La première est celle déjà existante et qui permet d’accéder à Internet (on ne la modifie pas), c'est la "Connexion filaire1" (ou "Wired connection 1") qui fonctionnera avec la connexion réseau de type NAT dans Virt-Manager. Par contre, on va se créer une 2e connexion Ethernet spécifique pour l'utilisation de FOG, avec l'application "Connexion Réseau Avancée" que j'ai baptisée "Connexion FOG" :Connexion_FOG_Debian13.png
On fixe les réglages suivantes dans l'onglet IPv4 en configuration manuelle avec une IP fixe :
adresse IP : 192.168.1.100 (ou une autre)
masque de sous-réseau : 255.255.255.0 (correspond à 24 en notation CDIR)
passerelle : 192.168.1.1
Remarque : il serait aussi possible de modifier l'adresse IP du serveur a posteriori, en suivant les indications ici : https://docs.fogproject.org/en/latest/kb/how-tos/change-fog-server-ip-address/

Dans notre machine virtuelle Debian, avec la connexion pour accéder à Internet, on va récupérer l'archive FOG dans Git comme cela est recommandé dans la documentation (https://docs.fogproject.org/en/latest/installation/server/install-fog-server/). Pour cela, on installe git avec les commandes suivantes :
sudo -i apt install git

Puis on récupère FOG avec les commandes (toujours en étant root via la commande "sudo -i") :
cd /opt
git clone https://github.com/FOGProject/fogproject.git

Ensuite on revient dans le terminal et on lance l'installeur avec :
cd fogproject/bin

On change de connexion réseau en "Connexion FOG" :

Connexion_FOG_Debian13_2.pnget on revient dans le terminal pour taper la commande :
./installfog.sh

Voici les différentes options choisies lors de l'installation (les choix par défaut sont indiqués entre crochets [ ] et avec une majuscule) :

REMARQUE : Si on se trompe dans une étape et que l'on veut reprendre de zéro l'installation de FOG, le mieux est de le désinstaller complètement (sans supprimer le dossier git) et de relancer la commande ./installfog.sh. Plus d'info ici : https://wiki.fogproject.org/wiki/index.php/Uninstall_FOG


Utilisation de FOG

Source utile : https://forums.fogproject.org/topic/14906/configuring-a-standalone-fog-vm-under-ubuntu-20-04

A- Test de FOG

On va tester le serveur FOG pour voir s'il est fonctionnel. Il va falloir vérifier que nous sommes bien avec les réglages suivants :

Si on voit le menu FOG qui apparaît sur le client, cela signifie que le serveur est fonctionnel !


B- Récupération de l'image Primtux à déployer

FOG marche dans les 2 sens, c'est-à-dire qu'il peut déployer une image mais aussi "l'aspirer" (comme CloneZilla). On peut donc préparer un ordinateur sous Primtux avec une seule partition (de cette façon, il sera possible de déployer l'image sur un disque de capacité plus petite à condition que les données ne dépassent pas sa capacité) et ensuite récupérer son image qui servira de modèle (master). Pour Primtux 9, j'en profite pour y installer DWService et le gestionnaire de presse-papier CopyQ (plus complet que Clipman), ... (voir cette page : https://lofurol.fr/joomla/enseignement/391-primtux-installation-de-primtux-9).

Source : https://docs.fogproject.org/en/latest/kb/how-tos/capture-an-image/ 

REMARQUE : il est possible de déployer une image universelle indépendante du matériel sur lequel on veut l'installer. On appelle ce type d'image, une golden image. Piste à creuser : https://forums.fogproject.org/topic/7391/deploying-a-single-golden-image-to-different-hardware-with-fog

C- Déploiement de l'image Primtux

Source : https://docs.fogproject.org/en/latest/kb/how-tos/deploy-an-image/

Tout se fait uniquement à partir de l'ordinateur client (pas besoin d'agir sur le serveur FOG), ce qui est très rapide.
Sur les ordinateurs à installer :


Scripts de post-installation

Il est possible de lancer des scripts de post-installation pour par exemple renommer les machines à partir de leur nom enregistré dans Fog, redimensionner une partition, ...
Ces scripts doivent être placés dans le répertoire du serveur FOG  /images/postdownloadscripts et se lanceront une fois que l'image aura été déployée.

A- Script pour renommer la machine sous Primtux :

Source :  https://memo-linux.com/fog-1-2-script-post-installation-pour-modifier-le-nom-dune-machine-linux-clonee/

Pour cela, il faut modifier les fichiers /etc/hostname et /etc/hosts. On va pouvoir le faire en créant un script dans le dossier /images/postdownloadscripts. Voici les commandes à saisir dans le terminal du serveur FOG :
cd /images/postdownloadscripts

Ensuite on crée et on édite un fichier "renommage.sh" avec la commande :
sudo nano renommage.sh

Et on colle les lignes de code suivantes :

#!/bin/bash
## Script de post-installation "renommage.sh" pour FOG
## Permettant de renommer une machine après l'installation de Primtux
## créé par Thierry Munoz le 30/01/2024 et mis à jour le 18/03/2026 pour Primtux 9

##création d'un répertoire temporaire /partprimtux
mkdir /partprimtux
##montage temporaire de la partition système du Linux
## ATTENTION : il faut indiquer la partition sur laquelle est installé Primtux !!!
## ici il s'agit de la partition sda3 (sinon ça ne marchera pas)
mount /dev/sda3 /partprimtux

##changement du nom host de la machine définie dans l'interface web
echo $hostname > /partprimtux/etc/hostname
##changement du nom "primtux" dans /etc/hosts qui se trouve sur la 2e ligne
sed -i "s/primtux/$hostname/" /partprimtux/etc/hosts

##Démontage de la partition système
umount /partprimtux
##Suppression du répertoire temporaire
rmdir /partprimtux

On sauvegarde (CTRL + O) et on ferme le fichier (CTRL + X) puis on le rend exécutable avec la commande suivante :
sudo chmod +x renommage.sh

Ensuite, on édite et modifie le fichier fog.postdownload qui indique à FOG quel(s) script(s) lancer après la copie de l'image Primtux sur le client :
sudo nano fog.postdownload

Et on colle cette ligne en veillant bien à laisser un espace derrière le point en début de ligne :

. ${postdownpath}renommage.sh

On sauvegarde (CTRL + O) et on ferme (CTRL+X) l'éditeur Nano.

Maintenant le script modifiera automatiquement les fichiers /etc/hostname et /etc/hosts avec le nom de la machine.

B- Script pour redimensionner la partition Primtux :

Normalement cette partie est inutile car FOG redimensionne automatiquement les partitions. Pour cela il faut choisir l'option "Single Disk - Resizable" lors de la capture.


PARTIE CI-DESSOUS INUTILE MAIS LAISSÉE POUR GARDER UNE TRACE

Le redimensionnement automatique de la partition finale ne fonctionne que pour Windows (en fait FOG a été développé initialement pour Windows) et du coup après avoir copié l'image Primtux, la totalité de la partition du disque dur n'est pas utilisée. On peut la modifier avec GParted mais l'idéal serait de l'agrandir automatiquement avec un script de post-installation.

Autre piste : dans le dossier /images/nom_image, il y a pour les images "resizables", des fichiers d1.minimum.partitions, d1.fixed_size_partitions et d1.partitions.

Voici un script à tester (pour des disques HDD, disques SSD "non sda" ?) :

#!/bin/bash#

#############################################################
# Script de redimensionnement de partition PrimTux pour FOG #
# philippe.dpt35@yahoo.fr                                   #
# La parition de PrimTux doit être la dernière partition    #
# du disque ; elle peut être dans une partition étendue     #
# La variable periphdisk est à modifier si le disque        #
# cible n'est pas sur /dev/sda                              #
#############################################################


periphdisk="sda"

# Récupère le N° de la partition étendue du disque s'il y en une
extendpart=$(LC_ALL=C fdisk -l | awk -v disk="/dev/$periphdisk" '$0 ~ disk && /Extended/ {sub("/dev/sd[a-z]","");sub("\n"," ");print $1}')

# Récupère le N° de la dernière partition du disque
lastpart=$(lsblk -o "name" -n | awk -v disk=$periphdisk '/└─/ && $0 ~ disk {sub("└─sd[a-z]","");print $1}')

if [ -n "$extendpart" ]; then
  parted "/dev/$periphdisk" -- resizepart $extendpart 100%
fi
if [ -n "$lastpart" ]; then
  parted "/dev/$periphdisk" -- resizepart $lastpart 100%
  devpart=$(echo "/dev/$periphdisk$lastpart")
  sleep 1
  resize2fs "$devpart"
fi
exit 0


parted /dev/sda resizepart 2 100%

resize2fs /dev/sda5


Ressources utiles pour les scripts


Sources utiles


Déploiement avec FOG sous VirtualBox

Il existe une page décrivant l'utilisation de FOG avec Virt-Manager (méthode recommandée) ici : Déploiement avec FOG sous Virt-Manager.

Principe de fonctionnement et intérêts de FOG

Si l'on veut déployer Primtux sur plusieurs ordinateurs de même modèle (cas typique dans une école possédant généralement plusieurs exemplaires d'une même série), il peut être intéressant de le faire à l'aide d'un serveur FOG. On a tout intérêt à installer ce serveur sur un ordinateur portable afin de pouvoir le déplacer facilement sur site.

La solution FOG permet via un réseau Intranet à la fois de récupérer une image d'une machine "modèle" et ensuite de la déployer sur plusieurs machines en même temps, ce qui représente un gros gain de temps par rapport à une installation via clé USB avec CloneZilla.


Matériel



Préparation du serveur FOG

Il n'est pas nécessaire de réserver un ordinateur à cette seule tâche, ce qui serait quand même dommage car on ne déploie pas tous les jours non plus ;-). Ceci est rendu possible grâce à la virtualisation. Pour la virtualisation, on utilise ici Virtualbox mais on pourrait tout aussi bien utiliser Virt-Manager (VMM) qui fonctionne mieux sous GNU/Linux (tutoriel à envisager).
Pour une utilisation confortable, il vaudra mieux disposer d'un ordinateur assez récent avec 4 Go de Ram au minimum.

Sur cette page, nous décrirons l'installation d'un serveur FOG sur un ordinateur tournant déjà sous une distribution GNU/Linux, ici en l’occurrence une Linux Mint 21.3 (qui repose elle-même sur Ubuntu 22.04).

Remarque : On peut reprendre les indications ci-dessous pour installer FOG directement sur une Debian 12 sans avoir à virtualiser..

A- Installation de Virtualbox

Une fois Linux Mint installé, installation de VirtualBox qui servira à virtualiser FOG avec les commandes suivantes :
sudo apt update && sudo apt install virtualbox Remarque : Il est nécessaire de redémarrer pour que VirtualBox apparaisse dans la liste des applications.

B- Virtualisation de Debian 12

On récupère l'image iso du système d'exploitation Debian 12.4 (netinstall) sur le site https://www.debian.org/index.fr.html. Puis on crée une machine virtuelle dans VirtualBox en installant Debian à partir de l'image récupérée précédemment. Lors de l'installation, garder les cases cochées par défaut (ne pas changer de bureau sinon le CD guest ne pourra pas se lancer !) et cocher les cases pour installer un Web serveur (Apache) et éventuellement l'accès SSH si utile. Une fois Debian installé, finir en intégrant l'iso "Guest additions" (image CD des Additions invité) pour pouvoir bénéficier de fonctionnalités supplémentaires (meilleur affichage plein écran, presse-papier bidirectionnel, ...).

C- Installation de FOG dans Debian

Remarque : pendant toute la préparation de la machine virtuelle, dans VirtualBox, il faudra paramétrer le réseau en NAT afin d'avoir accès à Internet pour télécharger les programmes notamment. Par contre, il faudra modifier plusieurs fois dans la machine Debian, les paramètres réseaux.

Nous utiliserons FOG sans l'intégrer dans un réseau existant, en utilisation isolée pour faire les installations de Primtux. Pour cela, on peut aller voir cette page (non mise à jour) : https://wiki.fogproject.org/wiki/index.php/FOG_on_an_Isolated_Network.

Pour faciliter l'installation et permettre l'installation de FOG qui a besoin d'avoir accès à Internet pour récupérer des fichiers, il faut paramétrer 2 connexions Ethernet dans Debian. La première est celle déjà existante et qui permet d’accéder à Internet (on ne la modifie pas), c'est la "Connexion filaire1". Par contre, on va se créer une 2e connexion spécifique pour l'utilisation de FOG que j'ai baptisée "Connexion FOG".
Adresse IP de "Connexion FOG" : On va aller dans les réglages du réseau avancé de Debian et se créer une nouvelle connexion Ethernet en fixant les réglages suivantes dans l'onglet IPv4 en configuration manuelle avec une IP fixe :
adresse IP : 192.168.1.100 (ou une autre)
masque de sous-réseau : 255.255.255.0
passerelle : aucune
Remarque : il serait aussi possible de modifier l'adresse IP du serveur a posteriori, en suivant les indications ici : https://docs.fogproject.org/en/latest/kb/how-tos/change-fog-server-ip-address/

Dans notre machine virtuelle Debian, avec la connexion pour accéder à Internet, on va récupérer l'archive FOG dans Git comme cela est recommandé dans la documentation (https://docs.fogproject.org/en/latest/installation/server/install-fog-server/). Pour cela, on installe git avec les commandes suivantes :
su sudo -i apt-get -y install git

Puis on récupère FOG avec les commandes (toujours en étant root via la commande "sudo -i") :
sudo -i cd /root
git clone https://github.com/FOGProject/fogproject.git

Ensuite on revient dans le terminal et on lance l'installeur avec :
sudo -i
cd /root/fogproject/bin

On change de connexion réseau en "Connexion FOG" et on revient dans le terminal pour taper la commande : ./installfog.sh

Voici les différentes options choisies lors de l'installation (les choix par défaut sont indiqués entre crochets [ ] et avec une majuscule) :

REMARQUE : Si on se trompe dans une étape et que l'on veut reprendre de zéro l'installation de FOG, le mieux est de le désinstaller complètement (sans supprimer le dossier git) et de relancer la commande ./installfog.sh. Plus d'info ici : https://wiki.fogproject.org/wiki/index.php/Uninstall_FOG



Utilisation de FOG

Attention pour la partie qui suit, il faudra avoir réglé auparavant le réseau VirtualBox différemment ! Il faut choisir comme "Mode d'accès réseau :", "Accès par pont" et dans les paramètres avancés, dans l'option "Mode Promiscuité :", choisir "Allow All" :

FOG_reseau_1.png

A- Test de FOG

On peut d'ores et déjà tester le serveur FOG en branchant en filaire sur le même réseau un ordinateur de test et le faire démarrer sur le réseau en PXE. Si on voit le menu FOG qui apparaît sur le client, cela signifie que le serveur est fonctionnel !

B- Récupération de l'image Primtux à déployer

FOG marche dans les 2 sens, c'est-à-dire qu'il peut déployer une image mais aussi "l'aspirer" (comme CloneZilla). On peut donc préparer un ordinateur sous Primtux avec une seule partition (de cette façon, il sera possible de déployer l'image sur un disque de capacité plus petite à condition que les données ne dépassent pas sa capacité) et ensuite récupérer son image qui servira de modèle (master). J'en profite pour y installer DWService, Clipman, BlocksCAD, ... (voir cette page : https://lofurol.fr/joomla/logiciels-libres/338-primtux-installation-de-primtux7).

Source : https://docs.fogproject.org/en/latest/kb/how-tos/capture-an-image/

REMARQUE : il est possible de déployer une image universelle indépendante du matériel sur lequel on veut l'installer. On appelle ce type d'image, une golden image. Piste à creuser : https://forums.fogproject.org/topic/7391/deploying-a-single-golden-image-to-different-hardware-with-fog

C- Déploiement de l'image Primtux

Source : https://docs.fogproject.org/en/latest/kb/how-tos/deploy-an-image/

Tout se fait uniquement à partir de l'ordinateur client (pas besoin d'agir sur le serveur FOG), ce qui est très rapide.
Sur les ordinateurs à installer :


Scripts de post-installation

Il est possible de lancer des scripts de post-installation pour par exemple renommer les machines à partir de leur nom enregistré dans Fog, redimensionner une partition, ...
Ces scripts doivent être placés dans le répertoire du serveur FOG  /images/postdownloadscripts et se lanceront une fois que l'image aura été déployée.

A- Script pour renommer la machine sous Primtux :

Source :  https://memo-linux.com/fog-1-2-script-post-installation-pour-modifier-le-nom-dune-machine-linux-clonee/

Pour cela, il faut modifier les fichiers /etc/hostname et /etc/hosts. On va pouvoir le faire en créant un script dans le dossier /images/postdownloadscripts. Voici les commandes à saisir dans le terminal du serveur FOG :
cd /images/postdownloadscripts

Ensuite on crée et on édite un fichier "renommage.sh" avec la commande :
nano renommage.sh

Et on colle les lignes de code suivantes :

#!/bin/bash
## Script de post-installation "renommage.sh" pour FOG
## Permettant de renommer une machine après l'installation de Primtux
## créé par Thierry Munoz le 30/01/2024

##création d'un répertoire temporaire /partprimtux
mkdir /partprimtux
##montage temporaire de la partition système du Linux
## ATTENTION : il faut indiquer la partition sur laquelle est installé Printux !!!
## ici il s'agit de la partition sda5 (sinon ça ne marchera pas)
mount /dev/sda5 /partprimtux

##changement du nom host de la machine définie dans l'interface web
echo $hostname > /partprimtux/etc/hostname
##changement du nom "primtux" dans /etc/hosts qui se trouve sur la 2e ligne
sed -i "s/primtux/$hostname/" /partprimtux/etc/hosts

##Démontage de la partition système
umount /partprimtux
##Suppression du répertoire temporaire
rmdir /partprimtux

On sauvegarde (CTRL + O) et on ferme le fichier (CTRL + X) puis on le rend exécutable avec la commande suivante :
chmod +x renommage.sh

Ensuite, on édite et modifie le fichier fog.postdownload qui indique à FOG quel(s) script(s) lancer après la copie de l'image Primtux sur le client :
nano fog.postdownload

Et on colle cette ligne en veillant bien à laisser un espace derrière le point en début de ligne :

. ${postdownpath}renommage.sh

On sauvegarde (CTRL + O) et on ferme (CTRL+X) l'éditeur Nano.

Maintenant le script modifiera automatiquement les fichiers /etc/hostname et /etc/hosts avec le nom de la machine.

B- Script pour redimensionner la partition Primtux :

Le redimensionnement automatique de la partition finale ne fonctionne que pour Windows (en fait FOG a été développé initialement pour Windows) et du coup après avoir copié l'image Primtux, la totalité de la partition du disque dur n'est pas utilisée. On peut la modifier avec GParted mais l'idéal serait de l'agrandir automatiquement avec un script de post-installation.

Autre piste : dans le dossier /images/nom_image, il y a pour les images "resizables", des fichiers d1.minimum.partitions, d1.fixed_size_partitions et d1.partitions.

Voici un script à tester (pour des disques HDD, disques SSD "non sda" ?) :

#!/bin/bash#

#############################################################
# Script de redimensionnement de partition PrimTux pour FOG #
# philippe.dpt35@yahoo.fr                                   #
# La parition de PrimTux doit être la dernière partition    #
# du disque ; elle peut être dans une partition étendue     #
# La variable periphdisk est à modifier si le disque        #
# cible n'est pas sur /dev/sda                              #
#############################################################


periphdisk="sda"

# Récupère le N° de la partition étendue du disque s'il y en une
extendpart=$(LC_ALL=C fdisk -l | awk -v disk="/dev/$periphdisk" '$0 ~ disk && /Extended/ {sub("/dev/sd[a-z]","");sub("\n"," ");print $1}')

# Récupère le N° de la dernière partition du disque
lastpart=$(lsblk -o "name" -n | awk -v disk=$periphdisk '/└─/ && $0 ~ disk {sub("└─sd[a-z]","");print $1}')

if [ -n "$extendpart" ]; then
  parted "/dev/$periphdisk" -- resizepart $extendpart 100%
fi
if [ -n "$lastpart" ]; then
  parted "/dev/$periphdisk" -- resizepart $lastpart 100%
  devpart=$(echo "/dev/$periphdisk$lastpart")
  sleep 1
  resize2fs "$devpart"
fi
exit 0


parted /dev/sda resizepart 2 100%

resize2fs /dev/sda5


Ressources utiles pour les scripts


Ressources