Canaima Semilla: Herramienta para la creación y distribución de Sabores Canaima

 

Canaima Semilla es un paquete diseñado para facilitar a individuales, colectivos e instituciones la creación de distribuciones GNU/Linux personalizadas y adaptadas a sus necesidades (lo que conocemos como sabores), partiendo de la Metadistribución Canaima GNU/Linux. Actualmente existen varios sabores de Canaima:

  • Canaima Primera Base: Sabor con aplicaciones básicas, desde el cuál se pueden instalar el resto de los sabores.
  • Canaima Popular: Sabor ligero de fácil distribución, con aplicaciones de uso común.
  • Canaima Institucional: Sabor utilizado en la Administración Pública Nacional venezolana para fortalecer la Soberanía Tecnológica dentro del estado.
  • Canaima Educativo: Proyecto educativo liberador para los niños de la educación primaria.
  • Canaima Forense: Sabor que facilita la investigación forense en sistemas informáticos.
  • Canaima Colibrí: Sabor destinado a optimizar el rendimiento del sistema en computadoras de baja capacidad.

Mediante una serie de sencillos pasos, podrás crear una imagen instalable de los sabores antes mencionados, o si lo prefieres, crear tu propio Sabor Canaima. En un futuro, Canaima Semilla también instalará los Sabores.

¿Cómo instalo Canaima Semilla?

Abre el archivo /etc/apt/sources.list con tu editor de textos preferido (con permisos de root) y modifícalo de forma tal que sólo queden las siguientes líneas:

deb http://repositorio.canaima.softwarelibre.gob.ve/ pruebas usuarios
deb http://universo.canaima.softwarelibre.gob.ve/ squeeze main contrib non-free

Luego ejecuta los siguientes comandos:

aptitude update
aptitude install canaima-semilla

Listo, con ésto quedará instalado.

¿Cómo empiezo a construir ISO’s?

Canaima Semilla puede crear imágenes instalables (ISO o IMG) basado en los perfiles de sabores existentes. Puede especificársele el tipo de Medio, la arquitectura a construir, y el sabor. Las imágenes resultantes del proceso de construcción se guardan en el directorio /usr/share/canaima-semilla/semillero/.

USO

canaima-semilla construir --medio="iso|usb" --arquitectura="i386|amd64" --sabor="institucional|popular|primera-base|sabor1|sabor2" [--ayuda]

PARÁMETROS

  • –medio: Tipo de imagen que será generada. Coloca “iso” para una imagen ISO grabable en CD/DVD o “usb” para una imagen IMG grabable en dispositivos USB.
  • –arquitectura: Arquitectura soportada por la imagen resultante. Canaima GNU/Linux soporta i386 y amd64.
  • –sabor: Sabor Canaima contenido en la imagen instalable. Debe estar definida en el directorio de los perfiles para poder funcionar.
  • –ayuda: Muestra la documentación para el ayudante.

Por ejemplo, para construir el sabor “popular”, se utiliza la siguiente línea:

canaima-semilla construir --medio="iso" --arquitectura="i386" --sabor="popular"

¿Y cómo creo un Sabor Canaima?

Canaima Semilla facilita la creación de Sabores Canaima mediante el establecimiento de reglas o perfiles que definen los componentes que integran el sabor. Un perfil está compuesto de varios archivos con nombres específicos colocados dentro de una carpeta que lleve por nombre el nombre del sabor en minúsculas. La. La carpeta contendrá:

1.- (Obligatorio) Un archivo llamado “sabor.conf” con las siguientes variables y sus valores:

  • “PUBLICADO_POR”: Individuo o colectivo que publica la imagen. Ejemplo: PUBLICADO_POR=”Canaima GNU/Linux; http://canaima.softwarelibre.gob.ve/
  • “SABOR_DIST”: Distribución Debian en la que se basa el sabor. Ejemplo: SABOR_DIST=”squeeze”
  • “APLICACION”: Nombre de la Metadistribución. Ejemplo: APLICACION=”Canaima GNU/Linux”
  • “MIRROR_DEBIAN”: Mirror de Debian desde donde se extraerán los paquetes que contendrá la la imagen. Los repositorios extra se definen en los archivos *.binary y *.chroot definidos más adelante. Se pueden especificar mirrors locales o remotos. Ejemplo: MIRROR_DEBIAN=”http://universo.canaima.softwarelibre.gob.ve/
  • “COMP_MIRROR_DEBIAN”: Componentes del MIRROR_DEBIAN a estar disponibles para la construcción de la imagen. Ejemplo: COMP_MIRROR_DEBIAN=”main contrib non-free”
  • “SABOR_PAQUETES”: Lista de paquetes disponibles en MIRROR_DEBIAN o en alguna lista de repositorios extra. Ejemplo: SABOR_PAQUETES=”canaima-base canaima-instalador-vivo canaima-blobs”

