• 2 min de lectura
Linux ahora arranca en la Sega 32X, mal pero de verdad
Un ingeniero ha arrancado Linux en el periférico 32X de Sega de 1994, a pesar de los mínimos límites de memoria y del débil rendimiento SMP de sus dos CPUs SH-2.

Imagen: The Register
La pregunta «¿Puede ejecutar Linux?» apunta ahora a otro objetivo improbable: el periférico 32X de Sega de 1994 para la Genesis/Mega Drive. El ingeniero español cakehonolulu, recién tras un puerto similar de Linux al Atari Jaguar, ha llevado ahora el sistema operativo a uno de los periféricos más efímeros de Sega.
El 32X añadió 256 KB de SDRAM a los 64 KB de la Genesis, además de 256 KB de memoria de vídeo y dos CPUs Hitachi SH-2 a 23 MHz. La Genesis base se apoyaba en un Motorola 68000 a 7,6 MHz. Linux ya es compatible con la arquitectura 68000, pero cakehonolulu dijo que lograr que Linux funcionara en los SH-2 —incluso solo para imprimir algo útil por UART— requirió un trabajo serio.
El principal obstáculo fue la memoria. Cakehonolulu dijo a The Register que el mayor problema fue simplemente lo poca RAM disponible, con los framebuffers consumiendo una gran parte y dejando muy poco espacio para las funciones del kernel de Linux o BusyBox, que actúa como proceso init tras el arranque.

Recomendado
La tarjeta CFexpress de 4 TB de SanDisk cuesta $4,400
Finalmente Linux arrancó, pero el ingeniero también quiso comprobar si el multiprocesamiento simétrico podría funcionar en las dos CPUs del 32X a pesar de la falta del habitual soporte de hardware para la sincronización entre procesadores.
«Resultó ser algo que se podía hacer; pero, de nuevo, el rendimiento es abismal.»
En la publicación original, el ingeniero lo resumió más sencillamente: funciona, y eso fue suficiente. Un controlador básico de pantalla de consola completó el puerto, aunque la interacción es limitada. Cakehonolulu dijo que buscó un teclado comercial disponible para Mega Drive/Genesis pero solo encontró prototipos tempranos, y optó por no construir un adaptador personalizado usando algo como un Pi Pico, ATMega, Arduino o FPGA.
Por ahora, el sistema se controla a través de pines UART TTL. En cuanto a lo que Linux en un 32X puede hacer realmente, la respuesta es: no mucho.
«Sinceramente, no mucho, al menos con las limitaciones que tiene. Tenemos suerte de poder añadir siquiera unas pocas kilobytes más de datos… Pero sirve como buen ejemplo (Linux y BusyBox) de que, indirectamente, puedes permitir que la gente trastee y ponga en marcha un software si está bien escrito … posibilita que ocurran cosas como esta.»
Al preguntarle qué viene después, cakehonolulu tuvo una respuesta breve: «Sega Saturn : )»
Computing Editor
Tomas lives in the terminal. He covers chips, laptops, and operating systems with a focus on performance and efficiency. He reads kernel changelogs the way other people read fiction, and he's always on the hunt for the perfect mechanical keyboard switch. If it processes data, Tomas has an opinion on it.
vía The Register


