Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
fb-livecd! howto crea tus propios liveCDs
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
technocdr
n00b
n00b


Joined: 19 Jun 2003
Posts: 54
Location: Guatemala

PostPosted: Thu Jun 10, 2004 6:15 pm    Post subject: fb-livecd! howto crea tus propios liveCDs Reply with quote

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
View user's profile Send private message
alexlm78
Veteran
Veteran


Joined: 08 Dec 2003
Posts: 1265
Location: Guatemala,Guatemala

PostPosted: Thu Jun 10, 2004 6:30 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
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