2.- (Opcional) Una imagen PNG llamada “syslinux.png” de una dimensión no mayor a 1024×768 pixeles, la cuál servirá de fondo en el menú de inicio del Medio Vivo.

3.- (Opcional) Una imagen PNG llamada “banner-instalador.png” de una dimensión exacta de 800×75 pixeles, la cuál será el banner del dialogo del instalador del Medio Vivo.

4.- (Opcional) Un archivo de configuración GTKRC llamado “gtkrc-instalador”, el cuál albergará los parámetros GTK para modificar la apariencia del instalador. Ver el sabor de ejemplo.

5.- (Opcional) Un par de archivos para definir repositorios extra en la etapa de instalación de paquetes finales (BINARY):

  • Uno de extensión *.binary (pudiendo tener cualquier nombre), que contenga una lista de repositorios extra necesarios para la instalación de paquetes no incluídos en MIRROR_DEBIAN y especificados en SABOR_PAQUETES.

Ejemplo: canaima.binary

deb http://repositorio.canaima.softwarelibre.gob.ve/ pruebas usuarios
deb http://seguridad.canaima.softwarelibre.gob.ve/ seguridad usuarios
  • Otro de extensión *.binary.gpg, conteniendo la (o las) llave(s) GPG válida(s) correspondientes a los repositorios listados en el archivo *.binary.

6.- (Opcional) Un par de archivos para definir repositorios extra en la etapa de instalación del sistema base inicial (CHROOT):

  • Uno de extensión *.chroot (pudiendo tener cualquier nombre), que contenga una lista de repositorios extra necesarios para la instalación de paquetes no incluídos en MIRROR_DEBIAN y especificados en SABOR_PAQUETES.

Ejemplo: canaima.chroot

deb http://repositorio.canaima.softwarelibre.gob.ve/ pruebas usuarios
deb http://seguridad.canaima.softwarelibre.gob.ve/ seguridad usuarios
  • Otro de extensión *.chroot.gpg (con nombre igual al anterior), conteniendo la (o las) llave(s) GPG válida(s) correspondientes a los repositorios listados en el archivo *.chroot.

7.- (Opcional) Un archivo llamado “preseed-debconf.cfg” en donde se incluirán los parámetros debconf que se quieran modificar en el modo nVivo del medio instalable.

8.- (Opcional) Un archivo llamado “preseed-instalador.cfg” en donde se incluirán los parámetros debconf a modificar en el instalador.

Se provee en la dirección de los perfiles (/usr/share/canaima-semilla/perfiles) un perfil de ejemplo, el cuál podrá ser utilizado como base para nuevos sabores. La ausencia de alguno de los archivos Opcionales causará que Canaima Semilla use los valores por defecto (Debian).

Los perfiles se definen en la carpeta “/usr/share/canaima-semilla/perfiles”, para la cual debes tener permisos de superusuario si deseas editarla. La mejor forma de crear un nuevo sabor, es duplicar la carpeta de ejemplo y comenzar a editar sus archivos hasta obtener el resultado esperado.

Sugerencias

  • Optimizar la estructura de paquetes del sabor a construir. Lo ideal es que los paquetes se encuentren organizados y agrupados en metapaquetes, de forma tal de que con incluir unos pocos paquetes en SABOR_PAQUETES, todo el árbol de dependencias sea incluído.
  • No utilizar scripts de configuración. Toda configuración adcional que se desee realizar al medio vivo, debe ser incorporado en paquetes detro de su respectivo postinst.


ACCIONES

Soy un joven venezolano al que le gusta mucho leer y escribir. Ingeniero de Telecomunicaciones, amante de la tecnología, y el Software Libre. Comencé a trabajar como desarrollador de Canaima GNU/Linux en 2009, y ahora se ha convertido en uno de mis pasatiempos más entretenidos. Si te gusta lo que escribo por acá, te invito a seguirme en twitter, facebook, o las actualizaciones por RSS.

ACERCA DE LUIS ALEJANDRO

