Dmitri Brant Wikimedia organisatsioonist esitles ftape'i juhi porti tänapäevaste Linuxi kernelite jaoks. Juht lõpetas uuenduste tegemise 2000. aastal ja eemaldati 2.6.20 kernelt 2006. aastal probleemide tõttu, mis tekkisid mitme tuuma süsteemides. Juhi uuesti kompileerimise ja töövõime tagamiseks tänapäevastes Linuxi kernelites oli vajalik selle ümbertegemine, arvestades viimase 20 aasta jooksul toimunud sisemiste API ja süsteemide muudatusi.
Porditamine on tähelepanuväärne, kuna see tehti peaaegu täielikult AI-assistendi Claude Code'i toel. Tulemuseks oli täielikult toimiv draiver, mis suutis koguda ja töötada süsteemides, kus on 6.8 ja uuemad tuumad. Porditamine viis läbi kolm etappi. Esimeses etapis esitati AI-assistendile ülesanne muuta draiveri koodi, mis sai kokku panna ainult 2.4 tuumadega, et see sobituks uute tuuma versioonidega. AI asendas draiveris edukalt vananenud tuuma funktsioonidele viitavad väljakutsed ajakohaste poolt, kohandas andmestruktuuride kasutamist ja kõrvaldas kõik vigade, mis tekkisid kogumise ajal.
Teises etapis oli ülesanne muuta draiverit kompileeritavast tuumavormist selliseks, mis suudaks töötada laaditava tuumamoodulina. AI-assistent valmistas ette laaditava mooduli. Kolmandas etapis, edastades AI-assistentile dmesg-i väljundi, kus oli teave vigadest ja probleemidest, mis ilmnesid töö käigus, samuti standardsete silumis-dmesg-sõnumite vanast töötavast draiverist, viidi port tööolekusse, mis suudab tuvastada teipi ja väljundida kassettide sisu.
Töö, mis alguses tundus olevat keeruline ja nõudvat mitu nädalat dokumentidega tutvumist, õnnestus teha kahe õhtu jooksul. Töömoduli loomiseks kulus kolm päringut, mitmeid arutelusid ja paar käsitsi koodi muudatust. Dmitri rõhutab, et ei tohiks liialdada AI-abimeestega, mis on vaid vahendid, mis nõuavad mõtestatud koostööd. Dmitri oskab keelt C ja tal on arusaam kernelimoodulitest, kuid tema arvates oleks AI-abimehe suunamine õigesse suunda ilma teadmata kernelimoodulite sisemisest ülesehitusest olnud võimatu.
Ülesande sõnastamisel on oluline teada spetsiifikat ja kasutada ametlikku terminoloogiat, sõnastades selgelt rakendatava funktsiooni raami ning määrates selle raamiga seotud tühimikud, mida AI peab täitma. Samuti on vaja uurida AI-assistentide tugevusi ja nõrkusi, et mitte anda neile ülesandeid, millega nad ei saa hästi hakkama. Tulemuse saavutamiseks soovitab Dmitri kaaluda AI-assistenti kui oma oskuste tugevdamist, suhtlemist temaga kui koostööd alluva inseneriga, kes teeb kõik, mis on öeldud, püüab meeldida, on enesekehtestav, kuid tunnistab vigu. Otsuste tegemine, reeglite määramine ja vastutus tulemuse eest jääb inimese kanda.
Ftape draiver on mõeldud kassettide kasutamiseks, mis kasutavad QIC formaati ning rakendavad omaniku patenditud kodeerimise ja andmete tihendamise meetodit. Selliseid seadmeid kasutati tihti 1990. aastatel varundamiseks. Draiveri toetatud lindiseadmed ei vajanud kallist SCSI-kontrollerit ning need ühendasid tavalise Floppy-kontrolleriga (näiteks Colorado Jumbo 250 ja Ditto Max seadmed) või paralleelse pordiga (Trakker, Iomega Ditto).
Ftape oli ainus draiver, mis suudab välja tõmmata kartellide dumpsid raw-režiimis, mis võimaldab kõigepealt laadida täieliku dumpi ja seejärel tegeleda formaadi dekodeerimise ja failide välja tõmbamisega. Samuti oli undamine Floppy-kontrolleri kaudu sarnane häkkimisele, kuna draiver pidanuks 'petma' kontrollerit, mis on mõeldud ainult Floppy-diskide jaoks, et edastada käske ja korraldada kontaktlust kassettide seadmega.
Varasemalt pidi Dmitri teavet lintkassetidelt väljavõtmiseks kasutama eraldi arvutit, millel oli CentOS 3.5 ja kernel 2.4.21. Pärast draiveri portimist on võimalik arhiive välja võtta kaasaegsete Linuxi jaotuste, nagu Ubuntu 24.04, peal. Toetatakse nii 32- kui 64-bitiseid versioone, kuid Floppy-kontrolleriga seadmete töötamiseks on vajalik emaplaat, millel on sarnane kontroller.
Draiveri kasutusvaldkondade hulka kuulub teabe taastamine vanadelt lintkassettidelt ja selle kasutamine retroarvutite loomise projektides. Edasiarendamisel plaanitakse draiveri põhjal luua tööriistakomplekt madala taseme andmete väljavõtmiseks riknenud lintmäluseadmest, mis kasutab raw-dump'e teabe taastamiseks, sõltumata osade tabelite seisukorrast või vigade parandamise probleemide olemasolust.
Allikas: opennet.ru
