DSLinux: Linux corriendo en un Nintendo DS

Sabía que había la posibilidad de instalar Linux en un PS3, en un Wii, incluso correrlo en un móvil (que de por sí ya trabaja con el Kernel Linux) y verlo con un servidor VNC… Pero, ¿En un Nintendo DS? No llegué a pensar que Linux funcionara en un dispositivo con hardware tan poco potente… y lo subestimé. Les enseñaré como instalarlo y configurarlo para su uso, no es nada complicado pero se requiere algo de experiencia con la línea de comandos para usarlo.

DSLinux es una mini-distribución Linux escrita en C y Ensamblador (ARM). Es capaz de correr en Nintendo DS (Fat y Lite, no DSi ni DSiXL) usando una flashcard de Slot 1 o 2 (DS o GBA). Es impresionante que pueda correr con un procesador ARM a tan baja frecuencia y solo 4MB de RAM, lo que confirma la flexibilidad de Linux en cuanto a Hardware.

Incluye los comandos básicos del Kernel (cp, mkdir, wget, rm…), algunas aplicaciones en terminal (como Links, madplay, nano…) y juegos en terminal (advent4, adventure y algunos juegos de freeBSD). A continuación sus ventajas:

  • Poder disfrutar de Linux a donde vayamos (feel like a linux geek xD).
  • Reproducir música, tanto de la SD como por WiFi.
  • Navegar en internet con Links.
  • Reproducir música con madplay.
  • Editar textos con y vi.
  • Hacer multitasking (se necesita una expansión de RAM Slot 2).
Que bien, ¿no? Ahora, también tiene desventajas:
  • Parte de las aplicaciones y el modo gráfico (con PIXIL) requieren de una expansión de RAM.
  • No podemos cargar homebrew o juegos desde él (esto lo suponíamos no?).
  • No es compatible con DSi(XL) o 3DS (no esta soportado el hardware).
  • Esta fuera de desarrollo (parcialmente).
  • Pocos paquetes disponibles, no posee repositorios ni similares (aunque es posible adaptar paquetes a ARM para ejecutarlos con DSLinux).
Aún así, si queremos utilizarlo de todas formas simplemente para probarlo, a continuación les diré como.

Bueno, lo primero que tenemos que hacer es ver si cumplimos con los requisitos:

  • Un Nintendo DS Fat (de los primeros, los gruesos) o Lite (los segundos, que son delgados). DSLinux no es compatible con DSi, menos con DSiXL o 3DS.
  • Una Flashcard de Slot 1 ó Slot 2, mejor si es de Slot 1 (cualquiera que soporte autoparcheo de DLDI, la mayoría lo hacen).
  • Recomendado: una Expansión de RAM Slot 2 (mínimo una Opera Expansion o una EZ-V 3 in 1) para el modo gráfico y parte de los programas.
  • Opcional: Conexión WiFi, para navegar y juegos (si, oyeron bien, se puede navegar). Todos los routers se configuran de forma diferente, así que algunos no son compatibles…como mi Intellinet Wireless 150N :"(
  • Mínimo 150MB de espacio libre en la tarjeta SD de nuestra Flashcard.
