CREAR TU PROPIA DISTRIBUCION BASADA EN UBUNTU
¿Quieres crear tu propia distribución? Aquí van los pasos detallados para crear una metadistribucion basada en Ubuntu...
Primero pasos
- Instalar mkisofs, squashfs-tools y qemu (o mucho mejor vmware), una vez instalados cargamos el modulo de squashfs:
sudo apt-get install squashfs-tools mkisofs qemu
sudo modprobe squashfs
-
Montar la ISO en el sistema, y luego descomprimir el .squashfs; para
ello nos vamos a nuestra home y hacemos lo siguiente por pasos:
sudo apt-get install squashfs-tools mkisofs qemu
sudo modprobe squashfs
mkdir mnt
sudo mount -o loop ubuntu-6.10-desktop-i386.iso /mnt
mkdir extract-cd
rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
Con
esto hemos montado la iso en /home/miusuario/mnt, y extraemos todo el
contenido en /home/miusuario/extract-cd, y ahora ejecutamos
mkdir mnt
sudo mount -o loop ubuntu-6.10-desktop-i386.iso /mnt
mkdir extract-cd
rsync --exclude=/casper/filesystem.squashfs -a mnt/ extract-cd
mkdir squashfs
sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
mkdir edit
sudo cp -a squashfs/* edit/
Y
ya con esto tendremos el archivo .squashfs descomprimido en
/home/mi-usuario/edit/ que será la carpeta donde hagamos todos los
cambios
Modificar fondo de pantalla
Crearemos
el fondo que queremos utilizar del tamaño que queramos, le pondremos el
nombre que queramos, y lo ubicaremos en la carpeta
/usr/share/backgrounds/ y luego editamos el archivo
/var/lib/gconf/debian.defaults/%gconf-tree.xml y buscamos donde ponga
/usr/share/backgrounds/warty-final-ubuntu.png y ponemos el nombre de
nuestro escritorio de forma que esa línea quedaría
/usr/share/backgrounds/mi_fondo_de_pantalla.png. Por supuesto las
carpetas a las que hago referencia se encuentran bajo
/home/miusuario/edit/, que aunque no hayamos hecho chroot por comodidad,
pero debemos pensar como si esa fuera la raiz de nuestro sistema.
Modificar fondo de inicio o instalación de ubuntu
Solamente
hay que modificar la imagen llamada splash.pcx que se encuentra en
extract-cd/isolinux, para generar una imagen pcx puedes hacerlo con un
programa de edición de imágenes y guárdalo en formato pcx a paleta de 14
colores.
Modificar Splash
El
splash es la imagen que aparece cuando está cargando nuestro escritorio
Gnome, para ello primero nos creamos una imagen, la guardamos en
formato png con el nombre ubuntu-splash.png, y la colocamos en
/usr/share/pixmaps/splash/, así de sencillo es modificar esos dos
aspectos.
O podemos llamar de otra forma esta imagen, pero en
formato png, ejemplo miimagen-splash.png, y la colocamos en la carpeta
/usr/share/pixmaps/splash, y en el archivo
/var/lib/gconf/debian.defaults/%gconf-tree.xml modificamos la imagen de
splash, en la línea splash/ubuntu-splash.png, modificamos ubuntu-splash.png por miimagen-splash.png.
Modificar Usplash
Usplash
es la pantalla que nos aparece al cargar el sistema, en Edgy es esa
pantalla negra con el logo de Ubuntu y una barra naranja que se va
llenando conforme carga el sistema, en Dapper e inferiores el Usplash se
modifica diferente que en Edgy. En Edgy para modificar el Usplash
deberemos instalar el paquete usplash-dev y build-essential; y
descargarnos el paquete usplash-theme-ubuntu:
sudo apt-get install usplash-dev build-essential
cp -R /usr/share/doc/usplash-dev/examples /home/miusuario/miusplash/
Una
vez tenemos estos dos componentes nos metemos en la carpeta examples/ y
ahí tendremos todos los png que debemos modificar a nuestro gusto para
tener nuestro propio Usplash. En este ejemplo hay 4 imágenes, una de
800x600, otra de 1024x768, otra de 1024x576 y otra de 1024x576 cropped,
creamos las 4 imágenes, y las hacemos en modo indexado con un máximo de
256 colores, las podemos guardar con el nombre que queramos, pero
respetando la terminación _800_600, etc... ejemplo
miusplash_800_600.png, luego modificamos los archivos eft-theme.c, donde
ponga eft le ponemos el nombre de nuestras imágenes, y lo guardamos con
el nombre que le hayamos puesto a nuestras imágenes, ejemplo:
miusplash-theme.c. Y luego el Makefile también modificamos donde ponga
eft por miusplash o el nombre que le hayamos puesto a nuestro usplash.
Una vez los hemos modificado tendremos que compilar el usplash, para eso en la terminal haremos:
make
Y
luego instalaremos nuestro usplash, pero para ello tendremos que
copiarlo en nuestra carpeta /home/miusuario/edit/, y hacer chroot en
ella:
mkdir squashfs
sudo mount -t squashfs -o loop mnt/casper/filesystem.squashfs squashfs
mkdir edit
sudo cp -a squashfs/* edit/
sudo cp /etc/resolv.conf edit/etc/
sudo cp /etc/hosts edit/etc/
sudo chroot edit
mount -t proc none /proc
mount -t sysfs none /sys
sudo cp usplash-theme-ubuntu.so /usr/lib/usplash/
sudo ln -sf /usr/lib/usplash/usplash-theme-ubuntu.so /usr/lib/usplash/usplash-artwork.so
sudo update-alternatives --install /usr/lib/usplash/usplash-artwork.so /usr/lib/usplash/miusplash-theme.so 55
sudo update-alternatives --set usplash-artwork.so /usr/lib/usplash/miusplash-theme.so
sudo update-initramfs -u
rm /etc/resolv.conf
umount /proc
umount /sys
exit
sudo cp /etc/resolv.conf edit/etc/
sudo cp /etc/hosts edit/etc/
sudo chroot edit
mount -t proc none /proc
mount -t sysfs none /sys
sudo cp usplash-theme-ubuntu.so /usr/lib/usplash/
sudo ln -sf /usr/lib/usplash/usplash-theme-ubuntu.so /usr/lib/usplash/usplash-artwork.so
sudo update-alternatives --install /usr/lib/usplash/usplash-artwork.so /usr/lib/usplash/miusplash-theme.so 55
sudo update-alternatives --set usplash-artwork.so /usr/lib/usplash/miusplash-theme.so
sudo update-initramfs -u
rm /etc/resolv.conf
umount /proc
umount /sys
exit
Con esto conseguimos que nuestro usplash esté instalado, pero el LiveCD va a seguir mostrando el usplash de Ubuntu.
Modificar GDM (Login en Gnome)
En
/usr/share/gdm/themes/ están los temas para GDM, son sencillos de
modificar, el tema por defecto para Ubuntu es Human, por lo que podemos
modificar ese tema y listo, tenemos nuestro tema a nuestro gusto.
Últimos Pasos
Para
ahorrar espacio en el disco, enextract-cd/ puedes borrar la carpeta
programs, autorun.inf, start.exe, y la carpeta disc_tree.
Para
volver a recuperar nuestra iso con los cambios realizados, y que ya
podamos utilizar nuestro LiveCD con nuestro diseño tendremos que
realizar los siguientes pasos, siempre suponiendo que no hemos chroot y
no hemos modificado ningún paquete, por lo que no es necesario regenerar
el .manifest:
sudo rm extract-cd/casper/filesystem.squashfs
sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
Con esto generamos el archivo .squashfs de nuevo en la estructura del CD original con los cambios que nosotros hemos realizado.
sudo vim extract-cd/README.diskdefines
Y ponemos nombre a nuestro CD, el de nuestra distribución.
sudo -s
rm extract-cd/md5sum.txt
(cd extract-cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
exit
Creamos el nuevo md5 para poder verificar errores.
cd extract-cd
sudo mkisofs -r -V "MI_DISTRO" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../midistro.iso .
Creamos la ISO de nuestra distribución
Y para probarla haremos
qemu -cdrom midistro.iso -boot d
(Si es que tienes qemu instalado)
Y para grabarla
sudo rm extract-cd/casper/filesystem.squashfs
sudo mksquashfs edit extract-cd/casper/filesystem.squashfs
sudo vim extract-cd/README.diskdefines
sudo -s
rm extract-cd/md5sum.txt
(cd extract-cd && find . -type f -print0 | xargs -0 md5sum > md5sum.txt)
exit
cd extract-cd
sudo mkisofs -r -V "MI_DISTRO" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o ../midistro.iso .
qemu -cdrom midistro.iso -boot d