- DSLinux es un proyecto de port de Linux para ejecutar un entorno Linux en Nintendo DS y DS Lite, aprovechando estas consolas portátiles antiguas como dispositivos capaces de correr Linux
- También se indica que modelos posteriores como DSi y 3DS pueden funcionar en modo de compatibilidad con DS
- Además del hardware real, también puede ejecutarse en algunos emuladores de NDS como desmume, lo que amplía el entorno de pruebas
- El proyecto está en estado funcional y ofrece documentación junto con una colección de programas de Linux para DS
- Actualmente no hay desarrolladores activos, pero nuevos colaboradores pueden continuar el trabajo a partir de recursos existentes como la wiki y el repositorio
Plataformas de ejecución y entorno compatible
- DSLinux es un proyecto que porta Linux a Nintendo DS y Nintendo DS Lite
- Modelos más recientes como DSi y 3DS pueden funcionar en modo de compatibilidad con DS
- Además del hardware real, también corre en algunos emuladores de NDS como desmume
Documentación, programas y recursos para contribuir
- DSLinux es funcional y ofrece para DS documentación de uso y una colección de programas útiles de Linux
- Para empezar, se puede consultar el FAQ
- Actualmente no hay desarrolladores activos, y se da la bienvenida a nuevos colaboradores
- Queda bastante documentación en la wiki para nuevos desarrolladores
- Principales recursos disponibles
- DSLinux wiki
- Canal IRC
#dslinuxen Blitzed; hace falta paciencia mientras se espera una respuesta - El foro de DSLinux desapareció y no fue reactivado
- lista de correo dslinux-devel
- lista de correo dslinux-commit
- repositorio SVN de DSLinux
- builds de DSLinux, ubicación alternativa de builds
- DSLinux en Wikipedia
1 comentarios
Opiniones en Hacker News
Hace mucho hice algunas pequeñas contribuciones a este proyecto, y me alegra ver que el sitio web siga vivo.
La parte más interesante de este proyecto era el manejo de memoria. La DS solo tenía 4 MB de RAM y no tenía MMU, así que tampoco se podía usar swap, pero el puerto para cartuchos de Game Boy tenía un espacio de direcciones de 32 MB mapeado al bus. Había cartuchos homebrew/clonados que llenaban ese espacio con 32 MB de RAM, pero el problema era que la DS solo podía escribir al puerto del cartucho en direcciones alineadas a 16 bits. Como la mayoría del software asumía que se podían hacer escrituras alineadas a 8 bits, los desarrolladores crearon un GCC parcheado que convertía las escrituras a posiciones no alineadas en una combinación adecuada de lectura, escritura de 16 bits y operaciones de desplazamiento.
Perdí el cartucho de Opera DS hace mucho, pero el paquete de expansión de memoria todavía está insertado en mi DS Lite como si fuera una tapa de ranura.
Esos cartuchos tenían una combinación de RAM y almacenamiento basado en flash o una tarjeta CF, detrás de una especie de esquema de bancos, de modo que se les podía indicar que expusieran el almacenamiento o la RAM. Así, el sistema de almacenamiento quedaba mapeado directamente al bus, y para ahorrar RAM se usaba ejecución en el lugar: ejecutar directamente desde el almacenamiento sin copiar primero el programa a la RAM.
Mientras intentaba portar cierto software de control industrial a DSLinux, me encontré con un bug en la forma en que funcionaba el asignador SLOB bajo presión de memoria, y uno de mis parches llegó al upstream. SLOB ya está retirado, pero fue una experiencia que, en mis años de inicio en embebidos, me mostró lo divertido del hacking homebrew. Como dato curioso, una DS modificada todavía impulsa una parte importante del equipamiento de nuestro observatorio local.
Hace poco me metí a fondo en el homebrew de DS y encontré muchas cosas geniales. Cosas como una calculadora de Yu-Gi-Oh!, reproductores de MP3 y ports de Doom.
En particular, me encanta el hardware de la DS Lite y la DSi. Incluso en 2023 se sienten bien al usarlas, y las pantallas simétricas son excelentes para sostenerla en vertical y leer ebooks o jugar Hotel Dusk. También tiene My Chinese Coach, un software increíble para aprender chino, y al menos otros dos paquetes homebrew enfocados en chino, como DS Zhongwen. La DS está subestimada, tiene muchos buenos juegos y es una máquina ideal para emulación. También me gusta que no sea demasiado potente ni esté obsesionada con gráficos “realistas” que se comen la batería.
Varios de mis amigos más cercanos hoy trabajaban en otros proyectos, incluido el autor de DS Linux. Por casualidad, todos terminamos más tarde trabajando en varias empresas tecnológicas de Silicon Valley, y décadas después volvimos a encontrarnos en la vida real.
También hice otras cosas, como Knytt Stories DS. Crear homebrew para Nintendo DS fue una experiencia excelente, y las limitaciones y posibilidades del hardware daban suficiente espacio para desplegar tanto creatividad como desafíos de ingeniería.
Si tienes una 3DS, también vale la pena revisar el proyecto TwilightMenu. Es un clon de DSiMenu que permite cargar títulos homebrew y otras cosas desde la tarjeta SD, y también soporta flashcards.
[0]: https://github.com/BASLQC/vnds
El artículo de Wikipedia que estaba enlazado en el sitio web fue eliminado por “falta de notoriedad”, pero el archivo sigue existiendo: https://web.archive.org/web/20170708075915/https://en.wikipe...
Es un proyecto equivalente que corría en el iPod, y también está basado en μCLinux.
Me alegra muchísimo ver esto en la portada de HN. Durante varios años participé en DSLinux.
Mantenía builds nightly casi todos los días en mi sitio web. En ese entonces mis habilidades de C y programación de sistemas todavía eran de principiante, así que creo que nunca contribuí código, pero sí hice bastantes pruebas y ayudé a la gente de la comunidad. Vendí mi Nintendo DS, pero la Supercard que usaba para almacenar y arrancar Linux todavía debe estar por ahí en algún lado. Se veía así: [https://wiki.gbatemp.net/wiki/File:SuperCard_CF_V2.jpg](https://wiki.gbatemp.net/wiki/File:SuperCard_CF_V2.jpg)
El mérito de haber hecho posible este trabajo increíble corresponde en gran parte a algunas personas, en especial Malcolm Parsons (pepsiman), Stefan Sperling, quien más tarde se convirtió en desarrollador de OpenBSD, y Amadeus: http://dslinux.org/wiki/ContactingDevelopers.html
No es exactamente un equivalente moderno, pero una Nintendo Switch modificada puede hacer arranque dual con algunas imágenes de Linux: https://wiki.switchroot.org/
Como está basada en los drivers oficiales de Tegra, aunque ya estén algo viejos, puede ejecutar una cantidad sorprendente de cosas. Probé SkiFree en Box86 y con eso me di por satisfecho
Incluso los chips de DRAM son exactamente el mismo modelo, aunque eso seguramente se debía más a que eran piezas bastante genéricas y a la relación del fabricante con sus proveedores. Hasta ahora, podría considerarse lo más cercano a una distribución de Linux con soporte oficial en hardware de Nintendo
Curiosamente, se basa en parte del mismo trabajo de uCLinux que otro artículo que ahora está en la portada de HN
789 KB Linux Without MMU on RISC-V
https://news.ycombinator.com/item?id=37822082
Cuando estaba en la secundaria, ejecutaba DS Linux desde un cartucho M3 y salía en bici por el barrio haciendo wardriving
Casi había olvidado que esto existía; gracias por compartirlo, me trajo un recuerdo divertido. Todavía tengo la DS y el cartucho M3, pero la tarjeta SD con aquella compilación desapareció hace mucho
Recuerdo haber instalado este homebrew en mi DS cuando tenía como once años
En ese momento no tenía ni idea de qué era Linux, pero gracias a DSLinux se profundizó mi interés por la ciencias de la computación. Gracias a quienes lo hicieron y a todos los que contribuyeron código
Esta fue mi puerta de entrada a Linux. Gracias a quien haya empaquetado BSDgames[0] y Frotz[1]
Gracias a eso desarrollé un gusto de por vida por las aventuras de texto y la ficción interactiva. Imaginen la sorpresa de un niño que husmea en el directorio bin, escribe “advent” en el prompt esperando una simple app de calendario de Adviento, y termina cayendo en un mundo completamente distinto[2]
[0] https://wiki.linuxquestions.org/wiki/BSD_games
[1] https://davidgriffith.gitlab.io/frotz/
[2] https://en.wikipedia.org/wiki/Colossal_Cave_Adventure
Más adelante ejecuté cosas como advent y battlestar en Linux con Frotz para Unix, junto con trek, y quedé completamente enganchado
Hace unos meses busqué esto porque quería conectarme por SSH desde una DSi a mi servidor. Era solo por hacerlo en broma
No pensaba meterme tan a fondo, así que cuando el Wi-Fi no “simplemente funcionó”, me rendí, pero algún día quiero lograr correr SSH ahí
Todavía tengo mi DSi y aún funciona, pero recuerdo que DSLinux no funcionaba