En este tutorial se enseñará a crear una distribución personalizada basada en Debian. En ella se dan los pasos básicos para personalizarla y alguno más avanzado.
Primero hay que convertirse en superusuario e instalar los paquetes necesarios de software:
apt-get install live-build live-boot live-config
Crear una carpeta que albergará el contenido de la imagen personalizada.
mkdir live-Debian-Kde-Arduino-ES
Acceder a la carpeta recién creada
cd live-Debian-Kde-Arduino-ES
Si se quisiera hacer una distribución sin personalizar, con ejecutar lo siguiente sería suficiente:
lb config
lb build
Pero en nuestro caso que no lo es y se aplicarán las siguiente opciones personalizadas:
Se cambia el mirror al de nuestra universidad o al más cercano que se tenga
--mirror-bootstrap
Se activas el modo debug para que nos muestre si hay fallos:
--debug
Se activa la configuración en live
--bootappend-live "boot=live components username=live-user live-config.user-default-groups=audio,cdrom,dip,floppy,video,plugdev,netdev,powerdev,scanner,bluetooth,fuse"
Esta opción se utiliza para establecer las opciones del arranque de la imagen "Live". Por eso empieza con "boot=live". Con el comando components se modifican parámetros de configuración de arranque de la sesión, como puede ser nombre de usuario " username" o con qué configuración por defecto arranca ese usuario.
Con la opción " live-config.user-default-groups" se indica sobre que dispositivos el usuario que se configura tiene poder de administación.
En este ejemplo se añaden privilegios del puerto serie al user con la palabra "dialout":
lb config --debug --mirror-bootstrap http://softlibre.unizar.es/debian/ --bootappend-live "boot=live components username=live-user live-config.user-default-groups=audio,cdrom,dip,floppy,video,plugdev,netdev,powerdev,scanner,bluetooth,dialout,fuse"
Para arrancar el sistema con lenguaje y teclado en español, se tendría que añadir en la configuración las lineas " locales" que indican el idioma que se usa por defecto en el sistema, y el tipo de idioma de teclado con " keyboard-layouts". En este caso idioma español:
lb config --debug --mirror-bootstrap http://softlibre.unizar.es/debian/ \
--bootappend-live "boot=live components username=live-user locales=es_ES.UTF-8 \
keyboard-layouts=es live-config.user-default-groups=audio,cdrom,dip,floppy,video,plugdev,netdev,powerdev,scanner,bluetooth,dialout,fuse"
Si se quiere que funcione el instalador hay que escribir el comando " -debian-installer live", ya que pese a crear imagen híbrida con la opción de instalación, no funcionará.
lb config --binary-images iso-hybrid --mirror-bootstrap http://softlibre.unizar.es/debian/ --bootappend-live "boot=live components username=live-user locales=es_ES.UTF-8 keyboard-layouts=es live-config.user-default-groups=audio,cdrom,dip,floppy,video,plugdev,netdev,powerdev,scanner,bluetooth,dialout,fuse" --debian-installer live
Para activar autologin en modo terminal, se añade el comando " live-config.login" como se ha hecho en el resto de opciones de arranque. El autologin en modo gráfico se explicará más adelante.
lb config --binary-images iso-hybrid --mirror-bootstrap http://softlibre.unizar.es/debian/ --bootappend-live "boot=live components username=live-user locales=es_ES.UTF-8 keyboard-layouts=es live-config.login live-config.user-default-groups=audio,cdrom,dip,floppy,video,plugdev,netdev,powerdev,scanner,bluetooth,dialout,fuse" --debian-installer live
Una vez realizado esto, si se quiere personalizar la imagen con software extra hay que crear un archivo de texto con la lista de esos paquetes adicionales. Se puede usar un editor de texto plano (en este caso Nano pero sirve cualquiera) para poner cada paquete en una línea. Necesita la extensión " .list.chroot".
nano paquetespersonalizados.list.chroot
A modo de ejemplo, se pone el nombre del paquete que se quiera:
arduino
kde-full
task-spanish
task-spanish-desktop
task-spanish-kde-desktop
Al ejecutar el comando "lb" se han creado una serie de directorios. Para modificar el arranque de la imagen personalizada crea una carpeta dentro de “ config” que se llame “ bootloaders”. Dentro hay que copiar un directorio llamado isolinux que está presente en nuestro equipo. Una vez copiado se podrán cambiar la apariencia y las opciones al gusto.
cd config mkdir bootloaders
cp -r /usr/share/live/build/bootloaders/isolinux /bootloaders
Para personalizar la imagen de fondo del menú de arranque se necesita una imagen en resolución 640X480. El nombre deberá ser splash.png y copiarla dentro de la carpeta isolinux anteriormente descrita. Finalmente se deberá borrar otra de ese mismo nombre pero con extensión “.svg”.
cp /home/jason/CreacionIso/splash.png /home/jason/CreacionIso/live-Debian-Kde-Arduino-ES/config/bootloaders/isolinux
A continuación se ejecutan desde dentro de la carpeta inicialmente creada para la iso, los siguientes pasos:
lb bootstrap
lb chroot
Ahora que se tiene la carpeta chroot con el sistema base creado de la futura imagen, se puede crear una carpeta, si se quiere ser más "limpio" aunque no es necesario, y se meten ahí los archivos con los que se quiere partir una vez se tenga la distro en live o en installer funcionando.
mkdir Programas_Arduino_Extras
cp -r /home/jason/CreacionIso/live-Debian-Kde-Arduino-ES/Programas_Arduino_Extras /home/jason/CreacionIso/live-Debian-Kde-Arduino-ES/chroot/opt
Para el caso concreto de KDE
Para configurar KDE por defecto con autologin en modo gráfico hace falta crear en la ruta /chroot/etc/ un archivo llamado sddm.conf.
cd /home/jason/CreacionIso/live-Debian-Kde-Arduino-ES/chroot/etc
nano -w sddm.conf
Con las siguientes lineas:
[Autologin] User=live-user Session=plasma.desktop
Para el caso de que no sea plasma/KDE es más fácil, ya que con la configuración de live.conf se puede poner con un comando y ahorrarte este paso. Como el comando depende del entorno gráfico que se quiera será necesario consultar la documentación.
Por ultimo, si se quiere modificar el fondo de escritorio por defecto tendremos que proporcionar las imágenes con las diferentes resoluciones, añadiéndolas dentro de la carpeta " .../ contents" . El nombre de las imágenes serán las resoluciones (p.e. 1200x800.svg) y serán formato .svg. Supondiendo que están en el directorio Images del usuario el comando sería:
cp ~/Images/* /home/jason/CreacionIso/live-Debian-Kde-Arduino-ES/chroot/usr/share/desktop-base/softwaves-theme/wallpaper/contents/