Debian Live

Imagen/borrador-avatar.png

Esta sección es un esbozo en construcción. Se aprecian tus aportes y paciencia ;)

1. Que es y para que sirve

DebianLive es una forma muy fácil de hacer un Live CD. Este último es un CD en el cual se tiene instalado un GNU/Linux de tal forma que el sistema operativo completo corre desde el CD sin necesidad de instalarlo en la máquina. Y por qué es fácil? Porque simplemente es darle un único comando para hacer el Live CD.

2. Instalación

Hay que tener instalado Debian (etch o mayor). Para eso instale los siguientes paquetes:

   # apt-get install live-package

Listo ya tenemos lo básico para hacer un sistema live.

3. Inicio para impacientes

Aunque de todos modos hay que tener paciencia porque se demora mucho creando el iso por lo que tiene que bajar todos los paquetes.

Como root digitar los siguientes comandos:

 # make-live                                             -- Esto hace la iso por omisión: Sid con Gnome
 # wodim -v -eject dev=/dev/hdc debian-live/binary.iso   -- Esto Quema la iso en un CD

Reinicie desde el CD y pruebe.

Y listo su primer live-cd

4. Como hacer tu primer Live CD

4.1. Creación de la imagen iso

Ahora vamos a hacer tu primer Live, solo es digitar, como root, lo siguiente:

 # make-live

Si, se demora un rato, paciencia.

Cuando termina, si haces ls puedes ver un directorio llamado debian-live dentro de él hay tres elementos: el directorio chroot, el directorio binary y el archivo binary.iso. El chroot es el sistema de archivos del live, se puede ejecutar con un chroot, el binary es donde está el casper, y el binary.iso es la imagen del live.

Y listo, ya tienes una imagen Debian, con paquetes por omisión.

4.2. Probando la imagen con qemu

Antes de "quemar" la imagen es bueno que verifiques si es lo que quieres, una forma de hacer esto es ver el live con qemu:

  # cd debian-live
  # qemu -cdrom binary.iso

4.3. Quemando tu live

Para quemar el binary.iso puedes usar el wodim:

 # wodim -v -eject dev=/dev/hdc binary.iso

Donde la opción -v es para que podamos ver todos los mensajes (es opcional); -eject es para que cuando termine saque el CD (también opcional); dev=/dev/hcd es el dispositivo donde está el quemador de CDROM; finalmente, binary.iso es la imagen que se va a quemar.

Tambien puedes quemar tu .iso , con gnomebaker, entras a herramientas y quemar imagen de cd y la buscas en la carpeta de debia-live y listo.

Ahora que lo tienes listo solo es reiniciar y probar.

5. Opciones

Hay varias opciones del make-live que lo hacen muy flexible, a continuación algunas:

5.1. Incluyendo listas de paquetes

Con la opción -p se pueden incluir listas de paquetes, la opción es realmente el nombre de un archivo que contiene los nombres de los paquetes que se incluirán para hacer el live. El make-live trae algunas listas ya predefinidas que se pueden ver en /usr/share/make-live/lists/. Una que llama la atención es gnome, así que haremos un live con ese escritorio:

  # make-live -p gnome

5.2. Incluyendo paquetes específicos

También puedes incluir los paquetes uno por uno con la opción --packages. Por ejemplo, puedes incluir el sistema de sonido alsa con gnome:

 # make-live -a i386 -p gnome-core --packages "audacity alsa-base alsa-utils"

Las comillas son necesarias para poder especificar varios paquetes.

5.3. Lista de paquetes en un archivo

Si la cantidad de paquetes es mucha se pude especificar la lista en un archivo, es muy fácil; edite un archivo, y coloque los archivos uno por línea, para nuestro ejemplo llamaremos al archivo paquetes. Una vez hecho eso solo es digitar el comando:

# make-live - paquetes

Donde paquetes es un archivo texto que contiene la lista de paquetes. Hay un ejemplo más completo en Lista de paquetes personalizada.

5.4. Lista de paquetes por Omisión

Si quieres que tu distro tenga ya paquetes determnados siempre que la vallas a generar puedes editar cualquiera de los ficheros de este archivo

# /usr/share/make-live/lists

5.5. La Arquitectura

También se puede especificar la arquitectura del live con la opción -a, en el momento en que se escribió esto hay dos arquitecturas disponibles i386 y amd64.

 # make-live -a i386

Y para hacer un live de amd64

 # make-live -a amd64

5.6. La distribución

También se puede especificar la distribución con la opción -d, sino por omisión se toma sid. Por ejemplo hacer un live de etch:

 # make-live -d etch

O un live de sarge:

 # make-live -d sarge

