1 puntos por GN⁺ 2023-08-28 | 1 comentarios | Compartir por WhatsApp
  • Artículo sobre la ejecución exitosa de Linux en la Commodore C64, una clásica computadora doméstica de los años 80
  • El sistema operativo Linux funciona muy lentamente en la Commodore C64, y debido a la limitada memoria de 64 KiB de la computadora, se requiere una unidad de expansión de RAM (REU)
  • El sistema usa una unidad de gestión de memoria (MMU) para emular memoria virtual
  • El autor aún no ha probado la configuración en hardware real y anima a los lectores a compartir su experiencia
  • Para construir el sistema, se deben usar el comando make y la herramienta mos-c64-clang
  • La configuración del kernel difiere del kernel semu original debido a la alineación de secciones grandes. Una configuración de kernel más adecuada se puede encontrar en la subcarpeta config
  • Para ensamblar todas las imágenes REU necesarias para el emulador VICE, se usa el script mk_linux_reu.py
  • Para ejecutar el sistema, se crea un archivo .d64 que incluye el ejecutable semu compilado. Luego, este archivo se carga en el emulador VICE
  • El autor planea agregar a GitHub un archivo con todos los binarios precompilados necesarios
  • El autor también menciona la posibilidad de optimizar el código 6502 compilado para mejorar el rendimiento e implementar una VM con checkpoints para evitar el largo proceso de arranque
  • El artículo concluye reconociendo el trabajo de semu, un emulador minimalista RISC-V32, y de las herramientas llvm-mos, que hicieron posible este proyecto

1 comentarios

 
GN⁺ 2023-08-28
Comentarios en Hacker News
  • Onno Kortman logró ejecutar Linux en una Commodore 64 usando semu, un emulador mínimo de RISC-V, y llvm-mos, un port de LLVM para el procesador MOS 6502.
  • El proceso toma mucho tiempo, y generar capturas de pantalla en "modo warp" requiere varias horas. Una C64 real debería poder arrancar Linux en el transcurso de una semana.
  • Este proyecto requiere un hardware poco común: una REU de 16 MB. En su época, las REU disponibles para la C64 eran de 256 kB y 512 kB.
  • El proyecto se compara con ejecutar Doom3 en una 386, pero una 386 es una tarjeta PCI para PCs modernos. La comparación sugiere que es técnicamente posible, pero no representa la capacidad del hardware original.
  • Tras la desaparición de los esquemas originales de la SuperCPU, hay pedidos de esquemas abiertos para una "súper CPU". La SuperCPU y su controlador DMA actualmente se emulan usando FPGA potentes.
  • Algunos usuarios están experimentando con accesorios recientes para la C-64, como "Kung Fu Flash", que puede emular "Super Snapshot", pero no una REU.
  • Hay una discusión sobre cuál es el hardware más antiguo capaz de arrancar Linux moderno y que aún podría usarse en la vida diaria.
  • Este proyecto se considera una demostración de equivalencia de Turing: dado suficiente tiempo, cualquier computadora Turing completa puede hacer lo que otra computadora Turing completa puede hacer.
  • Hay preguntas sobre si este proyecto es distinto de Lunix, un sistema operativo pequeño y multitarea para la Commodore 64.
  • Algunos usuarios proponen métodos alternativos para ejecutar Linux en la C64, incluyendo usar varios disquetes como RAM e ir intercambiándolos según sea necesario.
  • Se aclaró que este proyecto no ejecuta Linux directamente en la C64, sino que emula un entorno RISC-V.
  • El proyecto también hizo que otras personas pensaran en proyectos similares, como ejecutar RISC-V en una Gameboy o instalar un sistema estilo Unix en una TRS-80 Model 4.