Bueno chicos, vamos a empezar por una de las cosas por las que tengo mas ilusion, nuestro propio systema linux, adaptado a billy
En estos momentos, BILLY va por buen camino, tengo instalado el sistema base, con las X instaladas, y los programas provisionales de billy (pruebabilly, X11vnc y sacar) ya instalados, A parte tambien ya esta instalado el programa camstream, que es el que me dejara ver lo que ve billy cuando se mueva
En este punto billy utiliza 120 Mb de memoria de programa mas los 300 Mb por pasar el arbol a memoria
Voy a explicar que pasos mas o menos siguiendo
Vas la la pagina del proyecto LFS (teclea en google mientras pongo el enlace)
practicamente si sigues los pasos, no vas a tener problemas, eso si si eres novato en linux, mejor que no lo intentes, hasta que aprendas a desenvolverte en la consola
te lees de la pagina del proyecto BLFS, el tema de los PATH y similares, luego instalas las X(del proyecto BLFS) (xfree, que pide menos instalacion)
No hace falta ni administrador de ventanas, XFree ya lleva uno, (cosa que no sabia, es menos estetico, pero para billy va bien)
Luego ir quitando poco a poco, lo que no sea necesario (normalmente donde mas abultado es el directorio es en /usr/
Actualmente estamos en 350MB y 22 segundos de arranque desde el cargador (desde disco duro), contando el tiempo de pasar imagen a memoria y arrancar X, x11vnc y el programa de control de billy. !Rapido !, esto es en un ordenador normal, Ahora ya estoy en una fase mas avanzada, y ya arranco directamente en un disco duro conectado a la placa base definitiva, Aqui los tiempos se an quedado (por ahora en unos 70 segundos), por lo que me he dado cuenta, la mayoria depende a la memoria, que es lenta
Se va a tener que cambiar el sistema de arranque desde pendrive, ya que estas placas tienen un problema con el arranque USB, que es muy lento, se va a probar a poner un adaptador IDE a FLASH, a ver que tal va
CREANDO BILLY:
Para evitar problemas, estoy haciendo lo siguiente. estoy pasando todos los archivo que quito, a un archivo de imagen de unos 800 MB, el cual monto en /eliminados, dentro del cual tengo los directorios igual que el sistema base, lo que son directorios que no quiero, los enlazo a esta imagen, los que son archivos de locale, o cosas similares, simplemente los paso sin eliminar, al mismo directorio donde estava, pero en la imagen
cada vez que hago algun cambio que yo creo inportante, reinicio sin la imagen montada y veo si va bien, si no la monto y todo vuelve a funcionar
ACCIONES:
Como crear imagen
1º: dd if=/dev/zero of=billy.img bs=1k count=800000
En pocas palabras le he dicho que cree un archivo de imagen de unos 800000 bytes con el nombre de billy.img. (bs=1k:los bloques creados son de 1k) (count=800000:crea 800000 bloques)
2º: mke2fs -m0 billy.img. En este punto te dice que no es un sistema normal de bloques y te pide continuar, tu le dices que si
3º mount -o loop billy.img /eliminados : Le dices que monte la imagen en el directorio eliinados
Esto tambien se utilza para crear la imagen de billy cuando en el arranque la pasas a memoria.Para hacer esto necesitas
Despues de haber eliminado lo que quieres, debes de saber que tamaño mas o menos se va a quedar tu arbol (lo haces desde otro SO o liveCD), debes de darte cuenta, que no debes contarlo con /proc montado, porque te dara una mala informacion ya que es un directorio virtual que apunta al sistema y abulta bastante
Sigues los pasos 1, 2 y 3 igual, pero a la imagen le das otro nombre,y la creas con un tamaño mas o menos mas grande al que has calculado, lo unico que te puede pasar es que te quedes corto y no te quepa
luego comprimes la imagen con gzip -9c billy.img > billy.img.gz : la opcion de -9c le indica que comprima lo maximo (puedes utilizar la 1c que es mas rapida) el ">" le indica que pase la compresion a billy.img.gz
ARRANCAR EL SYSTEMA EN MEMORIA
Por el momento solo se arrancarlo, una vez que el systema ya arrancado, antes de las X. Yo lo que he hecho es una vez acaba con rc5.d (nivel de ejecuion con X), en el ultimo script le añadi uno mio, con esto
#!/bin/bash
mke2fs -m 0 /dev/ram0 Esto formatea la memoria con un sistema de ficheros ext3
gzip -dc billy.img.gz > /dev/ram0mount /dev/ram0 /billy (/billy es un directorio para montar solo)
chroot /billy /usr/bin/arranque (con esto le dices que pase al arbol que hay en /billy y que ejecute /usr/bin/arranque
El script arranque una de las cosas que tiene son algunos PATHS necesarios, mas la orden de montar /proc, que para algunas cosas es necesario, y de arrancar X luego vere si realmente hace falta
por ahora es lo que he averiguado, si alguien tiene alguna sugerencia o alguna pega con lo aqui escrito que me envie algun e-mail y le contestare