Dmitry Brant van de organisatie Wikimedia heeft een driverport voor ftape gepresenteerd voor moderne Linux-kernels. De driver is in 2000 niet meer bijgewerkt en is in 2006 verwijderd uit de kernel 2.6.20 vanwege problemen bij werking op multikernsysteem. Voor het hervatten van de compilatie en werking van de driver in distributies met moderne Linux-kernels was een herwerking nodig rekening houdend met de wijzigingen in de interne API en subsysteem van de kernel die in de afgelopen 20 jaar zijn opgetreden.
De portering is opmerkelijk omdat deze bijna volledig is uitgevoerd met behulp van AI-assistent Claude Code. Het resultaat was een volledig functionele driver die kan worden samengesteld en werken op systemen met kernels 6.8 en nieuwer. De portering is in drie fasen uitgevoerd. In de eerste fase kreeg de AI-assistent de taak om de code van de driver, die alleen kon worden gecompileerd met kernels 2.4, aan te passen voor compilatie met nieuwere kernelversies. De AI verving met succes de verwijzingen naar verouderde kernelfuncties door actuele aanroepen, corrigeerde het gebruik van datastructuren en verhelpte alle fouten die bij de compilatie optraden.
In de tweede fase was de taak om de driver om te vormen van een gecompileerde vorm in de kernel naar een variant die als een laadbare kernelmodule kon werken. De AI-assistent bereidde de laadbared module voor. In de derde fase werd de port operationeel gemaakt door de AI-assistent dmesg-uitvoer met informatie over fouten en problemen die tijdens het functioneren ontstonden, evenals referentiedebug dmesg-berichten van de werkende oude driver, door te geven, zodat het in staat was om de aanwezigheid van een tape-drive te detecteren en de inhoud van de cartridges te extraheren.
Wat aanvankelijk een moeilijke taak leek die wekenlange documentatie vereist, werd in twee avonden gedaan. Er waren drie verzoeken nodig om een werkende module te creƫren, enkele discussies en een paar handmatige code-aanpassingen. Dmitry merkt op dat men AI-assistenten niet moet overschatten; ze zijn tools die doordacht gebruik vereisen. Dmitry kent de programmeertaal C en heeft kennis van kernelmodules, maar volgens hem zou het onmogelijk zijn om de AI-assistent in de juiste richting te laten werken zonder kennis van de interne structuur van kernelmodules.
Bij het formuleren van de taak is het belangrijk om de specificiteit te kennen en professionele terminologie te gebruiken, waarbij de structuur van de te realiseren functie duidelijk wordt geformuleerd en de leemtes in deze structuur worden gedefinieerd, die door AI moeten worden ingevuld. Daarnaast is het noodzakelijk om de sterke en zwakke punten van AI-assistenten te bestuderen, zodat men hen geen taken oplegt waarvoor ze niet goed in staat zijn. Om resultaat te bereiken, adviseert Dmitri om de AI-assistent te beschouwen als een versterker van eigen vaardigheden, en de interactie met hem als samenwerking met een ondergeschikte ingenieur, die alles doet wat gezegd wordt, probeert te behaagen, zelfverzekerd is, maar fouten erkent. De besluitvorming, het stellen van regels en de verantwoordelijkheid voor het resultaat blijven bij de mens.
De ftape-driver is bedoeld voor gebruik met tape-opslagapparaten die gebruikmaken van QIC-cartridges, waarbij een eigen proprietary formaat voor codering en compressie van gegevens wordt toegepast. Dergelijke apparaten werden vaak in de jaren '90 gebruikt voor back-ups. Tape-opslagapparaten die door de driver worden ondersteund, vereisten geen dure SCSI-controller en werden aangesloten op een typische floppy-schijfcontroller (bijvoorbeeld de Colorado Jumbo 250 en Ditto Max) of op de parallele poort (Trakker, Iomega Ditto).
Ftape was de enige driver die dumps van cartridges in raw-modus kon extraheren, wat het mogelijk maakte om eerst een volledige dump te laden en daarna pas de codering van het formaat en de extractie van bestanden aan te pakken. Hierbij leek de verbinding van de opslag via de floppy-controller op een hack, aangezien de driver de controller die alleen voor floppy-disks was ontworpen, moest 'bedriegen' om commando's te verzenden en interactie met de tape-opslag te organiseren.
Voorheen moest Dmitri voor het extraheren van informatie van tape-cartridges een aparte computer gebruiken met CentOS 3.5 en kernel 2.4.21. Na de portering van de driver was het mogelijk om archieven te extraheren op pc's met moderne Linux-distributies zoals Ubuntu 24.04. Zowel 32- als 64-bits versies worden ondersteund, maar voor het werken met apparaten die op een floppy-controller zijn aangesloten, is een moederbord met een dergelijke controller vereist.
Toepassingsgebieden van de driver omvatten het herstellen van gegevens van oude bandcartridges en het gebruik ervan in projecten voor het recreƫren van retrocomputers. In de toekomst is het de bedoeling om op basis van de driver hulpmiddelen te ontwikkelen voor het laag-niveau extraheren van gegevens van defecte bandopslagmedia, waarbij raw-dumps worden gebruikt voor gegevensherstel, ongeacht de staat van partitie-tabellen of de aanwezigheid van fouten in foutcorrectie.
Bron: opennet.ru
