View previous topic :: View next topic |
Author |
Message |
technocdr n00b
Joined: 19 Jun 2003 Posts: 54 Location: Guatemala
|
Posted: Thu Jun 10, 2004 6:15 pm Post subject: fb-livecd! howto crea tus propios liveCDs |
|
|
fb-livecd! howto
este howto esta basado en 2 ramas de experimentacion que a la postre van a ser una sola, livecd-ng y fb-livecd, al finalizar este howto estaras en la disposicion de crear un livecd basado en gentoo, ya sea en un sistema gentoo o en cualquier otro sistema linux.
Lo primero que tenemos que tener a mano para llevar a buen termino este proyecto es:
1. muchas ganas de experimentar
2. algo de conocimiento de lenguaje script linux
3. paciencia
4. el vmware instalado en nuestro sistema para probar todos los iso's que generemos,
y así no desperdiciar tiempo y CDS
5. conocimientos sobre compilación de kernel
6. por lo menor 2.8 Gbs disponibles en nuestro sistema
7. paciencia + paciencia y ++++ paciencia
Primeros pasos:
debemos de obtener los scripts y profiles de fb-livecd en este link ,el cual se tiene que
desempaquetar en /etc/fb-livecd/ creando con anterioridad el directorio fb-livecd, luego dentro de esta carpeta y desempaquetado el archivo tendremos lo siguiente
19:34:55 Saturday 29. May root@MegaMind/etc/fb-livecd]
# l
total 24K
drwxr-xr-x 4 root root 4.0K May 9 15:41 ./
drwxr-xr-x 61 root root 4.0K May 29 19:32 ../
-rwxr-x--- 1 root root 7.5K Apr 6 09:42 README*
drwxr-xr-x 6 techno users 4.0K Oct 19 2003 profiles/
-rwxr-x--- 1 root root 45K May 7 15:33 fb-livecd*
Luego de esto vemos que tenemos el script fb-live el cual tiene que se movido a /usr/sbin para asi poder ejecutarlo únicamente como root desde cualquier punto. Luego vemos que tenemos el directorio profile en donde se guardaran todas las configuraciones necesarias para la generación de los distintos tipo o sabores de livecd's que necesitemos.
A continuación, necesitamos crear un otro directorio dentro de /etc/fb-livecd que se llamara archives, el cual detallaremos mas adelante. Para todo el proceso de creacion utilizaremos el profile: minimal
Nota: ESTE SCRIPT fb-livecd SE QUEDO SIN UPDATE DESDE HACE YA BASTANTE TIEMPO ES POR ESO QUE SOLO FUNCIONA BIEN CON LOS STAGES 1.4 y con algunos retoques con 2004.0
Esta nota la hago porque ahora se trabaja con los stages 3 del 2004.1 y 2004.1 que va a ser necesario como semilla para la contruccion del livecd! ahora tenemos que configurar: el tipo de semilla y su localizacion, versiones de archivos a usar, configuracion del kernel, y tipo del kernel asi como muchos otros aspectos.
para iniciar esto editaremos:
nano -w /etc/fb-livecd/profiles/minimal/settings y ahi lo primero que buscaremos es la siguiente linea
(cambia la linea CD_STAGETARBALL por una direccion valida)
CD_STAGETARBALL=http://distro.ibiblio.org/pub/linux/distributions/gentoo/releases/
1.4_rc4/x86/x86/stages/stage3-x86-1.4_rc4.tar.bz2 <-localizacion del stage semilla
(ren la siguiente linea puedes colocar mas modulos para que se adjunten el /modules/storage etc)
#modules to auto-detect/copy to the initrd (put in the "/modules/storage" directory)
ejemplo: usbcore usb-uhci uhci usb-ohci usb-storage
(dentro del directorio del profile minimal hay algunas configuraciones predeterminadas para el kernel y las puedes seleccionar en la siguiente linea)
KERNCONFIG=kernel-config-2.4-latest
(aqui puedes elejir el tamaño de tu compressed loop, algunas veces ayuda aumentar si tu paquetería es mucha)
LOOP_SIZE="1000000"
(que clase de kernel vamos a utilizar?, aquí lo puedes elegir)
(
KERNTYPE=sys-kernel/vanilla-sources
(en donde esta nuestro kernel ??, identifica bien aquí el directorio)
KERNDIR=linux-2.4.22
Aqui se declararan los argumentos que seran pasados al kernel al bootear ""
KERN_ARGS=""
Ahora vamos a cambiar el mensaje de bienvenida que nos da el livecd al iniciar
nano -w motd
bienvenidos a Mayix Linux LiveCD! / basado en gentoo!
Al haber elegido la configuración del kernel que deseamos utilizar, podemos hacerle ajustes para que soporte mas tipos de sistemas de archivos, sonido, etc etc.
Iniciemos a seleccionar la paquetería de nuestro livecd!, para hacer esto debemos de editar el archivo stage1-packages en donde se listaran los programas a ser instalados dentro de un directorio temporal y luego comprimidos para ser usados por el CD, en este archivo solo se deben de incluir paquetes que esten estables dentro del portage o sea que no esten enmascarados, si dentro de tu CD quieres correr algunos que se encuentren en este estado puedes incluirlos dentro de stage1-experimental sobre estos archivos no hay mucho que decir porque tan solo son un listado simple, lo unico que se tiene que acotar es que cuando realices tu listado deberas de colocar el nombre especifico del programa según este en el portage, y en forma de columna 1 nombre por fila, todo esto por un bug de este script, nunca se tomo en cuenta que algunos programas cambiarian de posición en el portage, asi que evita colocarlos asi:
"sys-fs/lvm-user" [posición-portage]/[nombre], y solo colocar el nombre, verificando tambien si existe todavía en el portage, como fue el caso de vcron que ahora es vixie-cron.
Nos toca ahora lo laborioso, tedioso y delicado del proceso, que es la creación y modificacion de algunos scripts para que nos funcionen bien.
Creando el script de configuración:
nano w ~/.fb-livecd
CD_DISTDIR=/usr/portage/distfiles # localizacion de tus distfiles
CD_PORTDIR=/usr/portage # localizacion de el portage tree a utilizar
CD_TEMPROOT=/tmp # donde generar el iso (necesitamos aprox + de 1GB)
CD_STAGELOC=/home/chadh/ # donde bajaste el stage3 semilla
Nota: este archivo se crea en /root porque solo como usuario root se puede generar un livecd
Ahora Fetchemos algunos archivos necesarios para la generacion del livecd!
Aquí vamos a utilizar el directorio que creamos al inicio /etc/fb-livecd/archives
emerge syslinux
cp /usr/lib/syslinux/isolinux.bin /etc/fb-livecd/archives/
emerge -f busybox
cp /usr/portage/distfiles/busybox-0.60.3.tar.gz /etc/fb-livecd/archives/
cd /etc/fb-livecd/archives
wget http://developer.linuxtag.net/knoppix/sources/cloop_0.68-3.tar.gz
tambien puede ser desde cualquier otro mirror de gentoo
Como todos sabemos las versiones de los paquetes disponibles cambian, casi a diario entonces necesitamos cambiar estas mismas especificaciones en el script principal fb-livecd:
nano -w /usr/sbin/fb-livecd
y buscamos
.
CLOOP_TARBALL=cloop_1.02-1.tar.gz
CLOOP_DIR=cloop-1.02
CLOOP_TAR_ARGS="-xzf"
BUSYBOX_TARBALL=busybox-0.60.5.tar.bz2
BUSYBOX_DIR=busybox-0.60.5
BUSYBOX_TAR_ARGS="-xjf"
Colocando en sus respectivas variables, las versiones y parámetros correctos para desempaquetar los archivos.
Como paso final verificamos la existencia de los directorios que designamos el archivo de configuración. Terminado esto nos movemos al directorio principal de nuestros profiles, /etc/fb-livecd
Vamos a compilar nuestro livecd!!! YA!!!
Uno de los beneficios de este script es que utiliza ccache, buildpkg y otras cosillas que ya veran para acelerar el proceso de compilación, asi que por eso no se preocupen
Comandos principales
fb-livecd fetch
Baja el stage semilla y demas distfiles que se necesiten
fb-livecd build
Construye el ambiente para el chroot, inicia a compilar el listado de paquetes que tengamos en stage1,2 ademas compila el kernel
fb-livecd cloop
Primero limpia el directorio de lo indeseado que esta listado el /etc/fb/minimal/clean-list y luego crea sistema de archivos compreso
Al momento de estar copiando el /etc a el directorio del CD, para luego ser compreso, si hemos instalado mas aplicaciones o despues de hacer cambios manuales al /etc necesitaremos
fb-livecd rc
Agregamos servicios a los runleves
. fb-livecd minimal rc metalog add default
fb-livecd enter
Entramos al directorio del cd en modo chroot
fb-livecd auxcp
Copiamos algunos archivos de configuracions escenciales que se encuentran en /etc/fb-livecd/profile/global
Comandos secundarios
fb-livecd initrdprep
Prepara el ambiente para la creación del initrd
fb-livecd initrdcreate
Crea el initrd
Despues de cada modificacion al linuxrc o cambio en el o de kernel: debemos siempre crear de nuevo el initrd
fb-livecd kernbuild
fb-livecd initrdcreate
El fb-livecd tambien puede generar mas de 1 kernel para el livecd cambian algunos parámetros en los settings
fb-livecd ckernfetch
Baja kernel secundario
fb-livecd ckernbuild
Compila el kernel secundario
fb-livecd cinitrdprep
prepara el initrd para el kernel secundario
fb-livecd cinitrdcreate
Crea el initrd para el kernel secundario
Tambiern despues de cada modificacion al linuxrc o cambio en el o de kernel: debemos siempre crear de nuevo el initrd
fb-livecd ckernbuild
fb-livecd cinitrdcreate
fb-livecd <profile> isogen
Genera una imagen iso de nuestro live
Ejemplo de la secuencia para generar un livecd! simple
1. fb-livecd minimal fetch
2. fb-livecd minimal build
3. fb-livecd minimal initrdprep
4. fb-livecd minimal initrdcreate
5. fb-livecd minimal auxcp
6. fb-livecd minimal cloop
7. fb-livecd minimal isogen
Listo ¡!! Ya tenemos nuestro liveCD!
Otros comandos no listados
fb-livecd delete
Borra todo lo que hicimos con el build y asi iniciar un proceso nuevo
fb-livecd clean
Limpia el directorio del livecd según inicaciones de clean-list
fb-livecd initrd-delete
Borra el initrd y sus directories temporales
fb-livecd umount
Desmonta todo ejemplo /usr/portage
fb-livecd allB
Realiza todos los procesos de generacion de un liveCD sin intervención humana, hasta crear el ISO
fb-livecd stage1
Compila solo los paquetes del stage1
fb-livecd staege2
Compila solo los paquetes del stage2
fb-livecd buildextra
Compila los paquetes del archivo extra-packages
Bueno hasta aquí nuestro howto!
Espero que les sirva de algo esto, quiero agradecer primero que nada a linus torval por el kernel (supremo), JaRRu (javier) coprogramador de fb-livecd, a Carlitos de Vidalinux.net por el hosting, todo el mundo linuxero!
Si tiene alguna duda o sugerencia voy a crear un foro para discutirlas en el sitio oficial www.mayix.net
Atentamente
Paulo Alvarado (techno)
techno@intelnet.net.gt
(Mayix developer, webmaster) _________________ -=TechnoCDR=-
Paulo Alvarado
Linux User: # 323835
GNU/Gentoo Linux
Kernels: linux-2.6.9
Gentoo-Sources-2.4.26 |
|
Back to top |
|
|
alexlm78 Veteran
Joined: 08 Dec 2003 Posts: 1265 Location: Guatemala,Guatemala
|
Posted: Thu Jun 10, 2004 6:30 pm Post subject: |
|
|
COOL
MAYIX RULES!!!!!!! _________________ "This is a different kind of world, you need a different kind of software"
Linux User# 315201
100% Chapin hecho en Guatemala |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|