5.7. Incluyendo secciones de la distribución

Normalmente cuando se hace un live sólo es incluye la sección main' por lo que si quiere incluir paquetes que están en el contrib o en el non-free hay que decirle explícitamente que incluya estas secciones. Un ejemplo:

make-live -s "main contrib non-free"

5.8. Incluyendo archivos y directorios

Muchas veces es necesario incluir archivos y directorios que no vienen en un paquete .deb, por ejemplo archivos de datos o configuraciones específicas.

Lo primero que se debe hacer es preparar un directorio con los archivos y directorios que queremos incluir, para nuestro ejemplo crearemos uno llamado root:

 # mkdir root

En él se debe copiar todo lo que queramos quede en el CD. Por ejemplo, digamos que tenemos queremos copiar los datos del usuario lbernal en el Live (una forma complicada se hacer un backup):

Primero creamos el directorio home en root:

 # mkdir root/home

Después copiamos la información del usuario en root:

 # cp -r /home/lbernal root/home

Ahora generamos el live con la opción --include-chroot

 # make-live -p gnome --include-chroot root

Y después de esperar un buen tiempo, puede mirar con qemu y en el directorio /home/lbernal están todos los archivos y directorios del usuario.

6. Personalización

Después de generar nuestro Live-CD con make-live y sus opciones es necesario realizar operaciones de mantenimiento pero la idea es no generar todo el Live-CD de nuevo si no simplemente realizar pequeños cambios, para esto simplemente hacemos el chroot en el fichero donde se genero el LIVE

# cd debian-live
# chroot chroot

cambiamos las cosas que deseemos modificar y salimos del chroot

# exit

luego es simplemente generar el filesystem.squashfs y la ISO para esto usamos este script

# mantenimiento.sh

#lugar donde se genero el fichero debian-live
MASTER=/home/alejandro
#nombre de la Iso 
NAMEISO=iskariote-Live

# Si ya existe el filesystem.squashfs lo borra
if [ -f ${MASTER}/debian-live/binary/casper/filesystem.squashfs ]
then
      rm ${MASTER}/debian-live/binary/casper/filesystem.squashfs
fi

# Genera el nuevo filesystem.squashfs con los cambios realizados 
mksquashfs ${MASTER}/debian-live/chroot ${MASTER}/debian-live/binary/casper/filesystem.squashfs

# Genera la ISO
mkisofs -A "Debian Live" -p "Debian Live; http://debian-live.alioth.debian.org/" -o ${MASTER}/debian-live/${NAMEISO}.iso -r -J -l -V "iskariote Live `date +%Y%m%d`" -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table ${MASTER}/debian-live/binary/ 

A continuación algunos ejemplos de personalización:

7. Cambiando el nombre de usuario y host

Para que la imagen quede con un nombre de host y nombre de usuario personalizados solo basta con editar el fichero debian-live/binary/isolinux/isolinux.cfg por ejemplo:

 # emacs debian-live/binary/isolinux/isolinux.cfg

En la parte que dice:

append initrd=initrd.gz boot=casper

Editela para que quede:

append initrd=initrd.gz boot=casper hostname=iskariote username=olpc

Donde iskariote reemplazalo por el nombre de su host y donde dice olpc ponga el usuario.

Después de esto solo es correr el script mantenimiento.sh (que está en Personalización). Y al ver tu live, cuando abras una terminal, encontrarás así tu prompt:

iskariote@olpc:~$

8. Cambiando el sistema al español

Se hace tambien editando el fichero /usr/share/make-live/templates/syslinux/isolinux.cfg incluyendo por ejemplo la linea locale=es_ES.UTF-8.

Si funciona la internacionalización, para mas detalles leer man casper

Después de esto es correr el script mantenimiento.sh (que está en Personalización) y listo tendremos una imagen al inicio creada por nosotros.

9. Limpiando el live

Cuando se han hecho muchas personalizaciones al live-cd este crece mucho en tamaño, hay formas de limpiar un poco el live. Lo primero es hacer chroot:

# chroot debian-live/chroot/

Limpiar el caché de paquetes:

# apt-get clean

Ahora instalar el paquete deborphan que se encarga de ver los paquetes que no están siendo utilizados:

# apt-get install deborphan localepurge

Seleccionamos las locales que queremos conservar y ejecutamos de nuevo:

# localepurge

Deborphan busca bibliotecas innecesarias, lo que se hace es desinstalar los paquetes que nos da la salida del comomando deborphan

# apt-get remove --purge $(deborphan)

borramos el /tmp y el /var/tmp

