Como hacer un livecd basado en ubuntu / debian

#1
Hola, esta es una guia de como hacer un livecd basando en ubuntu o en debian depende de que prefieran:

* Primero hacemos una carpeta de trabajo que le llamaremos livecds:
mkdir livecds

* luego crearemos una carpeta que contendra el sistema:
cd livecds
mkdir sistema

* luego haremos una instalacion basica de ubuntu maverick ( dependiendo de en que sistema esten podrian hacerla con otra base ):
sudo debootstrap --arch i386 maveric sistema

* luego copiamos la configuracion de red:
sudo cp /etc/resolv.conf chroot/etc/resolv.conf

* chrooteamos a la carpeta sistema:
sudo chroot sistema

* montamos dispositivos del sistema (el primer comando puede marcar una advertencia, no le hagan caso):
mount /proc
mount /sys
mount -t devpts none /dev/pts

* actualizamos los sources
apt-get update

* configuramos un par de variables:
export HOME=/root
export LC_ALL=C

* instalamos boot loader y kernel (si les pide instalar grub le dicen que no ):
apt-get install --yes casper linux-image-generic

* instalan paquetes que quieran agregar ( por ejemplo gnome ):
apt-get install ubuntu-desktop

* limpiamos temporales
apt-get clean
rm -rf /tmp/*

* eliminamos configuracion de red
rm /etc/resolv.conf

* desmontamos dispositivos del sistema:
umount -l -f /proc && umount -l -f /sys && umount /dev/pts

* nos salimos del shell chrooteado:
exit

* creamos carpetas para el bootloader:
mkdir image
mkdir image/casper
mkdir image/isolinux
mkdir image/install

* copiamos archivos requeridos para el boot (remplazar * por el que tengan, pueden dar TAB para que se complete el nombre ):
cp sistema/boot/vmlinuz-2.6.* image/casper/vmlinuz
cp sistema/boot/initrd.img-2.6.* image/casper/initrd.gz
cp /usr/lib/syslinux/isolinux.bin image/isolinux/
cd image/isolinux

* ponemos un mensaje para cuando inicie el sistema:
echo "Escribe livecd para iniciar" >> isolinux.txt

* hacemos el menu para el bootloader:
gedit isolinux.cfg

** y escriben:

DEFAULT livecd
LABEL livecd
menu label Iniciar live cd
kernel /casper/vmlinuz
append file=/cdrom/preseed/ubuntu.seed boot=casper initrd=/casper/initrd.gz quiet splash --
DISPLAY isolinux.txt
TIMEOUT 300
PROMPT 1

* hacemos una imagen en formato squash de la instalacion (primero nos vamos hasta la carpeta de livecds):
cd ..
cd ..
sudo mksquashfs sistema image/casper/filesystem.squashfs -e sistema/boot

* un poco de configuracion para casper:
cd image
gedit README.diskdefines

** y escriben:
#define DISKNAME Mi live CD
#define TYPE binary
#define TYPEbinary 1
#define ARCH i386
#define ARCHi386 1
#define DISKNUM 1
#define DISKNUM1 1
#define TOTALNUM 0
#define TOTALNUM0 1

* generamos imagen iso ( el punto al final de mkisofs es necesario ):
sudo mkisofs -r -V "$IMAGE_NAME" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../imagen.iso .

y ahora tienen un archivo: imagen.iso con el livecd, bootean con el y tendran su propio livecd, a veces marca una advertencia de que no encuentra unos archivos pero de cualquier manera bootea :).
espero les sirva y si tienen dudas me dicen.
 
Arriba