Ahora, debemos descargar DSLinux, aquí en su página de descargas. También si se creen aventureros, pueden compilarlo a mano (desde Linux, claro está).
En mi caso, bajé el paquete DLDI, que sirve para la mayoría de las flashcards (dslinux-dldi.tgz). Si vamos a ejecutarlo desde un GBA Movie Player, bajen la segunda build. Las demás es casi imposible que las usemos, así que las ignoraremos 😛
Lo siguiente es descomprimir el paquete.
Obtendremos dos archivos (dslinux.nds y dslinuxm.nds) y una carpeta llamada linux. La diferencia entre los dos archivos es que el segundo tiene algunas aplicaciones modificadas para aprovechar la RAM extra, como Nano-X y madplay.
En la carpeta linux encontramos algunas de las clásicas carpetas es toda distro, como etc, var, lib, usr, y como nó, home.
Con el primer archivo y la carpeta basta, asi que las copiaremos a nuestra tarjeta SD usando un lector de tarjetas micro SD.
Una vez listo todo, insertamos la micro SD en la flashcard, la flashcard en nuestro DS, y lo encendemos.
Ejecutamos la aplicación de DSLinux (se distingue más que nada porque su logo es Tux).
Comenzará a iniciar, luego (si elegimos la versión DLDI) se logueará autmáticamente como root. Sino, el user es root y la contraseña es uClinux (nótese la C mayúscula).
Una vez logueados, saldrá el símbolo de root (#). Si no eligieron la versión DLDI, pueden cambiar la contraseña de root escribiendo passwd (eso es opcional) y colocando una contraseña de mínimo 5 caracteres.

Creando/modificando el rc.conf

Aquellos que ya tienen experiencia en Linux conocerán el rc.conf. Para los que no, es un archivo en el que se guardan configuraciones del sistema operativo. En este caso, son configuraciones de DSLinux. Este archivo debería estar ubicado en linux/etc/rc.conf, pero si revisamos no lo encontraremos. Por tanto hay que crearlo, pero no se preocupen, que los desarrolladores incluyeron en esa misma carpeta las configuraciones por defecto en un archivo llamado rc.defaults.
Lo que vamos a hacer (preferiblemente desde nuestra PC, con el lector de tarjetas micro SD) es copiar el contenido de rc.defaults a rc.conf.
Dentro hay algunas configuraciones que podemos editar, pero yo me centraré en un par nada más, las esenciales.
  • Primero que nada, donde pone hostname, es el nombre del equipo y podemos cambiarlo si deseamos, aunque no sirve de mucho…
  • Después, donde dice “enable_network_on_boot“, es para que el Wifi se inicie automáticamente al iniciar DSLinux. Si van a configurar WiFi, lo cambiamos a “YES” (con todo y comillas). Sino, lo dejamos en “NO”.
Si tenemos conexiones WiFi configuradas en nuestra consola, podemos usarlas poniendo un número del 1 al 3 (cada uno corresponde al número de la configuración en nuestras consolas, si no recuerdan, revisen con algún juego que tenga dicha configuración). esto solo funciona con Routers, no con Nintendo WiFi USB Conector. Sino, lo dejamos vacío.
Si preferimos configurar el WiFi a mano, vamos abajo, donde pone “essid” colocamos el nombre de la red, opcionalmente, abajo en “channel” colocamos el canal por el que se conectará nuestro DS (solo si nos da problemas de conexión). En “wepkey” va nuestra clave wep (sino usamos clave queda vacía). Si nuestro router no soporta DHCP, o preferimos usar una IP estática, asignamos la “ip” y “gateway” en sus respectivos lugares, más abajo colocamos mascara de red en “netmask” y el “broadcast” (aunque no se para que es : / ), también una o dos DNS.
  • Si queremos cambiar la fuente de la terminal (aunque a mí me “crasheaba” el sistema), más abajo, en donde pone “font” colocamos “/usr/share/consolefonts/alt-8×8.psf” (con todo y comillas).
Eso es básicamente la configuración. Si algo no les funciona, desactívenlo.
Si quieren pueden probar con las demás opciones (las recomiendo solo si contamos con una expansión de RAM).
Manejarnos en la tty (terminal) es sencillo:
  • Pad direccional: mover el cursor que parpadea.
  • A: Enter
  • B: barra de espacio
  • X: Página arriba
  • Y: Página abajo
  • L: Shift
  • R:Control
Por lo tanto, para subir o bajar el “buffer” de la tty (terminal) presionamos L+X y L+Y respectivamente.
DSLinux puede usarse para una enorme variedad de cosas, tantas que es imposible describirlas todas en este artículo. De todas formas, aquí les dejo la sección sobre su uso, donde encontraran como navegar por internet, jugar en la terminal, correr el modo gráfico (algo inestable), montar un servidor web, reproducir música (e incluso por streaming con wget! :O ) y más.
También, por desgracia, DSLinux es un proyecto abandonado, o más bien basado en contribuciones. Son libres de modificar el codigo fuente a gusto y subir los cambios (o no) a su página oficial. Allí encontrarán mucha información respecto al desarrollo y uso.
Saludos a todos los lectores!


11 comentarios

  1.   Son Link dijo

    Intente correrlo (tengo una Lite) pero debido a esas restricciones decidí no volver a intentarlo, incluso pensé en instalarlo en la Wii de un primo para ver si meterle algunos juegos libres

    1.    AurosZx dijo

      En Wii no esperes un rendimento perfecto tampoco, pero debe ser muy bueno. Más que nada porque (si no me equivoco) la distro Linux para Wii se basa en Debian, he leído que con LXDE va bien fluido.

  2.   pandev92 dijo

    No tengo una flashcard, debería comprar una para probar, aunque espero no regarla…

    1.    AurosZx dijo

      Nah, es difícil regarla. Yo lo hice en un ratito, lo malo es que se requiere una expansión de RAM para las mejores cosas : /

  3.   Courage dijo

    Lo conocía pero me daba cosa probarlo, joder ahora sí lo probaría y tiré todas mis consolas de videojuegos a la basura para no viciarme…

  4.   Son Link dijo

    Pues hay Flashcarsd a buen precio, yo tengo una que me costo unos 20€ y la tengo para emuladores y algunas aplicaciones, juegos “piratas” mas bien pocos, rarezas que no han salido en Europa o están descatalogados

    1.    AurosZx dijo

      Si, ya no salen tantos juegos como antes… así que estoy aprendiendo a programar con la NFlib (en NDS) para un mini proyecto que tengo en mente…

  5.   kik1n dijo

    Hii
    Que tal va Linux en Ps3??? No lo e probado

    1.    Courage dijo

      ¿De verdad quieres ganar la lotería sin jugarla? El que no arriesga no gana

    2.    AurosZx dijo

      A menos que tu PS3 esté pirateado (tenga CFW 3.55 o menor) de nada te sirve. Es Ubuntu Feisty Fawn, así que saca algunas conclusiones…

  6. Hola tengo un problema, es que mi FlashCard es una R4i 3ds (www.r4i-gold.eu) y al abrirlo me sale en la pantalla de arriba loading y se queda hay cuando en un juego .nds normal sale arriba y en 2 segundos sale abajo loading y una barra de progreso si me pudierais ayudar a que funcione lo e usado en una NDS Classic (la fat) y no va y en la 3DS que tengo no se mete por que la actualizo pero en la fat no hace nada e probado a meterme en el menu de archivos y se queda en blanco las 2 pantallas yo soy un experto en este tema pero generalmente en la ds no yo me voy mas a el pc y a la wii pero esta consola LA Nintendo DS no me ha llamado mucho la atencion
    PD Tengo la version de la tarjeta a la ultima version disponible hasta hoy
    Salu2 y gracias

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.