Linux se ha ejecutado en la consola de videojuegos Atari Jaguar


1

Desarrollador cakehonolulu portó Linux a la consola de juegos Atari Jaguar de 1993. En la consola se logró cargar el núcleo Linux 7.2.0-rc1+ y un entorno de usuario mínimo basado en BusyBox, tanto en el emulador como en el hardware real a través de un cartucho.

La tarea no fue trivial debido a la arquitectura Jaguar. La consola tiene solo 2 MB de RAM, hasta 6 MB de ROM en el cartucho y un procesador principal Motorola 68000 sin MMU. Para tal hardware, el esquema estándar de arranque de Linux no funciona, por lo que el desarrollador utilizó el modo NOMMU para m68k/uClinux y un modelo de memoria plano..

Para que el núcleo encajara en las limitaciones de la consola, se dividió entre la memoria y el cartucho: las secciones inmutables como .text y .rodata se ejecutan directamente desde ROM según el esquema XIP, mientras que .data y .bss cambiantes se colocan en la RAM. Para la salida temprana de mensajes, se utilizó el chip DSP Jerry, que tiene líneas de serie TXD/RXD y temporizadores, y más tarde el desarrollador agregó un controlador de consola simple para el chip Tom, para que la salida funcionara también en la consola real. Estos detalles se describen en la sección sobre lo que necesita Linux para arrancar en Jaguar..

El entorno de usuario se tuvo que recortar al máximo. Debido a la falta de MMU, se utilizan no archivos ELF, sino binarios FLAT; BusyBox se ejecuta directamente como shell, sin la instalación estándar del conjunto de enlaces de applet, ya que esto provocaba falta de memoria. También se requirió la configuración de uClibc a través de Buildroot, incluyendo una estrategia de asignación de memoria más simple malloc-simple; esto se explica en más detalle en la sección Userspace..

La utilidad práctica de este puerto es casi nula: Atari Jaguar no se convierte en una computadora Linux conveniente. Sin embargo, el experimento demuestra bien hasta dónde se puede extender el soporte de hardware antiguo en Linux y cuán resistente sigue siendo la arquitectura m68k. El código fuente del núcleo modificado se ha publicado en el repositorio cakehonolulu/linux_jag.

Fuente: linux.org.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster