Mithilfe von KI wurde der ftape-Treiber, der vor 20 Jahren entfernt wurde, für neue Linux-Kernel portiert.

Dmitry Brant von der Organisation Wikimedia hat einen Treiberport für ftape für moderne Linux-Kernel vorgestellt. Der Treiber wurde 2000 nicht mehr aktualisiert und wurde aufgrund von Problemen bei der Verwendung auf Mehrkernsystemen aus dem Kernel 2.6.20 im Jahr 2006 entfernt. Um die Kompilierung und den Betrieb des Treibers in Distributionen mit modernen Linux-Kernels wieder zu ermöglichen, war eine Überarbeitung unter Berücksichtigung der Änderungen der internen APIs und Kernel-Subsysteme erforderlich, die in den letzten 20 Jahren stattgefunden haben.

Die Portierung ist bemerkenswert, da sie fast vollständig von dem KI-Assistenzsystem Claude Code durchgeführt wurde. Infolgedessen wurde ein vollständig funktionierender Treiber erstellt, der auf Systemen mit den Kernversionen 6.8 und höher kompiliert und betrieben werden kann. Die Portierung erfolgte in drei Phasen. In der ersten Phase wurde dem KI-Assistenten die Aufgabe übertragen, den Treibercode zu modifizieren, der nur mit Kernversionen 2.4 kompiliert werden konnte, um mit neuen Kernelversionen zu arbeiten. Der KI-Assistent hat erfolgreich die Aufrufe veralteter Kernel-Funktionen im Treiber durch aktuelle Aufrufe ersetzt, die Verwendung von Datentypen korrigiert und alle während der Kompilierung auftretenden Fehler behoben.

Im zweiten Schritt bestand die Aufgabe darin, den Treiber von der in den Kernel integrierten Form in eine Version zu verwandeln, die als ladbares Kernelmodul arbeiten kann. Der KI-Assistent hat das ladbare Modul vorbereitet. Im dritten Schritt wurde der Port durch die Übermittlung der dmesg-Ausgabe mit Informationen über Fehler und Probleme, die während des Betriebs auftraten, sowie von Referenz-Debugging-dmesg-Nachrichten des funktionierenden alten Treibers in einen funktionsfähigen Zustand gebracht, der in der Lage ist, das Vorhandensein von Bandlaufwerken zu erkennen und den Inhalt der Kassetten auszulesen.

Die Aufgabe, die zunächst als schwer lösbar erschien und mehrere Wochen Dokumentationsstudium erforderte, konnte in zwei Abenden erledigt werden. Für die Erstellung des funktionierenden Moduls waren drei Anfragen, einige Diskussionen und ein paar manuelle Codeanpassungen erforderlich. Dabei merkt Dmitri an, dass man AI-Helfer, die lediglich Werkzeuge sind, die sinnvolle Interaktion erfordern, nicht überschätzen sollte. Dmitri kennt die Programmiersprache C und hat ein Verständnis für die Kernmodule, aber ihn davon zu überzeugen, dass ein AI-Helfer ohne Kenntnisse der internen Struktur der Kernmodule in die richtige Richtung agieren kann, wäre seiner Meinung nach unmöglich.

Bei der Formulierung von Aufgaben ist es erforderlich, die Spezifikationen zu kennen und Fachterminologie zu verwenden, während der Rahmen der zu implementierenden Funktion klar definiert und die darin enthaltenen Lücken identifiziert werden müssen, die vom KI-Assistenzsystem gefüllt werden sollen. Es ist auch notwendig, die Stärken und Schwächen von KI-Assistenzsystemen zu studieren, um ihnen keine Aufgaben zu übertragen, mit denen sie nicht gut umgehen können. Um ein gutes Ergebnis zu erzielen, rät Dmitri dazu, den KI-Assistenten als Verstärker eigener Fähigkeiten zu betrachten und die Interaktion mit ihm als Zusammenarbeit mit einem untergeordneten Ingenieur, der alles ausführt, was gesagt wird, bestrebt ist, zu gefallen, selbstbewusst ist, aber Fehler anerkennt. Die Entscheidungsfindung, das Setzen von Regeln und die Verantwortung für das Ergebnis liegen weiterhin beim Menschen.

Der ftape-Treiber ist für die Arbeit mit Bandlaufwerken konzipiert, die QIC-Patronen verwenden, bei denen ein proprietäres Format zur Codierung und Kompression von Informationen eingesetzt wird. Solche Geräte wurden häufig in den 1990er Jahren für Backups verwendet. Die vom Treiber unterstützten Bandlaufwerke benötigten keinen teuren SCSI-Controller und wurden an einen typischen Floppy-Controller (z. B. Colorado Jumbo 250 und Ditto Max) oder an einen parallelen Port (Trakker, Iomega Ditto) angeschlossen.

Ftape war der einzige Treiber, der in der Lage war, Dumps von Patronen im Raw-Modus zu extrahieren, was es ermöglichte, zunächst einen vollständigen Dump zu laden und anschließend das Format zu dekodieren und Dateien zu extrahieren. Dabei erinnerte der Anschluss des Laufwerks über den Floppy-Controller an einen Hack, da der Treiber den Controller, der nur für Floppy-Disks ausgelegt war, „überlisten“ musste, um Befehle zu übertragen und die Interaktion mit dem Bandlaufwerk zu ermöglichen.

Früher musste Dmitri zur Datenextraktion von Bandkassetten einen separaten Computer mit CentOS 3.5 und Kernel 2.4.21 verwenden. Nach der Portierung des Treibers ist es nun möglich, Archive auf PCs mit modernen Linux-Distributionen wie Ubuntu 24.04 zu extrahieren. Sowohl 32-Bit- als auch 64-Bit-Versionen werden unterstützt, jedoch ist für den Betrieb mit Geräten, die an einen Floppy-Controller angeschlossen sind, ein Mainboard mit einem entsprechenden Controller erforderlich.

Anwendungsbereiche des Treibers umfassen die Wiederherstellung von Informationen von alten Bandkassetten und die Verwendung in Projekten zur Rekonstruktion von Retrocomputern. In Zukunft ist geplant, auf Basis des Treibers ein Werkzeug für die niederlevelige Datenextraktion von fehlerhaften Bandlaufwerken zu entwickeln, das Raw-Dumps zur Wiederherstellung von Informationen nutzt, unabhängig vom Zustand der Partitionstabellen oder eventuellen Fehlerkorrekturproblemen.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster