Cómo hacer un Live-CD...

Iniciado por BADBYTE-K, 22 Octubre 2003, 14:34 PM

0 Miembros y 1 Visitante están viendo este tema.

BADBYTE-K

holas
encontre un interesante artikulo kon la explicación de komo hacer un CD a partir del Knoppix

El autor es Juan Jesús Ojeda Croissier y lo comparto con ustedes.

Tabla de contenidos

1. Introducción
¿Qué es un Live-CD y porque Knoppix es tan buena?
¿Qué hace falta?
2. Haciendo un Live-CD
Partiendo del Knoppix
Modificándola
Crear el CD
Lista de ejemplos

1.1. Script para copiar la Knoppix en el disco duro (cp_knoppix.sh)
2.1. Script para generan la imagen del CD y tostarlo (crea_cd.sh)
Capítulo 1. Introducción
Tabla de contenidos

¿Qué es un Live- CD y porque Knoppix es tan buena?
¿Qué hace falta?
Esto es una guía para hecer tus propios Live-CDs. Lo que se ve a explicar es como crear el sistema base del CD, para a partir de ahí, añadirle todo lo que necesitemos.

¿Qué es un Live-CD y porque Knoppix es tan buena?
En primer lugar, vamos a ver qué es un Live-CD. Pues no es más que un sistema operativo funcional que se puede ejecutar directamente desde un cd, en vez de tener que hacerlo desde el disco duro.

Hace ya mucho tiempo que existen estos sistemas, e incluso existen sistemas tan pequeños que se ejecutan desde un disquete. Así que, ¿por qué ha gustado tanto a la gente la 'distribucion' Knoppix?

Pues eso obedece a varias razones, pero una de ellas se entendera mejor cuando expliquemos cómo funcionan estos sistemas. En realidad, dichos sistemas, no funcionan directamente desde el cd-rom, o la disquetera, esto sería exesivamente lento. En vez de eso, lo que hacen es crear un sistemas de ficheros en la memoria ram y despues copian en él, una imagen de un sistema instalado.

De esta manera utiliza la memoria ram, como si se tratase del disco duro. Ésto tiene sus ventajas, no necesitas disco duro, ni instalar nada, no tienes que perder tiempo en instalaciones, puedes utilizar cualquier equipo que esté soportado por el sistema que uses, sin importar que tiene instalado, y ademas puedes probarlo, sin riesgo a estropear el software del equipo.

Pero también tiene sus inconvenientes, que básicamente son dos: cualquier cosa que hagas , desaparecera cuando apagues el ordenador, y el tamaño del sistema que se usara, no podrá ser mayor que el tamaño de la memoria ram. Podríamos añadir que también depende del medio físico que se use, ya sea uno o varios disquetes, o un cd-rom. Realmente no es del todo cierto que el tamaño de la ram sea el límite, podria usarse una partición swap para aligerar la ram, o aumentar el tamaño virtual de la misma. Con lo que se aumentaria el espacio utilizable.

Aquí es donde entran alguna de las virtudes de Knoppix. Ésta distribución se basa en el mismo sistema que las demás, salvo por una diferencia, usan un driver cloop, con el que se consigue una compresión y descompresión bajo demanda. Lo que significa, que no es necesario que este todo el sistema metido en la ram, sino, sólo aquellas aquellas partes esenciales que vayan haciendo falta en cada momento.

Ésto, por si sólo, ya sería bastante para aumentar las posibilidades de usar live-cds en maquinas sin memorias ram moustruosas, pero también trae consigo otra ventaja. Con ese driver, se consigue una compresión bastante buena, con lo que se puede guardar un sistama operativo instalado, de hasta unos 1,8 Gb, en un cd-rom de 650 Mb.

Pero ésto no es lo que le ha dado más fama a la Knoppix, sino que estando basada en una de las distribuciones más estables, pero más complicadas de instalar (por problemas al configurar el hardware), como es Debian, tiene un sistema de detección de hardware impecable, que detecta y configura casi todo lo que se le ponga por delante. Y además a una velocidad asombrosa.

¿Qué hace falta?
Bueno, ahora que ya sabemos más o menos como funciona y que es la Knoppix, vamos a ver que necesitamos para crearnos nuestra propia versión, con nuestro software favorito y nuestras configuraciones.

Evidentemente, una de las primeras cosas que necesitamos es un equipo con Linux instalado y un disco duro bastante grande.

