[[Retour à la page principale]]

Faire une clé USB vive

logo Debian

Les clés USB du projet FREEDUC sont des dérivés de la distribution KNOPPIX due à Klaus Knopper. Pour l'essentiel, la distribution KNOPPIX prend ses matériaux et ses structures de contrôle dans la distribution Debian.

La distribution Debian

logo Debian

La distribution Debian offre la plus grande logithèque homogène au monde à ce jour.

Le 21 janvier 2012, la statistique ftp-master.debian.org/users/joerg/pkg-nums montre que pour les architectures « i386 » et « all », que visent les clés vives FREEDUC, il y avait 128975 paquets logiciels distincts.

Le système de gestion des paquets (de nom APT) est puissant et rigoureux. Quelle que soit la décision d'un utilisateur d'ajouter ou de supprimer un paquet, la vérification des dépendances et des incompatibilités permet d'assurer à tout moment un système cohérent et stable.

L'efficacité de Debian

Les fournisseurs de logiciels pour Windows proposent généralement des paquets démesurés ; typiquement un DVD-ROM pour une application. C'est souvent une grande surprise de voir des logiciels d'une puissance comparable, par dizaines, partager la place étriquée d'une clé USB basée sur Debian.

Cette « densité » remarquable des applications de Debian ne s'obtient pas par magie. Les fournisseurs de logiciels propriétaires distribuent la plupart du temps un ensemble très complets de bibliothèques logicielles nécessaires à leur fonctionnement. Ces bibliothèques dupliquent la plupart du temps les fonctionnalités d'autres bibliothèques déjà présentes dans l'ordinateur. Debian au contraire, fonctionne avec un ensemble limité de bibliothèques, bien optimisées, car utilisées par l'ensemble des applications. Le gain de place (et souvent d'efficacité) est considérable.

Faire une clé USB vive : facile ou difficile ?

Nouvelle clé USB

Les modifications légères

Faire un dérivé d'une clé USB vive existante, en ajoutant/retirant quelques paquets est un travail d'une ou deux heures, quand on veut que ces modification soient installées « en dur » dans le média, c'est à dire qu'elles restent là quand on dépersonnalise la clé USB.

Une mise à jour des paquets représente environ le même travail.

Les modifications profondes

Quand on veut créer un média vif bien adapté à un public particulier, il importe de bien le cibler et d'en concevoir finement l'interface utilisateur. Il faut pour cela compter une demi-journée à un jour de travail. Si on veut faire un travail soigné, utiliser une charte graphique précise, préparer des documents spécifiques, etc. c'est plus long.

Le point commun de ces modifications dites « permanentes » est qu'elle sont un travail très spécialisé.

Cloner une clé pour en faire plusieurs

Cette opération nécessite un travail moyennement qualifié, et sa durée est essentiellement limitée par des contraintes matérielles.

Un clonage artisanal se fera avec un ordinateur personnel ordinaire, en étendant éventuellement ses ports USB par des hubs. Un clone sur une clé USB seule connectée directement à l'ordinateur sera réalisé en quinze minutes typiquement, la limitations est dans ce cas la rapidité d'écriture de la puce dans la clé USB. Plusieurs puces de bonne qualité savent écrire jusqu'à 8 méga-octets par seconde.

La limitation par la bande passante de la connexion USB intervient à coup sûr dès que plus de quatre clés partagent le même port USB de la carte mère : il n'est pas utile d'en brancher plus à la fois à travers un hub.

Au-delà, d'autres limitations interviennent, comme la rapidité de lecture du disque dur qui contient l'original à cloner.

Avec un matériel artisanal (une seule carte mère, un seul disque dur), on peut compter cloner 40 clés USB de 4 giga-octets en trois heures.

Les logiciels facilitant la création de nouvelles clés

Les logiciels utilisés le plus souvent sont rassemblés dans le paquet freeduc-usb, qui est conservé dans le dépôt Debian non-officiel debian.ofset.org La licence de ces logiciels est libre pour les uns, propriétaire pour les autres.

Le développement d'une nouvelle série de FREEDUC-USB comporte plusieurs phases, chacune aidée par une partie du paquet freeduc-usb :

Déploiement de KNOPPIX sur un disque dur

La distribution KNOPPIX est généralement distribuée sous une forme très compacte, adaptée aux médias vifs. Le déploiement consiste à démarrer la distribution et à faire une copie en profondeur de la partie invariante du système vers un disque dur.

Modification et adaptation de la distribution, sur disque dur

Certains outils de la distribution Debian permettent de travailler de façon sécurisée dans la zone qui résulte du déploiement de KNOPPIX, et on peut ainsi retrouver l'essentiel de ce système à l'état fonctionnel. Dans ce contexte, on utilise les outils traditionnels de gestion de paquets pour modeler le projet à réaliser. Les tests sont réalisables dans une console graphique, qui donne un aperçu assez proche du produit final.

Compression de la nouvelle distribution

Avant d'être implantée dans un média vif, la distribution modifiée sera comprimée, sa taille sera divisée environ par trois. Par exemple, un CDROM vif, dont la taille est limitée à 700 méga-octets, supporte un système dont la taille dépliée est de quelques 2 giga-octets. Du fait que la distribution Debian réutilise intensivement les bibliothèques, une tel espace représente déjà une logithèque très importante (entre 40 et 50 applications au niveau de l'utilisateur final). Pour une clé USB de 4 giga-octets, on vise généralement une image comprimée entre 1,5 et 2 Go (multipliez par trois pour la taille dépliée).

