Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

При помощи AI для новых ядер Linux портирован драйвер ftape, удалённый 20 лет назад

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 648
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 43 раза
Поблагодарили: 23 раза

При помощи AI для новых ядер Linux портирован драйвер ftape, удалённый 20 лет назад

Сообщение root:# »

При помощи AI для новых ядер Linux портирован драйвер ftape, удалённый 20 лет назад
Дмитрий Брант (Dmitry Brant) из организации Wikimedia представил порт драйвера ftape для современных ядер Linux. Драйвер перестал обновляться в 2000 году и был исключён из ядра 2.6.20 в 2006 году из-за проблем при работе на многоядерных системах. Для возобновления возможности компиляции и работы драйвера в дистрибутивах с современными ядрами Linux потребовалась его переработка с учётом изменений внутренних API и подсистем ядра, произошедших за последние 20 лет. Портирование примечательно тем, что оно было выполнено почти целиком силами AI-ассистента Claude Code. В итоге был получен полностью рабочий драйвер, способный собираться и функционировать на системах с ядрами 6.8 и новее. Портирование было выполнено в три этапа. На первом этапе AI-ассистенту была поставлена задача модификации кода драйвера, который мог компилироваться только с ядрами 2.4, для сборки с новыми версиями ядра. AI успешно заменил в драйвере обращения к устаревшим функциям ядра на актуальные вызовы, откорректировал использование структур данных и устранил все ошибки, возникавшие при сборке. На втором этапе была поставлена задача преобразования драйвера из встроенной в ядро формы, в вариант, способный работать в виде загружаемого модуля ядра. AI-ассистент подготовил загружаемый модуль. На третьем этапе путём передачи AI-ассистенту dmesg-вывода с информацией об ошибках и проблемах, возникавших в процессе работы, а также эталонных отладочных dmesg-сообщений от рабочего старого драйвера, порт был приведён в работоспособное состояние, позволяющее определять наличие ленточного накопителя и извлекать содержимое картриджей. Работу, которая вначале казалась трудновыполнимой и требующей нескольких недель изучения документации, удалось проделать за два вечера. Для создания рабочего модуля потребовалось три запроса, несколько обсуждений и пару ручных правок кода. При этом Дмитрий отмечает, что не стоит переоценивать AI-помощники, которые лишь инструменты, требующие осмысленного взаимодействия. Дмитрий знает язык Си и имеет представление о модулях ядра, но заставить AI-помощник действовать в нужном направлении без знаний внутреннего устройства модулей ядра по его мнению было бы невозможно. При формулировании задачи требуется знать специфику и использовать профессиональную терминологию, чётко формулируя каркас реализуемой функции и определяя пустоты в этом каркасе, которые должен заполнить AI. Также необходимо изучить сильные и слабые стороны AI-ассистентов, чтобы не давать им задачи, с которыми они не смогут хорошо справиться. Для достижения результата Дмитрий советует рассматривать AI-ассистент как усилитель собственных навыков, а общение с ним как сотрудничество с подчинённым инженером, который сделает всё что сказано, стремится угодить, самоуверен, но признаёт ошибки. Принятие решений, задание правил и ответственность за результат остаются за человеком. Драйвер ftape предназначен для работы с ленточными накопителями, использующими картриджи QIC, в которых применяется собственный проприетарный формат кодирования и сжатия информации. Подобные устройства часто использовались в 1990-е годы для резервного копирования. Поддерживаемые драйвером ленточные накопители не требовали дорогого SCSI-контроллера и подключались к типовому контроллеру Floppy-дисков (например, устройства Colorado Jumbo 250 и Ditto Max) или параллельному порту (Trakker, Iomega Ditto). Ftape был единственным драйвером, способным извлекать дампы картриджей в raw-режиме, что позволяло вначале загрузить полный дамп, а уже потом разбираться с раскодированием формата и извлечением файлов. При этом подключение накопителя через контроллер Floppy-дисков напоминало хак, так как драйверу приходилось "обманывать" контроллер, рассчитанный на работу только с Floppy-дисками, для передачи команд и организации взаимодействия с ленточным накопителем. Ранее для извлечения информации c ленточных картриджей Дмитрию приходилось использовать отдельный компьютер с CentOS 3.5 и ядром 2.4.21. После портирования драйвера архивы стало возможно извлекать на ПК c современными дистрибутивами Linux, такими как Ubuntu 24.04. Поддерживается 32- и 64-разрядные сборки, но для работы с устройствами, подключаемыми к контроллеру Floppy-дисков, требуется материнская плата с подобным контроллером. В качестве областей применения драйвера упоминается восстановление информации со старых ленточных картриджей и использование в проектах по воссозданию ретрокомпьютеров. В дальнейшем на базе драйвера намерены подготовить инструментарий для низкоуровневого извлечения данных со сбойных ленточных накопителей, использующий raw-дампы для восстановления информации, независимо от состояния таблиц разделов или наличия сбоев коррекции ошибок.
Источник: https://www.opennet.ru/opennews/art.shtml?num=63841