Al tener que crear un sistema completo de unos 1,8 Gb, necesitaremos al menos 2 Gb, para poder trabajar con él antes de comprimirlo. Ademas necesitaremos espacio para la imagen comprimida del sistema y la imagen del cd. Se podría hacer teniendo unos 3 Gb libres en el disco duro. Tambien hara falta bastante memoria o sino una partición o archivo swap considerable, unos 2 Gb. Ésto es para la compresión.

A continuación mostramos el sistema ideal:

/dev/hdaX       ext2    /mnt/sources    -> almenos 2 Gb
/dev/hdaX       ext2    /mnt/master     -> 700 Mb
/dev/hdaX       ext2    /mnt/iso        -> 700 Mb
/dev/hdaX       swap    swap    -> 2 Gb

Claro esta esto no tiene por que ser así, yo tengo bastante ram una partición swap de 260 Mb y me hice un archivo swap en una partición de win de 1,5 Gb (no explico como se hace porque viene en el man muy sencillito). Después tengo en un directorio de la partición raíz (/), donde tengo descomprimida la distro, y en otra partición tengo dos directorios, uno para la imagen comprimida y otro para el iso. Como el script va borrando las imagenes que ya no hacen falta, con tener en esa particion 750 Mb libre tengo para las dos cosas.

Los nombres de los directorios son los mismos que los de los scripts, por claridad.

Bueno, una vez tenemos esto listo debemos tener instalados dos paquetes:

   cloop-src - Source of the compressed loopback device module
   cloop-utils - Tools for handling with cloop compressed volumes

Ya saben, apt-get install y todo listo. Bueno casi, porque hay que compilar un módulo para el kernel, a partir de las fuentes de cloop. Eso lo explica facilito el cloop.README, que viene con el paquete y que está en el modulo del CVS de Gnome-hispano: gnome-live-cd

Ahora si que tenemos todo listo para pasar la knoppix al disco duro. Metemos el CD, lo montamos y ejecutamos como root el siguiente script:

Ejemplo 1.1. Script para copiar la Knoppix en el disco duro (cp_knoppix.sh)

#/bin/bash

# Path de la imagen comprimida de Knoppix.
# Suponiendo que este montado el CD en /cdrom
IMAGE=/cdrom/KNOPPIX/KNOPPIX

mkdir /mnt/tmp

