Dmitry Brant, de Wikimedia, presentó una adaptación del controlador ftape para núcleos modernos. LinuxEl controlador dejó de actualizarse en 2000 y se eliminó del kernel 2.6.20 en 2006 debido a problemas con sistemas multinúcleo. Para restaurar la capacidad de compilar y ejecutar el controlador en distribuciones con kernels modernos, Linux Fue necesario reelaborar el sistema para tener en cuenta los cambios en las API internas y los subsistemas del núcleo que se han producido en los últimos 20 años.
La portabilidad es notable por haber sido realizada casi en su totalidad por el asistente de IA Claude Code. Como resultado, se obtuvo un controlador completamente funcional, capaz de compilarse y funcionar en sistemas con kernels 6.8 y posteriores. La portabilidad se realizó en tres etapas. En la primera, el asistente de IA se encargó de modificar el código del controlador, que solo podía compilarse con kernels 2.4, para su ensamblaje con las nuevas versiones del kernel. La IA sustituyó con éxito las llamadas a funciones obsoletas del kernel en el controlador por llamadas actuales, ajustó el uso de las estructuras de datos y eliminó todos los errores que se producían durante el ensamblaje.
La segunda etapa consistió en convertir el controlador de un formato compilado en el kernel a una versión capaz de funcionar como módulo cargable del kernel. El asistente de IA preparó dicho módulo. La tercera etapa consistió en enviar al asistente de IA la salida de dmesg, que contenía información sobre errores y problemas surgidos durante la operación, así como mensajes de depuración de referencia de dmesg del controlador anterior en funcionamiento, para que el puerto funcionara y pudiera detectar la presencia de una unidad de cinta y extraer el contenido de los cartuchos.
El trabajo, que al principio parecía difícil y requirió varias semanas de estudio de la documentación, se completó en dos tardes. Se necesitaron tres solicitudes, varias discusiones y un par de ediciones manuales del código para crear un módulo funcional. Al mismo tiempo, Dmitry señala que no se debe sobreestimar la importancia de los asistentes de IA, ya que son herramientas que requieren una interacción significativa. Dmitry conoce el lenguaje C y tiene una idea de los módulos del kernel, pero en su opinión, sería imposible que el asistente de IA funcionara correctamente sin conocer la estructura interna de los módulos del kernel.
Al formular una tarea, es necesario conocer los detalles y utilizar terminología profesional, definiendo claramente el marco de la función que se implementará y definiendo las carencias que la IA debe cubrir. También es necesario estudiar las fortalezas y debilidades de los asistentes de IA para evitar asignarles tareas que no puedan realizar adecuadamente. Para lograr resultados, Dmitry aconseja considerar al asistente de IA como un amplificador de las propias habilidades, y la comunicación con él como la cooperación con un ingeniero subordinado que hará todo lo que se le diga, se esfuerza por complacer, tiene confianza en sí mismo, pero admite sus errores. La toma de decisiones, el establecimiento de reglas y la responsabilidad del resultado recaen en la persona.
El controlador ftape está diseñado para funcionar con unidades de cinta que utilizan cartuchos QIC, que utilizan su propio formato de codificación y compresión. Estos dispositivos se utilizaban a menudo en la década de 1990 para realizar copias de seguridad. Las unidades de cinta compatibles con el controlador no requerían una costosa controladora SCSI y se conectaban a una controladora de disquete típica (por ejemplo, Colorado Jumbo 250 y Ditto Max) o a un puerto paralelo (Trakker, Iomega Ditto).
Ftape era el único controlador capaz de extraer volcados de cartuchos en modo RAW, lo que permitía cargar primero un volcado completo y luego encargarse de la decodificación del formato y la extracción de archivos. Al mismo tiempo, conectar una unidad mediante un controlador de disquete era prácticamente un truco, ya que el controlador tenía que manipular al controlador, diseñado exclusivamente para funcionar con disquetes, para transmitir comandos y organizar la interacción con la unidad de cinta.
Anteriormente, para extraer información de los cartuchos de cinta, Dmitry tenía que usar una computadora separada con CentOS 3.5 y kernel 2.4.21. Tras adaptar el controlador, ahora se pueden extraer los archivos en PC con distribuciones modernas. Linuxtales como Ubuntu 24.04. Se admiten compilaciones de 32 y 64 bits, pero se requiere una placa base con un controlador similar para trabajar con dispositivos conectados al controlador de disquete.
Las áreas de aplicación del controlador incluyen la recuperación de datos de cartuchos de cinta antiguos y su uso en proyectos de reconstrucción de ordenadores antiguos. En el futuro, el controlador se utilizará como base para la extracción de datos de bajo nivel de unidades de cinta defectuosas, utilizando volcados sin procesar para recuperar datos, independientemente del estado de las tablas de particiones o de la presencia de fallos de corrección de errores.
Fuente: opennet.ru
