[Ayuda] Crear un sistema embebido.

Gustavo Guillermo Pérez gustavo en compunauta.com
Jue Jul 14 21:08:04 CDT 2005


El Martes, 12 de Julio de 2005 17:51, Javier Reyna Padilla escribió:
> He comprado un quipo en el sitio de soekris (www.soekris.com) es un
> procesador Geode, 128 en RAM 3 interfaces de red, lo voy a utilizar para
> implementar un IDP para mi tesina, no tiene disco duro, usa una tarjeta
> CompactFlash, actualmente estoy construyendo el sistema operativo
> utilizando gentoo-embedded, tengo dos preguntas:
>
> 1.- Cual es la traduccion mas adecuada de embedded: embebido, empotrado
> o incrustado?
Opino igual que los demás que debería ser embebido ya que el sistema pertenece 
casi casi al hardware.
> 2.- Que distribucion me pueden recomendar aparte de gentoo para crear el
> sistema embebido, vi algunos proyectos ligados a busy box, pero lo mejor
> que he encontrado es gentoo. Pueden darme alguna otra sugerencia.?
Lo que yo opino es preparar las herramientas y paquetes necesarios 1 por 1 
revisando cuidadosamente los requerimientos y quitando las funcionalidades 
que no son necesarias, por lo general desde el kernel hasta las aplicaciones 
para nfs traen opciones que se pueden habilitar o quitar, en tu caso estás 
limitado por el espacio así que no recomiendo ninguna distribución, sería 
algo facilista, y te traería problemas de espacio en el futuro.
desde hace varios años utilizo busy box en mi sistema compacto basado en 
uClibc, busybox sustituye la gran mayoría de los comandos del sistema de los 
cuales no requiero más funcionalidad que esa, por ejemplo busybox ocupa en el 
peor de los casos 700KB (compilado estático con uClibc) o varios megabytes 
con la glibc.

Busybox funciona por medio de enlaces simbólicos, es decir si hago un enlace 
llamado ls apuntando a busybox, si embebí el soporte para ls en busybox, al 
ejecutar ls, busybox actuará como tal, al compartir funciones y código común 
entre todos los applets embebidos, se ahorra muchísimo espacio.

Acá ofrezco un ejemplo que tiene años de un sistema compacto con busybox, 
carga un kernel, y arranca busybox de un disco ram de un segundo disquete:

wget http://www.compunauta.com/uLinux/MiniLinux/flp.144
dd if=flp.144 of=/dev/fd0
wget http://www.compunauta.com/uLinux/MiniLinux/flp.144.drivers
dd if=flp.144.drivers of=/dev/fd0

Compilar con uClibc o dietlibc y sólo activarle las opciones NECESARIAS, 
produce binarios extremadamente pequeños, que ninguna distribución te ofrece, 
las distribuciones basadas en uClibc, como uClibc ahora soporta más 
funcionalidades que antes por defecto las activan y no produciría los 
binarios más pequeños.

El compilador no sería necesario tampoco porque se utlizaría como cross 
compiler en tu sistema Linux de desarrollo.

Así preparamos nuestra distribución "Compunauta MicroLinux", con uClibc, 
busybox, y modificaciones a CUPS y un montón de paquetes compactos como kaffe 
para java y esas cosas. BusyBox provee hasta dhcp y un micro servidor de 
páginas web que puede usarse para lo que no te imaginas además de los 
comandos para comprimir y descomprimir archivos y preprocesamiento de texto 
como awk, grep o descargar un archivo por web o por tftp y todo eso en menos 
de 800KB.

Saludos, si quieres ayuda para desarmar los disquetes y analizar el disco ram 
y el proceso de arranque de busybox me preguntas.
-- 
Gustavo Guillermo Pérez
Compunauta uLinux
www.compunauta.com

 
_______________________________________________
Ayuda mailing list
Ayuda en linux.org.mx
Para salir de la lista: http://mail.linux.org.mx/cgi-bin/mailman/listinfo/ayuda/



Más información sobre la lista de distribución Ayuda