¿ Para qué este wiki ?

Debido al desarrollo de mi tesis de grado en Ingeniería Informática (FICH-UNL-Santa Fe-Argentina), tuve la necesidad de organizar la información que a diario encuentro, leo, aprendo y por supuesto olvido, por ese simple motivo en este wiki se va almacenando lo mas ordenadamente posible conceptos teóricos, pruebas, etc.
La idea es que este sitio se vaya construyendo con los aportes de todos aquellos que sientan ganas de ayudar, de modo que en el transcurso del tiempo armemos un buen lugar donde encontrar y concentrar información de interés relacionada con sistemas embebidos mediante la utilización de GNU/Linux.
El contenido del sitio intenta brindar conceptos teóricos y prácticos necesarios para al menos "entender" de qué se trata un sistema embebido basado en GNU/Linux o en su defecto tener una idea de qué es lo que se debe aprender y a qué libros o sitios recurrir. Para comenzar, y si están un poco perdidos pueden leer lo siguiente en la misma página que es una explicación muy general, hay una sección Glosario, donde se explican brevemente los términos generalmente utilizados y que en un comienzo generan gran confusión…
¡¡¡pasen, vean… y obviamente aporten!!!

Y ahora empiezo a entender…

¿Qué es un sistema embebido? Cuando se habla de un sistema embebido se esta haciendo referencia a un dispositivo que, a diferencia de una computadora (PC) de propósito general, es de uso único. Está diseñado para realizar un conjunto específico de tareas u operaciones. Por lo general, son computadoras de una única placa o tarjeta, denominados SBC (del ingles, Single Board Computer). Estos dispositivos funcionan con un sistema operativo almacenados en memorias internas de la misma placa y en la mayoría de los casos son desarrollados por los mismos fabricantes de la SBC. Ejemplos de dispositivos que poseen sistemas embebidos son routers, switchs, firewalls, etc.

¿Qué tengo que saber o aprender? Para implementar un sistema GNU/Linux embebido es necesario comprender diferentes temas relacionados con sistemas operativos GNU/Linux, arquitecturas de hardware, compilación nativa y cruzada, estructura y funcionamiento del kernel Linux, el proceso de arranque (startup o booteo) de Linux, etc.

¿En qué consiste el proceso de implementación de un sistema GNU/Linux embebido? Para implementar un GNU/Linux embebido en un dispositivo de hardware, se debe conocer en términos generales la arquitectura del mismo, es decir, el tipo de micro-procesador que posee, la cantidad de memoria, los buses que soporta, los componentes que posee la placa, etc. Esta información es de vital importancia, ya que al preparar el sistema GNU/Linux que se ejecutará en el dispositivo, se lo debe compilar con soporte para esas características. La tarea de construir un GNU/Linux que se ejecute en este dispositivo objetivo (target) se debe realizar mediante compilación cruzada. Por esto, es imprescindible crear un entorno de compilación cruzada en una computadora de escritorio (host), bajo este entorno se realizará la compilación del kernel, del sistema de archivos y de las aplicaciones que luego serán ejecutadas en el dispositivo. Por último se debe realizar el traspaso del sistema GNU/Linux al equipo objetivo, dos posibles maneras de transferir el sistema es utilizando un medio externo como una memoria compact flash, o mediante una red, utilizando el protocolo NFS.

Palabras claves GNU/Linux, sistemas embebidos, compilación cruzada, kernel, sistema de archivos raíz.

Noticias y novedades

Mi blog: YoSobreIP - Blog relacionado con GNU/Linux y Software Libre en general.

Por favor, no olviden dejar sus comentarios y/o críticas constructivas/destructivas. emiliano [dot] lopez [at] gmail [dot] com

Contenido del sitio

Ver contenido del sitio

Add a New Comment
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License