You are on page 1of 2

Es comn -entre los aficionados a la electrnica- la pregunta de si es posible correr Linux en un microcontrolador de 8 bits.

Usualmente la respuesta es no e incluso, salpicada de algunas burlas. Parte de la dificultad son las necesidades de Linux en trminos de hardware. Se dice que se necesita una arquitectura de 32 bits y al menos un megabyte de RAM para poner el krnel. Sin embargo, he aqu a alguien que decidi demostrar la factibilidad de poner Linux en mquinas de 8 bits. Sin duda asombroso. El proyecto se basa en usar un microprocesador ATmega1284p. Tambin el autor de este proyecto tuvo xito al armar una tarjeta similar usando el procesador ATmega644a. El sistema arranca Linux 2.6.34. De hecho, puede cargarse Ubuntu completo, incluyendo -si se tiene tiempo- X y Gnome. Pero cmo se solucion el problema de la memoria? Es cierto que Linux requiere de muchos megabytes y un procesador de 32 bits. Para lidiar con el problema de la memoria, se us un SIMM de memoria, de los que son comunes en mquinas 80286. El autor escribi el cdigo para acceder y refrescar la memoria dentro de las especificaciones (se requiere en todo SDRAM el refrescar constantemente la memoria para no perder datos). La interrupcin que refresca la memoria se da cada 62 ms y toma 1.5ms comindose el 3% del uso del procesador. El RAM se accede byte por byte y por ende, se tiene un mximo de 300 bytes por segundo de acceso. Pero ms difcil parece ser el poder ejecutar cdigo de 32 bits en un procesador de 8 bits. El autor, Dmitry, decidi escribir un emulador para ARM. La arquitectura de dicho procesador le es familiar al autor, por lo que no le cost mucho trabajo escribir dicha pieza de software. Por qu escribir el emulador en lugar de portar uno? La respuesta de Dmitry es estupenda: porque es divertido. Pero aparte de lograr arrancar Linux en 8 bits, la tarjeta que arm (y dise) Dmitry permite comunicarse con el mundo real mediante un puerto serial. Pero qu tan rpido es? Dmitry aclara que su mquina con Linux de 8 bits no es la ms rpida del mercado. Toma 2 horas, s, dos horas, en bootear hasta que da el prompt de bash. Tom 4 horas ms para bootear Ubuntu. Iniciar X todava es ms lento. La velocidad de reloj emulada es de unos 6.5 KHz. Curiosamente, una vez que el sistema ha arrancado, se puede usar (relativamente), tomando un minuto, quizs menos, en obtener una respuesta de algn comando escrito. Para el autor, su proyecto es quizs la mquina ms barata, lenta, simple de ensamblar a mano, con el menor nmero de partes, que se puede tener para ejecutar Linux. El autor ha puesto a disposicin de quien dese, toda la informacin necesaria para hacerse de esta mquina de 8 bits con Linux. En mi opinin, un esfuerzo asombroso. El video demostrativo a http://www.youtube.com/watch?feature=player_embedded&v=nm0POwEtiqE continuacin:

You might also like