L'image comprimée constitue ce qu'on appelle le contenu « permanent » de la clé USB. Quand on dépersonnalise la clé, c'est ce contenu qui réapparaît à nu.

Mise en place de l'environnement de démarrage

La clé USB est rendue démarrable, et on met en place les écrans et les explications qui sont destinées aux utilisateurs durant les premières secondes d'utilisation.

Création de « l'image d'or »

L'image d'or est un fichier de quelques 4 giga-octets, qui reprend, bit à bit, le contenu exact de la clé USB. C'est cette image qui est utilisée pour l'opération de clonage. Il est possible de simuler complètement le fonctionnement de la distribution sans graver de clé USB et démarrant cette image dans un émulateur. De cette façon, on peut réaliser des copies d'écran utiles pour un éventuel manuel de prise en main, y compris des copies d'écrans correspondant à des moments où l'image est dans un état où ses logiciels sont seulement en cours d'activation.

Le cycle de vie d'une clé USB vive

À l'issue du clonage, toutes les clés USB d'une même génération sont identiques. Cependant, elles comportent, en plus d'une partition dédiée aux données personnelles visibles, d'un système de données persistantes. Quand on commence à démarrer les clés et à les utiliser, le système de données persistantes crée des différences entre les clés attribuées à des utilisateurs différents, en fonction de l'histoire et de leurs agissements.

La mémoire dite persistante

La clé USB vive dispose d'une zone de un giga-octet environ, qui contiendra un résumé des modifications effectuées au cours de la vie de la clé. On peut se représenter cette mémoire ainsi : en arrière plan, se trouve une grande quantité de données non modifiables, celles de l'image « permanente » de la clé. La zone de persistance est un peu comme un papier calque posé au-dessus de cette image permanente. Toutes le modification s'inscrivent sur la clé, mais uniquement sur le « papier calque ». Ce ci a quelques conséquence qu'il est intéressant de connaître :
  1. La quantité des modifications que peut subir la clé au cours de sa vie est limité. Un giga-octet de modifications, c'est beaucoup, mais pas pour n'importe quel usage
  2. Quand on efface des données de la mémoire permanente, en fait... on ne les efface pas. On écrit une marque discrète, sur le papier calque, qui signale que les données situées dessous, dans la mémoire permanentes, ne doivent plus être considérées.
  3. Quand on fait une mise à jour d'un logiciel par exemple, la place consommée sera importante : en effet le logiciel présent dans la mémoire permanente n'est pas du tout effacé, et la nouvelle version vient uniquement dans la mémoire persistante (le papier calque). Il ne faut pas tenter une mise à jour d'un gros logiciel, comme par exemple la suite bureautique. On se souviendra aussi que le logiciel d'origine était dans un format compressé (taille divisée par trois environ), alors que la nouvelle version ne l'est pas.
  4. On peut être amené à dépersonnaliser une clé, dans les cas suivants :
    • La clé change de main, et il n'y a pas de raison que le nouveau propriétaire hérite de personnalisations dues au précédente ;
    • Le propriétaire de la clé a fait une fausse manœuvre, comme débrancher la clé à chaud à un mauvais moment : dans quelques pour-cents des cas, une telle manœuvre peut rendre inutilisable la mémoire persistante.
    Dans ce cas, il suffit, en une minute, d'effacer la mémoire persistante, et la clé revient à sa « configuration d'usine ».
  5. Il est intéressant de placer certains documents dans la partition partagée, qui ne sera jamais concernée par des opérations d'effacement, comme pourrait l'être la mémoire persistante, suite à une fausse manœuvre. De plus la partition partagée est lisible sans démarrer le média vif, à l'aide de n'importe quel ordinateur.

La partition partagée

Il s'agit d'une zone dédiée au stockage de documents. L'intérêt de cette zone est qu'elle est dans un format lisible par tous les ordinateurs, si bien qu'on l'utilise comme une clé USB ordinaire. Remarquez que quand vous ne démarrez pas par la clé USB, c'est à dire que celle-ci n'est pas utilisée comme clé vive, on ne voit que cette partition-là. Quelques personnes s'étonneront de voir un espace de 500 méga-octets, ou un giga-octet disponible seulement, sur une clé USB dont la taille annoncée est de 4 giga-octets. L'explication est que le reste est dévolu à l'utilisation vive, et sans outils logiciels particuliers, il n'est pas question de le modifier arbitrairement.