[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