Ved hjælp af AI er driveren ftape porteret til de nye Linux-kerner, som blev fjernet for 20 år siden.

Dmitry Brant fra Wikimedia-præsenterede porten af driveren ftape til moderne Linux-kerner. Driveren stoppede med at blive opdateret i 2000 og blev fjernet fra kerne 2.6.20 i 2006 på grund af problemer med at fungere på multicore-systemer. For at genoptage muligheden for at kompilere og få driveren til at fungere i distributioner med moderne Linux-kerner krævedes det, at den blev omarbejdet med hensyn til ændringer i de interne API'er og subsystemer i kernen, der er sket inden for de seneste 20 år.

Porteringen er bemærkelsesværdig, fordi den næsten udelukkende blev udført af AI-assistenten Claude Code. Resultatet var en fuldt fungerende driver, der kan kompilere og fungere på systemer med kerner 6.8 og nyere. Porteringen blev udført i tre faser. I den første fase blev AI-assistenten bedt om at modificere driverens kode, som kun kunne kompileres med kerner 2.4, til at kunne bygge med nye versioner af kernen. AI udskiftede med succes referencer til forældede kernefunktioner med aktuelle opkald, justerede brugen af datastrukturer og rettede alle fejl, der opstod under kompileringen.

I den anden fase blev opgaven at omdanne driveren fra en indbygget form i kernen til en version, der kan fungere som en indlæselig kerne-modul. AI-assistenten forberedte det indlæselige modul. I den tredje fase, ved at sende AI-assistenten dmesg-uddata med information om fejl og problemer, der opstod under arbejdet, samt reference-debug dmesg-beskeder fra den fungerende gamle driver, blev porten bragt i en funktionsdygtig tilstand, der kan registrere tilstedeværelsen af bånddrev og udtrække indholdet af patronerne.

Arbejdet, der i starten virkede svært og krævede flere ugers studier af dokumentation, blev udført på to aftener. For at skabe den fungerende modul krævede det tre forespørgsler, flere diskussioner og et par manuelle kodeændringer. Dmitrij bemærker, at man ikke skal overvurdere AI-hjælpere, som kun er værktøjer, der kræver meningsfuld interaktion. Dmitrij kender C-sproget og har en forståelse for kerne-moduler, men at få AI-hjælperen til at handle i den rette retning uden viden om de indre funktioner af kerne-moduler ville ifølge ham være umuligt.

Når man formulerer en opgave, er det nødvendigt at kende specifikationerne og bruge professionel terminologi, klart formulere rammerne for den implementerede funktion og definere huller i denne ramme, som AI skal udfylde. Det er også nødvendigt at studere AI-assistenterne styrker og svagheder for ikke at give dem opgaver, som de ikke kan håndtere godt. For at opnå resultater anbefaler Dmitrij at betragte AI-assistenten som en forstærker af ens egne færdigheder og kommunikationen med den som et samarbejde med en underordnet ingeniør, der gør alt, hvad der bliver sagt, ønsker at behage, er selvsikker, men anerkender fejl. Beslutningstagning, fastsættelse af regler og ansvar for resultatet forbliver hos mennesket.

Driveren ftape er beregnet til at arbejde med båndopbevaringsenheder, der bruger QIC-kassetter, som anvender et eget proprietært format til kodning og komprimering af information. Sådanne enheder blev ofte brugt i 1990'erne til sikkerhedskopiering. De båndopbevaringsenheder, som driveren understøtter, krævede ikke dyre SCSI-controllere og var tilsluttet en typisk floppy-diskcontroller (f.eks. Colorado Jumbo 250 og Ditto Max) eller en parallelt port (Trakker, Iomega Ditto).

Ftape var den eneste driver, der kunne udtrække dumps fra kassettebånd i råtilstand, hvilket tillod at indlæse en fuld dump først og derefter arbejde med dekodning af formatet og udtrækning af filer. Tilslutningen af lagringsenheden gennem floppy-diskcontrolleren mindede om et hack, da driveren måtte 'nudge' controlleren, der kun var designet til at arbejde med floppy-diske, for at sende kommandoer og organisere interaktionen med båndlagringsenheden.

Tidligere måtte Dmitrij bruge en separat computer med CentOS 3.5 og kerne 2.4.21 for at udtrække information fra båndkassetter. Efter porteringen af driveren blev det muligt at udtrække arkiver på pc'er med moderne Linux-distributioner såsom Ubuntu 24.04. Der understøttes både 32- og 64-bit builds, men for at arbejde med enheder, der tilsluttes til floppy-diskcontrolleren, kræves et bundkort med en tilsvarende controller.

Driverens anvendelsesområder omfatter gendannelse af information fra gamle båndkassetter og anvendelse i Projekter til rekonstruktion af retrocomputere. I fremtiden planlægges det at udvikle værktøjer til lavnivåudtrækning af data fra defekte båndlagringsenheder, der bruger rå dumps til at genskabe information, uanset tilstanden af partitions-tabellerne eller tilstedeværelsen af fejlkorrektion.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster