С помощью искусственного интеллекта был успешно модернизирован и адаптирован для современных версий ядра Linux устаревший драйвер ftape, предназначенный для работы с ленточными накопителями. Этот драйвер, некогда исключённый из ядра около двух десятилетий назад, получил вторую жизнь благодаря усилиям Дмитрия Бранта из Wikimedia и интеллектуальной поддержке AI-ассистента Claude Code.
Драйвер ftape прекратил своё развитие в начале 2000-х годов и был официально удалён из ядра Linux начиная с версии 2.6.20 в 2006 году. Основной причиной этого стало нестабильное поведение на многоядерных системах, а также невозможность поддержки новых архитектур без серьёзной переработки. Однако благодаря современным технологиям, в частности искусственному интеллекту, удалось не только восстановить работоспособность драйвера, но и адаптировать его под ядра версии 6.8 и выше.
Процесс портирования был организован в несколько этапов. Первоначально AI получил задание адаптировать исходный код драйвера, совместимый только с ядром Linux 2.4, для работы с современными версиями. На этом этапе AI-ассистент заменил устаревшие вызовы ядра на актуальные функции, обновил используемые структуры данных, устранил несовместимости и ошибки компиляции.
Следующий шаг заключался в преобразовании встроенного в ядро драйвера в загрузочный модуль — формат, который позволяет динамически подключать драйвер в работающую систему. Claude Code справился с этой задачей, подготовив корректный модуль, который успешно собирался и загружался в систему.
На завершающем этапе была проведена отладка работы модуля. Дмитрий передавал AI-ассистенту логи dmesg — как от новой версии, так и от корректно функционирующего старого драйвера — благодаря чему AI смог устранить возникающие ошибки и достичь корректной работы драйвера. В итоге получился полностью функционирующий модуль, распознающий ленточные накопители и способный считывать данные с картриджей.
Отдельного внимания заслуживает тот факт, что вся эта работа была выполнена всего за два вечера. Дмитрий отметил, что ключевым фактором успеха стало не только использование AI, но и его собственные знания языка C и понимание архитектуры Linux-ядра. AI-ассистент оказался мощным инструментом, но только в руках специалиста, способного чётко формулировать задачи, корректно интерпретировать ответы и при необходимости вручную вносить правки.
По словам Дмитрия, взаимодействие с AI следует рассматривать как работу с подчинённым инженером — старательным, исполнительным, но не всегда понимающим общую картину. Искусственный интеллект стремится угодить, но не способен принимать решения самостоятельно, поэтому всё управление, контроль качества и принятие решений должны оставаться за человеком.
Драйвер ftape исторически использовался для работы с ленточными накопителями, использующими формат QIC (Quarter-Inch Cartridge). Эти устройства активно применялись в 1990-х годах для резервного копирования данных. Преимущество таких накопителей заключалось в том, что они не требовали дорогостоящих SCSI-контроллеров и могли подключаться напрямую к стандартному контроллеру гибких дисков (FDC) или через параллельный порт, как, например, модели Trakker и Iomega Ditto.
Ftape был уникален тем, что позволял извлекать данные в raw-режиме — прямое считывание содержимого без интерпретации файловой системы. Это особенно важно для восстановления информации, поскольку позволяет сохранить полную копию картриджа для последующего анализа. Тем не менее, взаимодействие с ленточными накопителями через контроллер гибких дисков требовало нестандартных решений: драйвер фактически "обманывал" контроллер, предназначенный для флоппи-дисков, заставляя его работать с лентой.
До появления обновлённого драйвера, Дмитрию приходилось использовать отдельную рабочую станцию с устаревшей версией CentOS и ядром 2.4.21, чтобы получить доступ к архивным данным. Теперь, благодаря портированному модулю, стало возможным использовать современные дистрибутивы Linux, включая Ubuntu 24.04, для работы с такими устройствами. Поддерживаются как 32-битные, так и 64-битные сборки, при этом важным условием остаётся наличие на материнской плате встроенного контроллера гибких дисков.
Практическая значимость проделанной работы выходит далеко за рамки эксперимента. Обновлённый драйвер может быть использован для восстановления данных с устаревших носителей, что особенно актуально в сфере цифровой археологии и при работе с архивами. Кроме того, он может найти применение в проектах по воссозданию ретрокомпьютеров, где важна совместимость с оригинальным оборудованием.
В перспективе планируется расширить функциональность драйвера, создав инструменты низкоуровневого восстановления данных с повреждённых или частично читаемых картриджей. Такие инструменты позволят работать с сырыми дампами, независимо от состояния файловой системы или наличия ошибок коррекции. Это особенно ценно для случаев, когда стандартные методы восстановления оказываются бессильны.
Появление возможности использовать ленточные накопители на современных системах может вдохновить энтузиастов и профессионалов на возрождение старых методов архивирования, которые, несмотря на возраст, обладают рядом преимуществ — в частности, высокой устойчивостью к повреждениям и долговечностью хранения. Таким образом, проект Дмитрия Бранта становится примером удачного симбиоза старых технологий и новых инструментов, в роли которых выступает AI.
Важно отметить, что подобные проекты демонстрируют не только потенциал искусственного интеллекта в программной инженерии, но и поднимают вопросы цифрового наследия. Сложность восстановления драйверов и программного обеспечения для устаревших устройств подчёркивает необходимость сохранения исходных кодов, документации и технической информации, чтобы дать возможность будущим поколениям обратиться к технологиям прошлого.
Кроме того, использование AI для таких задач может стать новым направлением в развитии систем поддержки устаревших технологий. Это открывает путь для автоматизации портирования других драйверов и компонентов, которых уже давно нет в новых версиях операционных систем, но которые до сих пор хранят важную информацию.
В завершение стоит подчеркнуть, что ключ к успешному использованию AI в технических проектах — это грамотный подход, осознанная постановка задач и хорошее понимание предметной области. AI — не панацея, а мощное расширение возможностей инженера, позволяющее ускорить процессы, которые ранее занимали недели или месяцы.
Работа Дмитрия Бранта — наглядный пример того, как современные инструменты могут возрождать забытые технологии и делать их доступными в XXI веке.