Existen 21 opiniones acerca de esta entrada.

  1. Así es que se construye un proyecto abierto y libre, ahora todos podemos hacer nuestro propio sabor de canaima de una manera realmente sencilla y práctica.

    Felicitaciones compañero. Sigamos así.

  2. Es muy ingenioso y me alegra ver concretada esta iniciativa, me parece una forma elegante; probablemente a futuro y con los recursos que hoy en día tiene Canaima puedan hacer una interfaz gráfica (a-la-uck)

    Mi único comentario es que los scripts de configuración no son necesariamente malos, yo no hubiera necesariamente recomendado en su contra, sé que lo haría más complejo (requiere modificar los paquetes, y eso se debe hacer al nivel de fuente en respeto a la licencia y los usuarios) pero es más escalable a futuro, porque la DB de Debconf guarda todas las preguntas y respuestas que puedo reusar en futuras versiones sin tener que escribir nueva lógica para manejar los casos de borde.

    Pero reitero mi apreciación por ver esto hecho de una forma elegante, felicitaciones :)

    • Entiendo tu posición con respecto a los scripts, lo que pasa es que muchos desarrolladores de sabores acostumbran a construir la mayor parte del sabor a través de los scripts (cambiar el estilo visual, mover carpetas, etc…), y obvian que si lo hacen así, no podrán ofrecer actualizaciones a través de paquetes (o se les hará más difícil) para futuras versiones del sabor; por eso la recomendación para que lo vayan haciendo *proper* desde un principio.

      Gracias por tu apreciación, hacemos lo mejor que podemos ;)

  3. Manuel dice:

    Genial entrada Luis, voy a proponer crear un sabor para la Universidad… claro, primero tengo que lograr que la gente acepte que deben usar Canaima en los equipos de la Universidad. \m/

  4. Luis, pudieras poner a disposición una imagen de Canaima Primera Base en algún lado? La idea es usar una misma ISO, con los mismos binarios y la misma configuración inicial para desde allí ayudarte a documentar cualquier proceso derivado.

    Gracias, buen trabajo.

  5. excelente idea, la de canaima semila… camarada.

    me gustaria proponer un sabor que, (hasta donde se…) nadie la ha propuesto…
    canaima militar: para la FAN, (que segun tengo entendido forma parte de la APN), pero que por su estructura increiblemente piramidal, jerarquica y resistente al cambio, seria practicamente imposible lograr que migre… ya varias personas me han dicho que que la FAN esta en proceso de migrar… pero segun he averiguado en MINDEFENSA hicieron como en muchos otros ministerios: mision morrocoy y mision pote de humo, (migracion de algunos servidores, migracion de pagina web, etc.,) y te hablo de 2008/2009 y se olvido el tema de la migracion… por lo que es necesario un sabor que de seguridad y eficiencia a la FAN, (institucion en la que el 95% de sus computadoras y/o servidores, funcionan con MS windows)

    me gustaria saber camarada que me propones para llevar esta idea a buen puerto…?

  6. Luis Álamo dice:

    Gracias por este poster! en estas vacaciones trataré de construirme Canaima con escritorio KDE, si es que logro hacerlo para ver si de una vez por todas migro a Software Libre Venezolano, ya que por lo general uso distribuciones basadas en RPM y con KDE, saludos te leo en Rss.

  7. Linuxman dice:

    La versión de Canaima 3.0 es CD-Live, si no lo es donde puedo conseguir una?, considero que un CD-Live es uno de los medios más prácticos y sencillos para difundir y mostrar las bondades de algún sistema operativo, o de alguna distribución, recordemos que en nuestro país, hay mucho camino por recorrer en cuanto a la difusión de estos sistemas basados en GNU/LINUX, la falta de una ISO CD Live oficial de Canaima, en mi opinión, podría constituir un punto débil en cuanto a la difusión de la misma.

  8. biruaco dice:

    Hola quisiera saber como puedo personalizarlo antes de contruir un sabor… e intentado hacer un chroot a /usr/share/canaima-semilla/semillero/chroot y luego arrancar gdm3…. pero esto no me da resultado alguno.

    que estoy haciendo mal, como se deberia hacer???

    La personalizacion que quiero hacer es instalarles algunos paquetes y cambiar algunas images

    Gracias

    Biruaco

  9. hola luis, mi pregunta es ¿canaima-base trae siempre entorno gráfico? ¿como hago para que se genere una ISO sin gnome y con un kernel personalizado?

    • Hola Gabriel,

      No, canaima-base (>=3.0) no instala un entorno gráfico, si ves sus dependencias lo puedes comprobar.

      Te sugiero que una vez que instales canaima-semilla, revises el perfil “primera-base” que es como el “netinstall” de Debian, allí verás que el único paquete listado en la variable SABOR_CONF es canaima-base.

      Para agregar un kernel personalizado solo tienes que agregar el nombre del paquete en la variable SABOR_CONF del perfil de tu sabor y si el paquete se encuentra en un repositorio externo a los oficiales de Debian o Canaima, debes agregar el repositorio en los archivos canaima.binary y canaima.chroot de tu perfil (puedes usar repositorios locales).

      Saludos.

  10. rotze dice:

    Como hago para inscribirme en el portal?necesito inscribirme

  11. rotze dice:

    necesito inscribirme en el portal y no se como..me ayudan?

Puedes emitir tus opiniones en el siguiente Formulario.


 




El campo "Página Web" es opcional. Tu correo no será publicado.