El 30/01/12 10:24, Aldo Martinez Selleras escribió:
si, me parece q es eso mismo lo q busco....
t lo agradeceria
saludos y gracias
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l
Amigos listeros, demoré un poco en encontrarlo pero bueno apareció al
fin. Lo tenía subido a mi blog:
Debian Live-helper
Live-helper es una herramienta que facilita la creación de un CD live de
Debian. Los CDs live cargan un Sistema Operativo en la RAM del
ordenador, por lo que ningún cambio realizado en el mismo será guardado
para la próxima vez que sea cargado pero puede ser de gran ayuda a la
hora de reparar algo de nuestro SO. En este tutorial intentaré mostrar
como crear un CD live tanto genérico como personalizado y como portarlo
a un USB (personalmente los prefiero en USB xP).
Imagen Requisitos Imagen
- Tener Debian instalado (aunque quizá se pueda con un Debian Live CD XD)
- Linux Kernel 2.6.x
- Conexión a internet (aunque esto puede ser omitible si tenemos los
paquetes de los programas a instalar a mano).
- Acceso a Root
(Requisitos oficiales)
Imagen Instalación Imagen
Para hacer funcionar el Live-helper tan solo se requieren de forma
necesaria los paquetes live-helper y debootstrap, el resto de paquetes
como syslinux, memtest86+ y squashfs-tools, de entre otros, se
instalarán automáticamente durante el proceso cuando el Live-helper deba
hacer uso de ellos y, posteriormente, serán borrados. De todos modos
aquí tenéis una lista de las dependencias y programas sugeridos y
recomendados. Para una instalación normal, loguear como root y teclear:
Código: Seleccionar todo
# aptitude install live-helper
Imagen Uso del Live-helper Imagen
Su uso básico es bastante sencillo: tan solo hemos de crear una carpeta
(para tenerlo todos los elementos ordenador), y ejecutar el comando
lh_config seguido de sus argumentos (esto puede hacerse como usuario
normal y recomiendo que se haga como user normal, luego explico por qué
xD). Esto creará una carpeta llamada config con diversas carpetas dentro
así como archivos de configuración (que tendrán algunos de sus tags
diferentes si es que se han especificado en los argumentos del
lh_config). Una vez realizada toda la configuración, logeamos como root
y tecleamos lh_build, a partir de aquí el script se encargará de
descargar los paquetes elegidos, montar el sistema de archivos y crear
una imagen ISO del live, todo de forma automática. A continuación
nombraré los comandos que suelo usar, aunque haciendo un lh_config
--help te saldrá el listado entero.
-a # Arquitectura (i386, amd64...)
-b # Tipo de binario (iso, usb...)
-d # Distribución (lenny, squeeze, sid...)
-l # Lenguaje (es, en...)
--mirror-binary "http://ftp.fr.debian.org/debian/" # Mirror del cual se
obtienen los paquetes, yo dejaría éste y los 2 siguientes iguales
--mirror-bootstrap "http://ftp.fr.debian.org/debian/"
--mirror-chroot "http://ftp.fr.debian.org/debian/"
--categories # Categorías de los paquetes (main, contrib, non-free...)
--packages # Todos los paquetes que queramos instalar
--bootappend-live "locale=es_ES bootkbd=es console-setup/layoutcode=es"
# Esta es la línea mágica que añade argumentos a la hora de bootear el
live para que tengamos el teclado en español. Me costó sudores conseguir
tener el teclado en la distribución "es" XD
--debian-installer # Por si queremos incluir un instalador
(businesscard, netinst...)
--debian-installer-distribution # Para que instale la distribución de
Debian que elijamos (Tengo un Live creado con "sid" elegido en esta
opción, pendiente de instalar a ver si es verdad que instala Sid
directamente)
--binary-filesystem # Formato del binario (fat16, fat32...)
--bootstrap-flavour minimal --linux-flavours 486 # Omite el resto de
variaciones del kernel para ahorrar espacio. Se recomienda usar "486"
para lograr una buena compatibilidad con todo tipo de PCs
--apt # Para elegir entre apt-get ("apt") o aptitude ("aptitude") como
nuestro gestor de apquetes en el live
--binary-indices disabled # Reduce en unos 6MB la imagen resultante
--memtest # Para elegir entre memtest86+ ("memtest86+"), memtest86
("memtest86") o desactivarlo ("disabled") para ahorrar unos 100KB de
imagen :-|
--apt-recommends disabled # Omite dependencias sugeridas y recomendadas
--win32-loader disabled # Omite meter un "algo" que se puede ejecutar
desde Windows, nunca lo he usado pero pienso que es omitible :P
--bootloader # Usa Syslinux ("syslinux"), GRUB ("grub"), Yaboot
("yaboot" para bootear. Por defecto, Syslinux
Si vuelves a ejecutar el comando lh_config se sobreescribirán aquellos
tags que hayas vuelto a declarar. A continuación, un ejemplo de cómo
hacer un LiveCD con solo dos comandos (o 3 XD):
Código: Seleccionar todo
$ lh_config -a i386 -b iso -d sid -l es --mirror-binary
"http://ftp.fr.debian.org/debian/" --mirror-bootstrap
"http://ftp.fr.debian.org/debian/" --mirror-chroot
"http://ftp.fr.debian.org/debian/" --categories "main contrib non-free"
--packages "Interte_paquetes_aquí" --bootappend-live "locale=es_ES
bootkbd=es console-setup/layoutcode=es" --debian-installer businesscard
--debian-installer-distribution sid --binary-filesystem fat32
--bootstrap-flavour minimal --apt aptitude --linux-flavours 486
--binary-indices disabled --memtest memtest86+ --apt-recommends disabled
--win32-loader disabled --bootloader syslinux
# export LH_BOOTSTRAP_EXCLUDE="$LH_BOOTSTRAP_EXCLUDE
paquete1,paquete2,paquete3" # Excluye paquetes de la instalación
# lh_build
La verdad es que más que un uso intuitivo... diría que no tienes que
hacer absolutamente nada, solo elegir paquetes para instalar XD. Si en
paquetes ponemos simplemente "gnome-desktop", "kde-desktop" o
"xfce-desktop", nos instalará la suit básica de ese entorno. Por defecto
se instalará Xorg como sistema de ventanas X, con un metapaquete de
controladores para asegurar su funcionamiento con gran cantidad de gráficas.
Cómo configurar más aun el Live Imagen
Añadir paquetes y archivos al Live
Para muchos, quizá el uso de únicamente las 2~3 líneas anteriormente
citadas se quede corto, ya sea porque quiere incluir paquetes en su
binario que no se encuentren en el mirror elegido o porque quiere
incluir una serie de archivos en el Live. Pues bien, tampoco es mucho
más complicado hacer eso: en la carpeta "config" que se crea después de
usar el comando lh_config tenemos chroot_local-includes y
chroot_local-packages. La primera carpeta sirve para incluir archivos, y
éstos deben tener el mismo directorio dentro de la carpeta que el que
queramos tener en la build, es decir: el usuario del live, por defecto,
se llama "user", si queremos incluir archivos en su "home" tan solo
hemos de crear la carpeta "home" en "chroot_local-includes", dentro la
carpeta "user" y dentro de "user" los archivos que queramos incluir. De
modo que quedaría así:
Carpeta del Live
+ config
-+ chroot_local-includes
--+ home
---+ user
----+ Archivo 1
----+ Archivo 2
----+ Archivo 3
En la carpeta chroot_local-packages tan solo hay que meter los paquetes
*.deb que queremos que se instalen teniendo en cuenta que hemos de
incluir las dependencias a la hora de designar los paquetes a instalar.
Aprovechando la función de la carpeta chroot_local-includes, suelo
utilizar IceWM como gestor de ventanas ya que se configura a base de
editar archivos de texto, así tengo un problema menos [fumando] . Si el
comando lh_config lo ha ejecutado el root, solo él puede escribir
archivos en esas carpetas.
Editar el Live antes de crear el binario
Probablemente, esto a muchos también se les quede corto porque por un
motivo u otro no pueden configurar algo con solo meter paquetes y
archivos, así que a continuación paso a explicar cómo instalar módulos
al Kernel, por ejemplo:
Antes de nada, usamos lh_config con nuestra configuración y metemos los
archivos y paquetes que deseemos incluir en sus carpetas correspondientes.
Luego, en vez de hacer lh_build, usaremos una serie de comandos que
están comprendidos dentro del proceso de lh_build, de este modo podemos
detener el proceso "a medias" y toquetear cosillas.
Código: Seleccionar todo
# lh_chroot_hosts remove && lh_chroot_resolv remove && lh_chroot_proc
remove && lh_binary # Esto es la primera mitad del proceso de lh_buil
A partir de este momento, en nuestra carpeta config se crearán otras
como "cache" y "chroot". En "cache" se meterán todos los paquetes
descargados y "chroot" será nuestro Live pero usando carpetas como si se
tratase de un SO normal. Si hacemos un chroot a la carpeta "chroot"
estaremos "logueados" como el usuario root de nuestro live, podiendo
instalar paquetes, desinstalarlos, modificar archivos, etc
Código: Seleccionar todo
# chroot chroot # Pasamos a ser root utlizando "/" como esa carepta
~# aptitude install module-assistant wireless-tools ndiswrapper-common
ndiswrapper-utils-1.9 ndiswrapper-source
~# m-a --kvers-list 2.6.x-x-486 prepare # No olviéis señalar el Kernel
que use vuestro live, o instalará el módulo en el Live para el Kernel de
vuestro SO, supongo que un "--kvers-list $(uname -r)" también
funcionará, pero no lo he probado.
~# m-a a-i --kvers-list 2.6.x-x-486 ndiswrapper
~# echo ndiswrapper >> /etc/modules
~# exit
Mucho cuidado con esto, porque como os equivoquéis haciendo el chroot o
algo podéis hacer mucha pupa a vuestro SO creyendo que estáis tocando el
Live [mad]. Ahora introducimos el resto del script para que nos monte el
binario
Código: Seleccionar todo
# lh_chroot_hosts remove && lh_chroot_resolv remove && lh_chroot_proc
remove && lh_binary
Y listo, nos creará una imagen ISO (si es que hemos elegido "iso" como
tipo de imagen de binario, si elegimos USB será *.img) que podremos
grabar tranquilamente en un CD y provarla en nuestro PC o directamente
usar una Máquina Virtual
Reducir tamaño del Live
Este mismo procedimiento de usar chroot para manipular el Live antes de
ser empaquetado en un binario, también tiene otras utilidades como, por
ejemplo, eliminar archivos innecesarios para que ocupe menos. Los
métodos que suelo usar son utilizar deborphan para eliminar programas
innecesarios* y localepurge para eliminar las locales que no vayamos a
utilizar (puede ahorrar unos 60MB). El procedimiento es parecido al
anterior, empezamos usando el comando chroot
Código: Seleccionar todo
# chroot chroot
# aptitude install deborphan localepurge
# Tras instalar "localepurge", nos aparecerá un asistente para
seleccionar las locales que deseamos guardar. Recomiendo seleccionar
"es" y todas las "es_ES", aunque también se pueden elegir "en" y todas
las "en_US" para evitar posibles problemas. Se elige pulsando la barra
espaciadora y se salta al OK con tabulador.
# localepurge # Automáticamente se pone a limpiar las locales. Si nos
hemos equivocado al seleccionarlas, hacemos un "dpkg-reconfigure
localepurge" para volver a elegirlas.
# deborphan --guess-all # Mostrará los paquetes que pueden ser borrados
sin "problemas" (Mentira, quería borrarme el módulo del kernel de
ndiswrapper xD). Si os salen muchas y soy muy vagos para hacer un
"aptitude purge" a todas, podéis hacer un "for i in $(deborphan
--guess-all); do apt-get remove $i; done"
# aptitude purge deborphan localepurge # Recomiendo usar purge para no
dejar "ni rastro" xP
# aptitude clean
# aptitude purge aptitude # Esto no lo he probado, pero si no queremos
hacer nuestro Live compatible con internet puede ser una opción xD
* Modificar el Live una vez creado *
Es posible que una vez creado el binario lo testeemos y comprobemos que
algo ha fallado o no ha salido como queríamos o que se nos ha olvidado
incluir/borrar algún paquete. Hay varias opciones en el lh_clean para
limpiar el directorio del live:
Código: Seleccionar todo
# lh_clean # Borra todo menos la caché y config. La carpeta "config"
conserva su configuración y la carpeta "cache" conserva los paquetes
descargados. Bastante útil para ahorrar tiempo volviendo a descargarlo todo.
# lh_clean --binary # Borra solo el binario. La carpeta "chroot" se
mantiene y podemos seguir trasteando con ella para montar un nuevo binario.
# lh_clean --all # Borra todo menos la carpeta "config", que sigue
manteniendo su configuración.
* Testear el Live *
Para probar el live recomiendo usar QEMU (con KQEMU si se tiene
procesador de doble núcleo o más) o KVM. Yo personalmente uso KVM que
también tiene opción para usar doble núclero y la verdad es que no tengo
queja alguna de él :P. Usarlo es tan sencillo como...
Código: Seleccionar todo
# aptitude install kvm
# adduser tu_user kvm # Para que nuestro usuario pueda usar KVM con
opción de aprovechar el doble núcleo.
# reboot # Hay que reiniciar para que el cambio sobre el usuario tenga
efecto
$ kvm -cdrom binary.iso # Si el binario es una ISO
$ kvm -hda binary.img # Si el binario ha sido creado para USB
En QEMU los tags son idénticos, se cambia kvm por qemu y "et voilà!",
pero si se quiere aprovechar el doble núcleo, y se tiene el módulo del
Kernel de KQEMU, hay que añadir el tag "-kernel-kqemu"
* Instalación del Live en un CD o USB *
Si es una imagen ISO usar nuestro grabador favorito o growisofs,
incluido en el paquete dvd+rw-tools.
Código: Seleccionar todo
$growisofs -Z /dev/cdrom=binary.iso -speed=16 # Para CD
$growisofs -dvd-compat -Z /dev/dvd=binary.iso -speed=4 # Para DVD
Si es una imagen para USB
Código: Seleccionar todo
# dd if=binary.img of=/dev/XXX # Donde "XXX" es el identificado del
dispositivo sin número de partición
Personalmente no me gusta mucho ese método y lo que suelo hacer es crear
el Live en formato ISO. Nada más se crea el binary, ya sea ISO o IMG, en
la misma carpeta también se encuentra la carpeta "binary" que contiene
los archivos de la ISO. Entro dentro de la carpeta, renombro "isolinux"
a "syslinux". Abro exithelp.cfg, stdmenu.cfg e isolinux.cfg y renombro
todas las referencias (1 en cada uno xD) a la carpeta "isolinux" por
"syslinux". Luego renombro isolinux.cfg a syslinux.cfg. Después, esto ya
es opcional, abro el live.cfg y añado una entrada (copia de la primera)
añadiendo el tag "single" al "append", para que no cargue las X (porque
tengo un PC en casa en el que nunca he conseguido hacer funcionar las X
a la primera, y es reacio a Lives xD). También edito el nuevo
syslinux.cfg y cambio el "timeout" a 90, porque tengo un teclado
inalámbrico que no funciona en la ventana del Syslinux y no puedo ni
elegir opción ni darle a INTRO :-|. Por último copio todo el interior de
la carpeta "binary" al root del USB, lo desmonto y hago un:
Código: Seleccionar todo
# syslinux /dev/XXXy # Con el identificador del USB y la partición, que
suele ser 1
* F.A.Q. *
- Mi Live tiene X web browser y el ordenador está conectado a internet
mediante cable de red pero no funciona.
Esto sucede porque al añadir el tag "--bootstrap-flavour minimal" al
lh_config toma los paquetes referentes al protocolo DHCP como paquetes
sugeridos y/o recomendados y no los instala. Tendrás que añadir en el
listado de paquetes los siguientes: dhcp3-client, ifupdown y netbase.
Saludos y espero sirva de algo.
--
:.
blog http://www.yordanisp.tk
Ubuntu User #26077
GNU/Linux user #459987 (http://counter.li.org)
"Soy real a menos que sea declarado entero."
______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l