Dmitrij Brant z organizácie Wikimedia predstavil port ovládača ftape pre moderné Linuxové jadrá. Ovládač prestal byť aktualizovaný v roku 2000 a bol vylúčený z jadra 2.6.20 v roku 2006 kvôli problémom pri práci na viacjadrových systémoch. Na obnovenie schopnosti kompilácie a fungovania ovládača v distribúciách s modernými Linuxovými jadrami bolo potrebné jeho prepracovanie s ohľadom na zmeny vnútorných API a subsystémov jadra, ktoré sa udiali za posledných 20 rokov.
Portovanie je pozoruhodné tým, že bolo vykonané takmer výhradne s pomocou AI asistenta Claude Code. Nakoniec bol vytvorený plne funkčný ovládač, schopný sa kompilovať a fungovať na systémoch s jadrami 6.8 a novšími. Portovanie prebiehalo v troch fázach. V prvej fáze bola AI asistentovi daná úloha modifikácie kódu ovládača, ktorý mohol byť kompilovaný iba s jadrami 2.4, pre zostavenie s novými verziami jadra. AI úspešne nahradil v ovládači volania na zastarané funkcie jadra aktuálnymi volaniami, upravil používanie dátových štruktúr a odstránil všetky chyby vznikajúce pri zostavení.
V druhej fáze bola stanovená úloha previesť ovládač z kompilovateľnej formy v jadre na variant, schopný pracovať ako načítateľný modul jadra. AI asistent pripravil načítateľný modul. V tretej fáze, prostredníctvom poskytnutia AI asistentovi dmesg výstupu s informáciami o chybách a problémoch, ktoré vznikli počas prevádzky, ako aj referenčných ladených dmesg správ od fungujúceho starého ovládača, bol port uvedený do prevádzkového stavu, schopného identifikovať prítomnosť páskového úložiska a extrahovať obsah kaziet.
Práca, ktorá sa na začiatku zdala byť zdolateľná a vyžadovala niekoľko týždňov štúdia dokumentácie, sa podarilo vykonať za dva večery. Na vytvorenie pracujúceho modulu bolo potrebných tri požiadavky, niekoľko diskusií a pár manuálnych úprav kódu. Dmitrij zároveň zdôrazňuje, že netreba preceňovať AI-asistenty, ktorí sú len nástroje vyžadujúce rozumnú interakciu. Dmitrij ovláda jazyk C a má predstavu o moduloch jadra, ale prinútiť AI-asistenta pôsobiť správnym smerom bez znalosti vnútornej štruktúry modulov jadra by podľa neho nebolo možné.
Pri formulovaní úlohy je potrebné poznať špecifiká a používať profesionálnu terminológiu, presne formulovať rámec realizovanej funkcie a definovať prázdne miesta v tomto ráme, ktoré by mal AI vyplniť. Tiež je potrebné preskúmať silné a slabé stránky AI-asistentov, aby sme im nedávali úlohy, s ktorými si nebudú vedieť poradiť. Na dosiahnutie výsledku Dmitrij radí považovať AI-asistenta za zosilňovač vlastných zručností a komunikáciu s ním za spoluprácu s podriadeným inžinierom, ktorý splní všetko, čo je povedané, snaží sa byť užitočný, je sebavedomý, ale uznáva chyby. Rozhodovanie, stanovenie pravidiel a zodpovednosť za výsledok zostáva na človeku.
Ovládač ftape je určený na prácu s páskovými pamäťami, ktoré používajú kazety QIC, v ktorých sa uplatňuje vlastný proprietárny formát kódovania a kompresie informácií. Takéto zariadenia sa často používali v 90. rokoch na zálohovanie. Páskové jednotky podporované ovládačom si nevyžadovali drahý SCSI ovládač a pripojovali sa k typickému ovládaču Floppy-diskov (napríklad zariadenia Colorado Jumbo 250 a Ditto Max) alebo cez paralelný port (Trakker, Iomega Ditto).
Ftape bol jediným ovládačom, ktorý bol schopný extrahovať dumpy kaziet v raw-režime, čo umožnilo najprv načítať kompletný dump a až potom sa zaoberať dekódovaním formátu a extrakciou súborov. Pripojenie úložiska cez ovládač Floppy-diskov sa podobalo na hack, pretože ovládač musel 'oklamať' ovládač, navrhnutý iba na prácu s Floppy-diskami, aby mohol prenášať príkazy a organizovať interakciu s páskovým úložiskom.
Predtým na extrakciu informácií z páskových kaziet musel Dmitrij používať samostatný počítač s CentOS 3.5 a jadrom 2.4.21. Po portovaní ovládača sa archívy stali možné extrahovať na PC so súčasnými distribúciami Linuxu, ako je Ubuntu 24.04. Podporujú sa 32- a 64-bitové zostavy, ale na prácu s zariadeniami pripojenými k ovládaču Floppy-diskov je potrebná základná doska s takýmto ovládačom.
Medzi oblasti použitia ovládača patrí obnova informácií zo starých páskových kaziet a jeho použitie v projektoch na rekreáciu retropočítačov. V budúcnosti plánujú na základe ovládača pripraviť nástroje na nízkoúrovňovú extrakciu dát zo porouchaných páskových úložísk, ktoré používa raw-dumpy na obnovu informácií, bez ohľadu na stav tabuliek oddielov alebo prítomnosť chýb v korekcii chýb.
Zdroj: opennet.ru
