Archive:Haciendo una distribución basada en openSUSE
Contenido
Introducción
Este artículo se centra en la creación de tu propia distro basada en openSUSE. Debe verse como una guía general, no describe los paquetes que deberían ser añadidos/quitados, eso se deja al lector. Se asume también que eres familiar a la instalación de openSUSE.
Esta guía puede usarse para hacer una distro personalizada para diversos casos:
- Incluir paquetes RPM que no se incluyen por defecto
- eliminar software incluido
- Editar software
- Personalizar la distribución
- Configuraciones estándar para tu país, compañía, GLU...
- Arreglo de problemas con RPMs por ejemplo: el sistema de parcheado en openSUSE 10.1, que no funcionaba correctamente
Versión Corta
- Descarga la(s) ISO(s) que desees
- Si necesitas RPM extras, descárgalos
- Ejecuta makeSUSEdvd -i [cualquier otro parámetro]
- Ejecuta rembrand -b "#FF00FF" -R /tmp/pink_rpms *.rpm
- Navega a través de la Vista global de Logos y marca lo que quieras quitar.
- Edita, quita o cambia lo que desees
- Ejecuta makeSUSEdvd -C
Versión Larga
El paso 4 de la versión corta es el más importante, entraremos en mayor detalle en cada uno de los pasos a continuación.
Descarga
Puedes descargar la ISO de cualquier versión en un directorio cualquiera por ejemplo usando 11.1 como base, bajarse el DVD "base" y añadir el DVD de "non-oss".
Si quieres software extra, no disponible en openSUSE, debes tener RPMs funcionales. Descárgalos en /usr/src/packages/RPMS/* o crea un directorio con los mismos subdirectorios athlon i386 i486 i586 i686 noarch.
No olvides los RPMs extra que puedan necesitarse, para prevenir una dependencia brutal más tarde.
No cambiar los contenidos
Si simplemente quieres añadir RPMs, puedes simplemente hacer lo siguiente en el directorio donde se encuentren los RPMs.
makeSUSEdvd [-a /usr/src/packages/RPMS] [culquier otro parámetro]
Esto te dejará con tu propia distro personalizada. Durante la instalación, puedes elegir software y seleccionar Selección personal, o cualquier RPM en Selección Personal
Por favor lee COPYING, COPYRIGHT y LICENCE.TXT de la ISO que acabas de hacer para ver si tienes permitida la distribución de la ISO. |
Cambiando los contenidos
- Ahora ejecuta makeSUSEdvd -i [-a /usr/src/packages/RPMS] [cualquier otro parámetro] desde el directorio donde la ISO se encuentra. Esto creará un directorio CD_DIR, mientras no hayas especificado otro diferente, este será el directorio a modificar.
- Next you can remove any RPM that you do not want to be on your own distribution. You can leave anything you like. The RPMs are in CD_ROM/suse
- Puedes editar, después CD_DIR/control.xml Hay más información sobre este archivo en esta página de Novell. Mucho puede cambiarse, y romperse, aquí, por lo que pruébalo antes de distribuir la distro (valga la redundancia)
- De acuerdo con los cambios, puedes cambiar cualquiera de los archivos CD_DIR/suse/setup/desc/*sel.
- Especialmente, mira en default*.sel. Si has añadido RPMs, makeSUSEdvd habrá creado un makeSUSEdvd.sel.
- Si quieres que haya programas instalados por defecto, añádelos a default*
- Cuando añadas tus propios archivos *.sel, observa que hay diferentes =Ord: (diferentes para cada *sel). Cuanto más pequeños, más altos en la lista. Los números negativos funcionan.
- Añade o quita cualquier *.sel de /suse/setup/desc/selections así como cualquier *.sel, aunque es tan fácil como dejarlo como está.
- Para personalizarlo más a fondo, puedes editar los siguientes archivos. En muchos casos debes quitar las referencias a (open)SUSE/Novell y añadir las tuyas.
/COPYRIGHT* Diferentes idiomas. /LICENCE.txt Pon tu propia licencia /README* /LIESMICH* /SuSEgo.ico Elimina y añade tu propio *.ico /autorun.inf Cambiar SuSEgo.ico por el tuyo /content Cambia VENDOR Cambia RELNOTESURL por tu propio RPM, si lo deseas /docu/RELEASE Elimina la referencia a openSUSE/Novell /boot/*/LIESMICH* /boot/*/README* /boot/*/loader/* Algunos archivos. Principalmente elimina el nombre de SUSE y cambia algunos JPGs. /media.1/info.txt Puesto aqui por makeSUSEdvd. Editalo en makeSUSEdvd, o coméntalo completamente /media.1/licence.zip Mira dentro y edita cualquiera (o todas) las diferentes licencias /media.1/media /suse/setup/README /suse/setup/LIESMISCH /suse/setup/slide/* Aquí puedes personalizar tu distro. Son las láminas que se muestran durante la instalación
- Muchos paquetes RPM contienen imágenes con marcas registradas de SUSE/Novell. rembrand puede ser útil para eliminar estas marcas. Ver también http://www.davjam.org/mediawiki/index.php/openSUSE:Debrand:howto , [1].
- Aquí tienes una lista de algunas de las marcas en OpenSuSE Branding_Overview
- Algunos paquetes necesitan una End User Licence Agreement (EULA) antes de su instalación, o una advertencia cuando los seleccionas para la instalación, de forma que la gente pueda decidir si instalarlos o no. Están en packages.$LANG y escritas en HTML básico. Mira en /suse/setup/descr/packages.en para ver ejemplos.
EULA stuff: +Eul: -Eul: Install warning: +Ins: -Ins:
- Algunos paquetes tienen licencias restringidas si los introduces o basas tu producto en ellos. Puedes querer eliminar estos paquetes.
ckermit -- el preámbulo 'embedded' entra en conflicto con las condiciones de REDISTRIBUTION (A). frink -- necesitas permiso escrito para redistribuir este paquete. mirror -- la distribución se basa en no modificar el contenido. mmv -- depende de si cobras por tu producto. myodbc -- mysql es GPL, no LGPL. Enlazar con un producto no GPL puede convertirlo en GPL vlna -- ver el "lenguaje" respecto a 'venta'.
Quitando las marcas
Algunos paquetes contienen marcas e imágenes de openSUSE. Muchos están contenidos en packages PACKAGE_NAME-branding-openSUSE. Para algunos paquetes puedes reemplazar los PACKAGE_NAME-branding-openSUSE por los paquetes PACKAGE_NAME-branding-upstream del repositorio. Algunos paquetes que deberás "rehacer".
- Paquetes que debes crear
TUMARCA-release branding-TUMARCA desktop-data-TUMARCA gconf2-branding-TUMARCA release-notes-TUMARCA yast2-branding-TUMARCA yast2-installation yast2-theme xdmbgrd
- Paquetes que debes añadir del repositorio
bootsplash-branding-upstream gdm-branding-upstream gimp-branding-upstream glib2-branding-upstream gnome-menus-branding-upstream gnome-session-branding-upstream gtk2-branding-upstream kde4-kdm-branding-upstream kdebase4-workspace-branding-upstream MozillaFirefox-branding-upsteam OpenOffice_org-branding-upstream xfce4-desktop-branding-upstream
- Paquetes a eliminar
suse/noarch/OpenOffice_org-branding-openSUSE-3.0-24.16.noarch.rpm suse/noarch/branding-openSUSE-11.1-1.10.noarch.rpm suse/noarch/desktop-data-openSUSE-11.1-36.10.noarch.rpm suse/noarch/desktop-data-openSUSE-extra-gnome-11.1-13.13.noarch.rpm suse/noarch/epiphany-branding-openSUSE-11.1-1.25.noarch.rpm suse/noarch/gconf2-branding-openSUSE-2.24-13.13.noarch.rpm suse/noarch/gdm-branding-openSUSE-11.1-1.36.noarch.rpm suse/noarch/gimp-branding-openSUSE-11.1-1.18.noarch.rpm suse/noarch/glib2-branding-openSUSE-2.16-44.6.noarch.rpm suse/noarch/gnome-menus-branding-openSUSE-11.1-33.24.noarch.rpm suse/noarch/gtk2-branding-openSUSE-11.1-1.12.noarch.rpm suse/noarch/gtk2-theme-openSUSE-11.1-1.12.noarch.rpm suse/noarch/pidgin-branding-openSUSE-11.1-8.20.noarch.rpm suse/noarch/release-notes-openSUSE-11.1.7-1.7.noarch.rpm suse/noarch/release-notes-openSUSE-11.1.7-1.7.noarch.rpm suse/noarch/yast2-branding-openSUSE-2.17.0-9.10.noarch.rpm suse/noarch/yast2-installation-2.17.43-1.2.noarch.rpm suse/noarch/yast2-registration-2.17.17-1.1.noarch.rpm suse/noarch/yast2-registration-branding-openSUSE-2.17.17-1.1.noarch.rpm suse/noarch/yast2-theme-openSUSE-2.17.13-1.3.noarch.rpm suse/noarch/yast2-theme-openSUSE-Crystal-2.17.13-1.3.noarch.rpm suse/noarch/yast2-theme-openSUSE-Oxygen-2.17.13-1.3.noarch.rpm suse/x86_64/MozillaFirefox-branding-openSUSE-3.0.3-3.11.x86_64.rpm suse/x86_64/bootsplash-branding-openSUSE-3.1-47.14.x86_64.rpm suse/x86_64/compiz-0.7.8-9.1.x86_64.rpm suse/x86_64/compiz-branding-openSUSE-0.7.8-9.1.x86_64.rpm suse/x86_64/gfxboot-branding-openSUSE-4.1.19-2.1.x86_64.rpm suse/x86_64/install-initrd-branding-openSUSE-11.53-1.6.x86_64.rpm suse/x86_64/kde4-kdm-branding-openSUSE-11.1-66.4.x86_64.rpm suse/x86_64/kde4-kio_sysinfo-branding-openSUSE-11.1-66.4.x86_64.rpm suse/x86_64/kdebase3-SUSE-11.1-65.4.x86_64.rpm suse/x86_64/kdebase3-SuSE-11.1-65.4.x86_64.rpm suse/x86_64/kdebase3-SuSE-branding-openSUSE-11.1-65.4.x86_64.rpm suse/x86_64/kdebase4-openSUSE-11.1-66.4.x86_64.rpm suse/x86_64/kdebase4-workspace-branding-openSUSE-11.1-66.4.x86_64.rpm suse/x86_64/openSUSE-release-11.1-1.18.x86_64.rpm suse/x86_64/openSUSE-release-dvd-11.1-1.18.x86_64.rpm suse/x86_64/splashy-branding-openSUSE-0.3.8-105.13.x86_64.rpm suse/x86_64/xfce4-desktop-branding-openSUSE-4.4.2-6.28.x86_64.rpm
- Edita o reconstruye el archivo de patrones suse/setup/descr/dvd-*
s/branding-openSUSE/branding-YOURBRAND/ s/bootsplash-branding-openSUSE/bootsplash-branding/ s/gconf2-branding-openSUSE/gconf2-branding-YOURBRAND/ s/gtk2-branding-openSUSE/gtk2-branding/ s/desktop-data-openSUSE/desktop-data-YOURBRAND/ s/yast2-theme-openSUSE/yast2-theme-YOURBRAND/ /kdebase3-SuSE/d /yast2-registration/d
Personalizando o añadiendo módulos de YaST
El archivo control.xml controla los módulos de YaST que se correrán de para instalar o configurar tu sistema. Además, estos módulos pueden ser modificados o implementados de cero. Los módulos de YaST están localizados en el archivo boot/arch/root en el DVD. Puedes extraer el sistema de ficheros raíz en un directorio temporal entrando:
mkdir oldroot mount root oldroot -o loop mkdir newroot rsync -av oldroot/* newroot/
y efectuar los cambios ahí. Los módulos de YaST están localizados en /usr/share/YaST2/. Puedes añadirlos o editarlos. Después debes compilaros :
ycpc -c directorio_modulo
y rehacer el sistema de ficheros raiz haciendo:
umount oldroot /sbin/mkfs.cramfs newroot/ root
Puedes encontrar más información sobre los módulos de YaST en http://en.opensuse.org/YaST y en http://en.opensuse.org/YaST/Modules.
Haciendo tu distribución
Primero copia o haz un backup de CD_DIR, ya que será borrado al finalizar. Cuando toda la edición haya acabado para todos los archivos y/o RPMs, puedes hacer la ISO con makeSUSEdvd -C lo que creará una ISO que puedes grabar. No te olvides de probarla primero, por lo que es recomendable el uso de un soporte regrabable (siempre que sea posible).
Si todo fue bien, puedes hacer tu ISO final y comenzar a usarla.
|