Dmitry Brant de l'organisation Wikimedia a présenté un port du pilote ftape pour les noyaux Linux modernes. Le pilote n'a pas été mis à jour depuis 2000 et a été retiré du noyau 2.6.20 en 2006 en raison de problèmes de fonctionnement sur des systèmes multi-core. Pour permettre la compilation et le fonctionnement du pilote dans les distributions avec des noyaux Linux modernes, il a fallu le retravailler en tenant compte des changements des API internes et des sous-systèmes du noyau survenus au cours des 20 dernières années.
Le portage est remarquable car il a été réalisé presque entièrement par l'assistant AI Claude Code. Cela a abouti à un pilote entièrement fonctionnel, capable d'être compilé et de fonctionner sur des systèmes avec des noyaux 6.8 et plus récents. Le portage a été effectué en trois étapes. Dans la première étape, l'assistant AI a eu pour tâche de modifier le code du pilote, qui ne pouvait être compilé qu'avec les noyaux 2.4, pour le rendre compatible avec les nouvelles versions du noyau. L'AI a réussi à remplacer dans le pilote les appels aux fonctions obsolètes du noyau par des appels actuels, a corrigé l'utilisation des structures de données et a éliminé toutes les erreurs survenant lors de la compilation.
Au deuxième étape, la tâche consistait à transformer le pilote d'une forme intégrée au noyau en une version capable de fonctionner en tant que module chargeable. L'assistant AI a préparé le module chargeable. À la troisième étape, en transmettant à l'assistant AI les sorties dmesg contenant des informations sur les erreurs et problèmes survenant lors de l'exécution, ainsi que des messages dmesg de débogage de référence du pilote ancien fonctionnel, le port a été amené à un état opérationnel capable de détecter la présence d'une unité de bande et d'extraire le contenu des cartouches.
Le travail, qui semblait au départ difficile à réaliser et nécessitant plusieurs semaines d'étude de la documentation, a pu être accompli en deux soirées. La création d'un module fonctionnel a nécessité trois requêtes, plusieurs discussions et quelques corrections manuelles du code. Entre-temps, Dmitry souligne qu'il ne faut pas surestimer les assistants AI, qui ne sont que des outils nécessitant une interaction réfléchie. Dmitry connaît le langage C et a une idée des modules du noyau, mais selon lui, il serait impossible de faire agir l'assistant AI dans la bonne direction sans connaître la structure interne des modules du noyau.
Lors de la formulation d'une tâche, il est nécessaire de connaître la spécificité et d'utiliser une terminologie professionnelle, en définissant clairement le cadre de la fonction à réaliser et en identifiant les lacunes dans ce cadre que l'IA doit combler. Il est également important d'étudier les forces et les faiblesses des assistants IA, afin de ne pas leur confier des tâches avec lesquelles ils ne pourront pas bien s'en sortir. Pour obtenir un résultat, Dmitri conseille de considérer l'assistant IA comme un amplificateur de ses propres compétences, et la communication avec lui comme une collaboration avec un ingénieur subordonné, qui exécutera tout ce qui est dit, cherche à plaire, est sûr de lui mais reconnaît ses erreurs. La prise de décisions, la définition des règles et la responsabilité du résultat restent entre les mains de l'humain.
Le pilote ftape est conçu pour fonctionner avec des unités de bande utilisant des cartouches QIC, qui appliquent un format propriétaire d'encodage et de compression des informations. De tels dispositifs étaient souvent utilisés dans les années 1990 pour la sauvegarde. Les unités de bande prises en charge par le pilote ne nécessitaient pas de contrôleur SCSI coûteux et se connectaient à un contrôleur de disquettes standard (par exemple, les dispositifs Colorado Jumbo 250 et Ditto Max) ou à un port parallèle (Trakker, Iomega Ditto).
Ftape était le seul pilote capable d'extraire des dumps de cartouches en mode brut, ce qui permettait de d'abord charger un dump complet, puis de s'occuper du décodage du format et de l'extraction des fichiers. Dans ce cas, la connexion de l'unité via un contrôleur de disquettes ressemblait à un hack, car le pilote devait « tromper » le contrôleur, conçu pour ne fonctionner qu'avec des disquettes, afin d'envoyer des commandes et d'organiser l'interaction avec l'unité de bande.
Auparavant, pour extraire des informations à partir de cartouches de bandes, Dmitri devait utiliser un ordinateur séparé avec CentOS 3.5 et le noyau 2.4.21. Après le portage du pilote, il est devenu possible d'extraire des archives sur un PC avec des distributions Linux modernes, comme Ubuntu 24.04. Les versions 32 et 64 bits sont prises en charge, mais un ordinateur mère avec un contrôleur de disquettes est nécessaire pour travailler avec des dispositifs connectés à ce contrôleur.
Le pilote est mentionné comme étant utilisé pour récupérer des informations à partir de anciennes cartouches de bande et dans des projets de recréation d'ordinateurs rétro. Par la suite, un outil sera développé sur la base du pilote pour l'extraction de données à bas niveau à partir de lecteurs de bandes défectueux, utilisant des dumps bruts pour la récupération d'informations, indépendamment de l'état des tables de partitions ou de la présence d'erreurs de correction.
Source : opennet.ru