rm -R /tmp/*
rm -R /var/tmp/*

ahora es salir del chroot:

# exit

Y correr el script mantenimiento.sh (que está en Personalización).

10. Lista de paquetes personalizada

Vamos a crear un live-cd de juegos principalmente educativos y con gnome, para ello utilizaremos las listas de paquetes en un archivo. También lo haremos para i386 con la distribución etch.

Lo primero que hay que hacer es crear la lista de paquetes en un archivo, para el ejemplo: juegosEduGnome. Hay que editar el archivo, por ejemplo:

 # emacs juegosEduGnome

Y para el ejemplo poner lo siguiente:

# Lista de paquetes para hacer un live con gnome y algunos juegos educativos

# Minimal

eject sudo

# Standard

console-common locales

# GNOME

gdm gdm-themes gnome-desktop-environment gnome-cups-manager gnome-screensaver
gnome-themes-extras

synaptic

x-window-system-core xserver-xorg-input-all xserver-xorg-video-all xdebconfigurator

# Los juegos

gcompris gcompris-data gcompris-sound-es
tuxpaint tuxpaint-config tuxpaint-stamps-default
gtans
gnubik
gnome-games
gnurobots
tuxmath
education-graphics education-logic-games education-mathematics
childsplay childsplay-plugins 
python-pyfribidi 
ttf-arabeyes 
childsplay-alphabet-sounds-es

Los # al principio de cada línea son comentarios, esto es, texto que se ignora. Lo que realmente contiene el archivo son los nombres de los paquetes, según la documentación cada uno debe estar en una línea, pero funciona poner varios en una línea, en las listas del make-live están de esa forma, pero esto siempre y cuando están separados con al menos un espacio. Salga grabando.

Ahora es generar el live, el comando es como sigue:

 # make-live -a i386 -d etch -p juegosEduGnome

Quémelo y listo, ya tiene un live para regalar a sus hijos y sobrinos.

11. Cambiando la imagen de inicio

Para hacer esto usaremos GIMP necesitamos crear una imagen con las siguientes características

Tamaño: 640x400, cuando le damos nueva imagen podemos definir el tamaño Colores: 14, para esto vamos a imagen -> modo -> indexado y remplazamos 256 por 14 y aceptar Extencion: PPM, la podemos poner al gurdar la imagen selecionamos ASCII

Después de esto en la consola hacemos

# apt-get install syslinux
# ppmtolss16 '#d0d0d0=7' < splash.ppm > splash.rle

Si queremos verificar podemos hacer

# lss16toppm < splash.rle > splash.ppm

Con esto transformamos la imagen.ppm al formato LSS16 después hay que dejarla dentro del fichero debian-live/binary/isolinux/

# cp splash.rle debian-live/binary/isolinux/

Ahora cambiamos el archivo isolinux.txt por este: isolinux.txt

Si lo queremos modificar hacemos

# nano debian-live/binary/isolinux/isolinux.txt

teniendo cuidado de no borrar la primera linea que dice algo como esto

 splash.rle

Después de esto solo es correr el script mantenimiento.sh (que está en Personalización) y listo tendremos una imagen al inicio creada por nosotros.

12. Haciendo un Debian-Live USB

Lo primero es formatear su memoria USB a fat32, para eso es bueno gparted, porque hace la partición y la formateada al mismo tiempo. Muy Importante No olvide marcar la partición como booteable. Si usted no ha cambiado el tipo de partición con la que vienen estas memorias este paso no es necesario.

Ahora monte su memoria usb, por ejemplo:

# mount /dev/sdb1 /mnt

El /dev/sdb1 muy seguramente cambia en su sistema.

Ahora copie el directorio binary de la debian-live a la raíz de la memoria:

# cp -r debian-live/binary/* /mnt

Ahora hay que reubicar los archivos de isolinux, esto porque el syslinux espera que sus archivos estén en la raiz:

# cd /mnt
# mv isolinux/* .

Y borrar el directorio (ya no es necesario):

# rmdir isolinux

Y cambiar el nombre del archivo de configuración para el syslinx, porque syslinux espera que el archivo se llame de esa manera:

# mv isolinux.cfg SYSLINUX.CFG

Desmonte la memoria USB:

# cd
# umount /mnt

y Finalmente aplique el syslinux:

# syslinux /dev/sdb1

Ya sabe que el /dev/sdb1 muy seguramente cambia en su sistema.

Y reinicie la máquina. Recuerde configurar la BIOS para que arranque de USB.

13. Otra forma para hacer live USBs con make-live

make-live -t usb "aca viene cualquier opcion que se desee"

14. Referencias

--

CategoryDebian |

DebianLive (last edited 2008-04-20 14:38:59 by localhost)