# Instalamos el modulo para poden montar el fs cloop
insmod /lib/modules/misc/cloop.o file=$IMAGE
# Montamos el dispositivo cloop en el dir temporal que creamos antes
mount -o ro /dev/cloop /mnt/tmp
# Copiamos la distribucion descomprimida al directorio en donde trabajaremos con ella.
cp  -Rp /mnt/tmp/* /mnt/sources

# Desmontamos el dispositivo cloop
umount /mnt/tmp
# Quitamos el modulo del fs cloop
rmmod cloop

rmdir /mnt/tmp

Capítulo 2. Haciendo un Live-CD
Tabla de contenidos

Partiendo del Knoppix
Modificándola
Crear el CD
Partiendo del Knoppix
Modificándola
Una vez hecho esto, tendremos la knoppix en nuestro HD y podremos modificarla como queramos. Pero para eso necesitamos estar en el directorio de la distro en chroot. Nada mas facil:

      # chroot /mnt/sources
Ahora estamos en ese directorio como si fuera el directorio raiz (/), y todo lo que ejecutemos se ejecutara en ese sistema y se quedara guardado todo lo que modifiquemos. Es importante que antes de nada, montemos el directorio /proc :

      # mount -t proc /proc proc
Tambien deberiamos editar el /etc/resolv.conf (de la knoppix siempre), para poder instalar y desinstalar con apt, porque este archivo esta vacio. Y deberiamos comprobar las sources del apt, porque a lo mejor hay otras mas cercanas a ti que las de Alemania... ;)

Ya estas en un sistema normal y puedes instalar y desinstalar a gusto. Eso si, ten en cuenta que hay algunos paquetes de configuracion instalados que no deberias tocar mucho, porque son los que detectan el hardware y eso. Se pueden identificar mas o menos facil, porque suelen poner Knoppix o Knopper por algun lado.

Una vez hayas modificado la distro, haz "apt-get clean" para dejarlo mas limpio y borra todos los rastros de que has estado ahi(.bashistory, /etc/resolv.conf, usuario/s creados, y demas). Despues desmontamos el /proc ( umount /proc ). Y salimos con "exit" o Ctrl-d.

Comprobemos que no ocupe mas de 1,8 Gb, si queremos que quepa en un cd de 650 Mb.

      # du -ch /mnt/sources
Si esta todo bien, copiemos el archivo "boot.img" que se encuentra en el CD de Knoppix en : /cdrom/KNOPPIX/boot.img , en el directorio que usaremos para crear la imagen final del CD(/mnt/master) y quitemos el CD de Knoppix y pongamos uno grabable o mejor regrabable en la grabadora de cds.

Ahora podemos modificar el arranque del cd, pero como este mail es ya muy largo y esta todo bien explicado en el modulo del CVS, lo miran ahi. Si no hemos activado la swap es el momento de hacerlo:

      # swapon /dev/particion_swap ( o archivo swap)
Yo en este momento, suelo apagar las X y me voy a hacer otras cosas mientras ejecuto el script crea_cd.sh en una terminal. Tardara mas o menos, de pendiendo del equipo que tengan, pero creo que me suele tardar una hora o asi(incluido el borrado y escritura del cd).

No se olviden de modificar los scripts, poniendo los directorios que usen ustedes.

Crear el CD
Ejemplo 2.1. Script para generan la imagen del CD y tostarlo (crea_cd.sh)

#/bin/bash

# Directorios que se van a usar:
# directorio donde esta descoprimida la distro(Knoppix modificada) -> unos 2 Gb
SOURCES=/mnt/sources
# directorio con el que se va a crear la iso final. Contiene el boot.img -> entre 600 y 650 Mb
MASTER=/mnt/master
# directorio en donde se va a guardar la iso final, el cd para tostar  -> entre 600 y 650 Mb
ISODIR=/mnt/iso

# Primero crea una imagen ISO de la distro
mkisofs  -R -L -allow-multidot -l -V "Gnome-Live iso9660 filesystem" -o $ISODIR/gnome.iso -hide-rr-moved -v $SOURCES

# Despues comprime la imagen y crea una imagen comprimida (KNOPPIX)
create_compressed_fs $ISODIR/gnome.iso  65536 > $MASTER/KNOPPIX/KNOPPIX
# Borra la imagen ISO de la distro
rm -rf $ISODIR/gnome.iso

# Ahora crea el la imagen ISO final con lo que haya en el directorio $MASTER.
#Y crea el sector de arranque con el archivo $MASTER/KNOPPIX/boot.img
mkisofs -l -r -J -V "Gnome-Live-CD" -hide-rr-moved -v -b KNOPPIX/boot.img -c KNOPPIX/boot.cat -o $ISODIR/gnome_cd.iso $MASTER
# Borra la imagen comprimida de la distro
rm -fr $MASTER/KNOPPIX/KNOPPIX

# Ahora se tuesta el CD
# Si es un regrabable (muy recomendable para hacer pruebas) se borra.
#cdrecord -v dev=0,0 blank=all

# Y ahora se tuesta. Se puede cambiar la velocidad de la grabacion, si tu grabadora te lo permite
cdrecord -v speed=4 dev=0,0 $ISODIR/gnome_cd.iso

# Se borra la imagen ISO final
rm -fr $ISODIR/knoppix_cd.iso

interesante no?

saludox

sikik

pero esa live te detecta el hardware y carga los modulos al kernel  tal o solo funciona en el pc en que la hayas hecho?
"Social Engineer -> Because there is no patch for human stupidity".
"Però qui s'ha inclinat sobre l'abisme, qui ha vist, patirà per sempre la temptació de tornar un altre cop a aquest punt negre en el qual les tenebres il·luminen(...)"
Warning: shell_exec() has been disabled for security reasons at line 274.

fandango


sikik

"Social Engineer -> Because there is no patch for human stupidity".
"Però qui s'ha inclinat sobre l'abisme, qui ha vist, patirà per sempre la temptació de tornar un altre cop a aquest punt negre en el qual les tenebres il·luminen(...)"
Warning: shell_exec() has been disabled for security reasons at line 274.

BADBYTE-K

funciona tal cual una live cd... claro, basada extremadamente en knoppix.
lo que necesitas es algo de espacio y sobre todo los paketes cloop-src y cloop-utils lo demas es basicamente una receta secuencial

saludox


[[74V4R0]]

puedo agregar propios wallapapers en esa Live CD y cambiar las imagenes de boot, ?

me refiero a la LIVE CD que estoy voy a crear usando el texto que posteastes

r0b0k

e escuchado que hay un programa que crea imagenes para hacer un live cd! que incluso viene con plugins predeterminados
que saben de ese programa? sera bueno?? a mi parece creo que no!

Isirius


Yaron

Como puedo conseguir un knoppix modificado, ya que en mi ordenador no puedo instalar linux para modificarlo yo mismo?

Gracias, Saludos.