Archive:Haciendo una distribución basada en openSUSE

Saltar a: navegación, buscar


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:

  1. Incluir paquetes RPM que no se incluyen por defecto
  2. eliminar software incluido
  3. Editar software
  4. Personalizar la distribución
  5. Configuraciones estándar para tu país, compañía, GLU...
  6. 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.

Dialogo informacion 64x64.png

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
  • 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.

Atención
Por favor presta atención a las licencias de Software. Los paquetes propietarios tienen sus propias licencias a aceptar (no GPL).
Las marcas están generalmente protegidas por ley y no está permitido su uso sin el previo consentimiento escrito del propietario de la marca.