Morphix

De Wikilibros, la colección de libros de texto de contenido libre.
Ir a la navegación Ir a la búsqueda
Morphix Desktop

Morphix es una distribución modular en formato de LiveCD basada en Knoppix (que a su vez está basada en Debian). El libro de Morphix es una introducción al uso de esta distribución para la creación de distribuciones a la medida en formato de LiveCD. Contará con Cómos (Howtos) y pequeñas recetas que permitirán adaptar Morphix para las diferentes necesidades. La palabra "Morph" se refiere en inglés a cambio de forma y se dejará si traducir, pues no existe un neologismo, que a juicio del autor exprese en castellano lo mismo de forma corta.

Quisiera agradecer a Brendan M. Sleight, quien escribió la mayoría de los documentos en inglés que sirvieron para la creación de este texto en español.

Sumario

Generalidades[editar]

La facilidad por la cual se pueden producir distribuciones derivadadas a partir de Morphix radica en su diseño modular. En esencia se puede decir que Morphix cuenta con tres módulos importantes:

  • Un módulo base : Encargado del reconocimiento del hardware, la carga de algunos scripts de inicio y del kernel.
  • Un módulo principal : Contiene las aplicaciones más importantes del LiveCD, generalmente el modo gráfico y el ambiente de escritorio.
  • Uno o varios minimódulos : Contienen aplicaciones que pueden añadir nueva funcionalidad al módulo principal o cambiar la que ya tiene.

Cómo hacer el "morph" más sencillo (lanzar una página de inicio)[editar]

Resumen[editar]

Este corto documento describe como hacer el CD personalizado de Morphix más sencillo usando un mínimo de herramientas. Incluso sin necesidad de tener un sistema GNU/Linux instalado. Puede usar un LiveCD de Morphix para hacer su propio LiveCD de Morphix.

El CD construido será un LiveCD que "automágicamente" mostrará en un navegador una página de inicio. Se brindan también detalles hacerca de cómo hacer un CD alternativo que "automágicamente" lanzará una aplicación en el momento de arranque.

Es posible remasterizar un CD de Morphix de forma que tome menos espacio en disco que en este ejemplo. Es más rápido si usted remasteriza desde un sistema GNU/Linux ya instalado, preferiblemente Debian, pero la intención de este documento es dar el ejemplo más sencillo de "morph".

Ingredientes Requeridos[editar]

  • Un Computador para encender
  • Un LiveCD de Morphix 0.4.1
  • Un Disco Duro con 800 Mb libres (aprox)
  • Un CD en blanco (preferiblemente uno reescribible)
  • Un Documento HTML llamado index.html, que le gustaría adicionar al CD.

[Opcional]

  • Uno o más documentos que quiera adicionar al CD.
  • Un enlace o un binario de la aplicación que desea autoejecutar.

Tiempo aproximado de cocción: 15 Minutos + Tiempo de quemado para el CD.

Entrando a la Cocina[editar]

Primero, arranque su sistema usando el LiveCD de Morphix 0.4.1.

Note que todos los comandos abajo son tecleados (o cortados y pegados desde este documento) a una consola de comandos. Así que abra una consola de comandos, que usaremos para el resto del proceso. Luego configure una contraseña temporal (la que prefiera) de superusuario (root):

sudo passwd

Luego adquiera permisos de superusuario/root:

su

Cortando los ingredientes para El Morph[editar]

Estamos guardando todos los archivos de morphix en el disco duro mientras hacemos el nuevo CD, así que la primera tarea es montar su disco duro.

mount /dev/hda1 /mnt/hda1

Nota: Si tiene múltiples particiones reemplace /dev/hda1 con una partición apropiada /dev/hda2, /dev/hda3 o un segundo disco duro /dev/hdb1.

Para dar un vistaso de cómo Linux indexa sus discos duros y unidades de CD, etc puede ejecutar el siguiente comando:

cat /etc/fstab

Ahora creamos un directorio para guardar los archivos de morphix:

 mkdir /mnt/hda1/morphix

Copie los archivos desde el LiveCD, (esto tomará algunos minutos):

cp -a /cdrom/* /mnt/hda1/morphix/

Ahora cree el directorio donde los archivos html serán guardados.

mkdir /mnt/hda1/morphix/cdrom/html/

Luego copie los documentos HTML a esta área (reemplace /donde_los_guardo con la ruta correcta)

cp -a /mnt/hda1/donde_los_guardo /mnt/hda1/morphix/cdrom/html


Ahora necesitamos

Cómo usar fácilmente TROM (Total Remastering of Morphix)[editar]

Cómo usar el generador de mini-módulos[editar]

Intellibuild[editar]

v0.5, 09 June 2004 Kermit Jones kermit (at) freelifeministries.org

Tradicido por Rafael Medina (REEMC)

Intellibuild (iBuild) es un sistema de scripts de python diseñado para hacer la creacion/remasterización de un LiveCD Morphix o Knoppix muy simple y fácil. Usted puede modificar fácilmente cambios y probarlos sin tener que recordar todo la sintaxis de los comandos remasterización.


Introducción[editar]

Vista general[editar]

Intellibuild es un sistema de scripts que apuntan a ayudar a los remasterisadores de Morphix y Knoppix a hacer su trabajo eficientemente produciendo remasterizados modificados. No se limitan a Morphix y Knoppix y están actualmente disponibles y probados en Debian GNU/Linux (testing y unstable).

Si esta familiarizado con el proceso de remasterizado de Knoppix, usted estara bien enterado de los pasos básicos implicados, estos son :

a) extraer el ISO original de knoppix; b) chroot/boot into the extracted system; c) Modificar; d) recomprimirlo de nuevo a un archivo .iso; y e) probar si el ambiente se comporta igual en el LiveCD.

Este porceso es un absoluto desperdicio de tiempo y la mayoria de afinaciones de la configuración se hace a mano. Si sucede algo extraño y su remasterizado de LiveCD tiene rupturas, en la mayoria de los casos usted debe rehacer el proceso entero. Usted a menudo puede querer poner al día su Cd para actualizar el Cd más reciente de Knoppix (mejor soporte para hardware, nuevos programas , etc.) pero esto no es garantía que su versión será compatible o trabaje correctamente.

Intellibuild automatiza la mayoría de este proceso por rompiendo de la sesión de remasterizado en varios segmentos pequeños, cada uno de de los cuales es bastante independientes de los otros. una vez instalado, usted puede construir un LiveCD desde los pedazos vía un comando. Todos los paquetes nuevos son instalados o los archivos de los configuracíon se copian sobre la nueva distribución.

En resumen, Intellibuild permite que usted se concentre en sus propios arreglos para requisitos particulares y preocuparse del resto del proceso de remasterizado "detrás de escena"

Requisitos[editar]

Intellibuild puede funcionar en la mayoría de las variantes *nix, y eventualmente en MS WINDOWS, también. Actualmente, y para el proposito de este Howto, el iBuild requiere lo siguiente:

- Debian testing o inestable (inestable es la prueba primaria) - Al menos 3GB de la espacio libre en disco si usted está remasterizando un CD entero. - Sudo para el usuario - Chroot - Cloop Utils (> 2,0) - Python (> 2,3) con las bibliotecas del xml (paquete python-xml)

NOTA: Este Howto fue probado y desarrollado en una máquina que funcionaba el núcleo de linux 2,4,21, KDE 3,2, y las últimas actualizaciones en Debian inestable. Actualizo alrededor de una vez al mes.


Reconocimientos[editar]

Quisiera agradecer a los autores de los programas enumerados abajo, en primer lugar por la escritura de estos para el uso de todos nosotros y también por entregar las versiones más recientes de este documento una vez terminado.

Simon Belak (simon (en) owca.info) codificó el "framework" básico y la infraestructura de Intellibuild. Jure Cuhalev (gandalf (en) owca.info) es el desarrollador y el soporte actual del iBuild. Kermit Jones (kermit (en) freelifeministries.org) es el mantenedor y el probador de este HOWTO.

Negación[editar]

Utilice la información de este documento bajo su propio riesgo. Rechazamos cualquier responsabilidad potencial por el contenido de este documento. El uso de los conceptos, de los ejemplos, y/o del otro contenido de este documento está enteramente bajo su propio riesgo.

Todos los copyrights son propiedad de sus dueños, a menos que esté especificado de otra manera. El uso de un término en este documento no debe ser visto como afectante de la validez de cualquier marca registrada o marca de servicio.

Se recomienda hacer un backup de archivos importantes y/o relevantes antes de cualquier procedimiento de instalación.

Copyright[editar]

A menos que este indicado de otra manera,el copyrighted de los documentos HOWTO de Linux son propiedad de sus respectivos autores. Los documentos HOWTO de Linux se pueden reproducir y distribuir en forma parcial o completa , por cualquier medio físico o electrónico, siempre y cuando este aviso de copyright se conserve en todas las copias. Se permite y se anima la redistribución comercial; sin embargo, el autor quisiera ser notificado de cualquier distribucion.

Todas las traducciones, trabajos derivados, o los trabajos agregados que incorporen cualquier documento HOWTO Linux se deben cubrir bajo este aviso de copyright. Es decir, usted no puede producir un trabajo derivado de un HOWTO e imponer restricciones adicionales para su distribución. Las excepciones a estas reglas se pueden conceder bajo ciertas condiciones; por favor contacte un coordinador del Linux HOWTO.

En resumen, deseamos promover la difusión de esta información a través de tantos canales como sea posible. Sin embargo, deseamos conservar el copyright en los documentos de HOWTO, y quisiéramos ser notificados de cualquier plan para redistribuir los HOWTOs.

Si usted tiene cualquier pregunta, por favor escribeme a mi email. (Véase Arriba)

La Versión Corta[editar]

Esta sección esta diseñada para darle una descripción exacta de qué hará usted con el iBuild y permitir que pueda comenzar en tan poco tiempo como sea posible.

El proceso del iBuild[editar]

Hay varias cosas que deben ser ubicadas para crear su propio LiveCD personalizado. La ventaja de usar Morphix es su diseño modular. Usted puede utilizar los módulos previamente creados y simplemente agregar sobre ellos sin tener que hacer todo el trabajo involucrado en los mismos.

Las primeras dos cosas que el iBuild hace es decargar dos módulos base, que son fundamentales para su LiveCD - el principio esencial, por así decir. Los dos scripts iniciales (preparebase.sh y preparemainmod.sh) descargan el MorphixBase-0.4-1d.iso y el BareX.mod.iso respectivamente. Una vez que se haga eso, usted podría construir el "STL Morphix"estándar corriendo el comando #sudo python intellibuild/manager.py config/stl.xml

Usted desea probablemente correr el iBuild una vez para cerciorarse que está trabajando (recomiendo activar el proxy (véase abajo) y el usar el short.xml, pues será mucho más rápido)

La siguiente cosa que usted desea hacer es personalizar su LiveCD para requisitos particulares -ése es el punto de iBuild, correcto? Correcto. Haga una copia de short.xml o stl.xml y heche una ojeada adentro. Usted verá muchas líneas con <patch>packagename</patch> . Cada <patch> de entrada agrega algo a la base (BareX.mod.iso y MorphixBase-0.4-1d.iso). Es Muy simple <patch>ssh</patch> corrijalo corriendo simplemente "apt-get install ssh" dentro del chroot de su LiveCD. Usted puede agregar o substraer qué es agregado a su LiveCD agregando o comentando fuera del patch en el config.xml del archivo (short.xml stl.xml, etc).

Usted puede también tener un cambio en el patch, agregar o copiar archivos de su configuración personal a su LiveCD. Una gran ejemplo es el < patch>kde-skel</patch > patch, que copia un directorio personalizado .kde de /ibuild/data/kde-skel/.kde a su CustomCD/etc/skel/.kde . Esto guarda un wizard de KDE para correrlo cada vez que carga su LiveCD.

Ésta es una descripción muy corta de qué está sucediendo dentro de iBuild cuando usted lo corre. Vea por favor las secciones de abajo para más ejemplos e instrucciones en profundidad para la personalizacion. Su iso será localizado en /ibuild/release .

También, si usted planea la creación de estructuras consecutivas, usted deseará definitivamente utilizar las características de proxy/caching incluidas en laversión 12 y posteriores. Cerciorese de < patch>proxy</proxy > listadas en su config.xml después de < patch>MountProc</patch > .

Prepárese[editar]

Serciorese de hacer Sudo, Chroot, y tener instalado Cloop-utils y mkisofs.

Consiga el iBuild y prepárelo:

Nota: Por favor cerciorese que usted esté descargando la vercion mas reciente del iBuild. Se agregan muchas características y los bugs están uvicados en cada nueva vercion. Cerciorese también de tener el número de versión más reciente de las siguientes instrucciones.

La versión actual se puede encontrar en: http://gand.owca.info/ibuild/


#cd /
#sudo wget http://gand.owca.info/ibuild/ibuild-0.2.tar.gz
#sudo tar -zxvf ibuild-0.12.tar.gz
#sudo rm ibuild-0.12.tar.gz
#cd /ibuild
#sudo /bin/bash preparebase.sh
#sudo /bin/bash preparemainmod.sh

Config.xml[editar]

Cambie cualquier ajuste que usted desee. Si usted desea el básico MorphixCombined-KDE.iso use stl.xml .

Turn on Proxy[editar]

#cd /ibuild/proxy
#/bin/bash proxy

Nota: Cerciorese de tener el < patch>proxy</patch > en la lugar correcto después de < patch>MountProc</patch > en su config.xml .

Estructura[editar]

En una nueva terminal:

#cd /ibuild
#sudo python intellibuild/manager.py config/stl.xml

Quemado[editar]

Eche una mirada en /ibuild/release y vea stl.iso ¡que es esto!

Corte y pegue[editar]

Para el REALMENTE impaciente (bur[n]er):

NOTA: Copie y pege los siguientes comandos solamente si usted tiene ya usa exitosamente Intellibuild. Preste especial atención a los requisitos (sudo, chroot, cloop-utils, mkisofs, python) según lo dispuesto en el capítulo 3.


Descarge: cd / && sudo wget http://gand.owca.info/ibuild/ibuild-0.12.tar.gz && sudo tar -zxvf ibuild-0.12.tar.gz && sudo rm ibuild-0.12.tar.gz

Prepáre: cd /ibuild && sudo /bin/bash preparebase.sh && sudo /bin/bash preparemainmod.sh

Turn on Proxy: cd /ibuild/proxy && /bin/bash proxy.sh

Estructura (en una terminal aparte): cd /ibuild && sudo python intellibuild/manager.py config/stl.xml

Preparandose Para Correr[editar]

Intellibuild requiere ciertos permisos y programas de estar su lugar para construir con éxito un LiveCD. Actualmente, usted necesitará Debian testing o inestable (o las últimas versiones estables de Python y de Cloop-utils).

Sudo[editar]

Sudo (Superuser do) permite al administrador de sistema dar a ciertos usuarios (o de grupo usuarios) la capacidad de correr algunos (o todos) los comandos como root o a otros usuarios mientras que registra los comandos y argumantos. Utilizaremos el método más simple para levantarnos y el funcionamiento.

#su
#rootpassword
#apt-get install sudo
#visudo

Agregue las siguientes dos líneas: root ALL = (ALL) ALL username ALL = NOPASSWD: ALL

Entonces teclee F2 para salvar y F10 para salir.

Chroot[editar]

Chroot permite que usted cambie el directorio / que usted está trabajando a uno de su eleccion. Llamado a menudo "chroot jail" usted puede hacer cosas en el chroot que no perjudicaran su sistema. Usted necesita el chroot instalado para intellibuild:

# sudo apt-get install chrootuid

Cloop-utilitis[editar]

Cloop-utils permite que comprima y descomprima serca de 2 gigabytes de datos en un cd-r 700MB.

Proxy - Polipo[editar]

Polipo es un HTTP Proxi que que fue diseñado originalmente como proxi personal, es decir un proxi que es utilizado por un solo usuario o un grupo pequeño de usuarios. Esto significa que una vez que usted descargue los paquetes necesitados para el iBuild (y cualquier patch que usted incluya), él se agrega, o guarda en el cache de su disco duro para la próxima vez.

Para dar una idea de los ahorros del tiempo... me toma cerca de 2 horas crear un short.iso la primera vez y solamente 20 minutos en construcciones consecutivas. Cuando una versión reciente aparece en los mirrors, Polipo "pone al día" el cache de su disco duro de una forma transparente.

Puede correr Polipo para iBuild haciendo lo siguiente:

#cd /ibuild/proxy
#/bin/bash proxy.sh

Descargar iBuild[editar]

Nota: Por favor cerciorese que usted esté descargando la vercion mas reciente del iBuild. Se agregan muchas características y los bugs están uvicados en cada nueva vercion. Cerciorese también de tener el número de versión más reciente de las siguientes instrucciones.

La version actual se puede encontrar en: http://gand.owca.info/ibuild/
La version actual (cuando esto fue escrito) es al 0.12.  Descargela e instalela:


#cd /
#sudo wget http://gand.owca.info/ibuild/ibuild-0.12.tar.gz
#sudo tar -zxvf ibuild-0.12.tar.gz
#sudo rm ibuild-0.12.tar.gz

Los pasos anteriores descargan y extraen el iBuild a la carpeta /ibuild, que es el path por defecto para los scripts. Usted puede cambiar la localización, pero segurese de cambiar los paths de los <basesettings> según lo mencionado abajo en la sección config.xml.

Preparebase.sh[editar]

Preparebase.sh es un script de shell que hace exactamente lo qué su nombre indica. Descargar el actual MorphixBase.iso y lo extrae en /ibuild/base/1d. Ésta es básicamente la mínima cantidad de archivos que se han extraído ya de la distribución de Knoppix. Si usted ya ha descargado la base, usted puede copiarla al directorio /ibuild. Si no, el escript lo descargará y preparará para usted.


La base actual es MorphixBase-0.4-1d.iso

#cd /ibuild
#sudo /bin/bash preparebase.sh

Preparemainmod.sh[editar]

Preparemainmod.sh es script de shell que descarga el módulo básico necesario para obtener una X funcional, llamado BareX.mod.iso. Como con preparebase.sh, si usted lo a leido y tiene el BareX.mod.iso, simplemente copíelo a /ibuild. Si no, el escript lo descargará y preparará para usted.

#cd /ibuild
#sudo /bin/bash preparemainmod.sh

NOTA: Usted necesitar correr solamente una vez preparebase.sh y preparemainmod.sh. Usted no necesitará correrlos de nuevo hasta que se proporcionen actualizaciones (o usted instale una nueva versión de iBuild). Vea la sección de noticias en LiveCD.net o Morphix.org. Usted tendrá que poner al día sus archivos del iBuild (o conseguir la versión mas reciente). Con esperanza habrá un paquete .deb en el futuro.

Opciones a Considerar[editar]

Es una buena idea tener el directorio /ibuild en el drive más rápido disponible. Esto es porque la compresión y la descompresión de archivos depende en gran parte de la CPU y el disco I/O.

Configurando su LiveCD[editar]

Estructura del config.xml[editar]

Usted verá abajo un ejemplo básico del archivo config.xml.

Nota:  El archivo de configuración debe ser un documento válido de xml, de lo         
contrario  no trabajará.  Esto significa que los comentarios están hechos vía  
<!-- este es el comentario. -->

Como puede ver el archivo de configuración tiene diferentes secciones. Las propiedades globales son fijadas por globalsettings. Esto define donde están los archivos que se están cambiando y la localización de patchs. Estos ajustes son accesibles a todos los patchs. Las siguientes secciones definen qué patchs se utilizan como y en qué orden se ejecutan al hacer una 'estructura' completa. El anterior, LocalSettings, define los ajustes para los patchs individuales.

Configuracion base[editar]

La sección de <basesettings> es en donde usted define los ajustes globales para su iBuild.

Global settings[editar]

Los siguientes son los ajustes globales encontrado en él archivo config.xml. Observe por favor que algunos están bajo "LiveCD identification"

<release> - donde iBuild pondrá el .iso personalizado que es construido.
<basepath> - el directorio que iBuild utilizará para la extracción y trabajo.
<sourcepath> - fuente que el .iso utiliza para la creación. Del directorio de    
trabajo.
<releasepath> - información sobre su release personalizado.
<sourceimagepath> - donde iBuild busca el .iso original que usted está  
personalizando.
LiveCD identification[editar]

Usted puede cambiar el nombre de su LiveCD.iso a través de 3 pasos:

<title> - su titulo
<id> - su identificacion
<mainmod> - como  usted quisiera que su MOD sea llamado

Patches[editar]

En resumen, los patchs son escripts de python que residen en el directorio de patchs que hacen todo el "trabajo duro" de personalizar su LiveCD. Los patchs tienen cierta estructura, saber que hay un directorio con un escript control.py en el y cualquier otro archivo usados por el patch. El nombre del directorio del patch es el que usted especifica en el archivo de configuración de xml (aquí referido onfig.xml).

Los patchs son cómo usted introduce al iBuild la personalizacion que usted quiere hacer. El método más simple de aplicar un patch es simplemente incluir una línea de patch's de la lista de <patch>. Asegúrese de que el patch que usted desea aplicar esté en el directorio <patchsource> apropiado.

Ver abajo el capitulo 5 en como crear sus propios patchs para aplicar

Configuracion local[editar]

<label> - usted debe cambiar  el nombre del .iso de su distro para reflejar
<mainmodiso> - su módulo principal primario es cambiado/personalizado

Importante para personalizar patchs:

<patchsource>/ibuild/patches</patchsource> - dice a iBuild dónde buscar patchs
<datapath>/ibuild/data</datapath> - dice a iBuild donde buscar archivos de 
configuracion personalizados en patchs

Ejemplos de Config.xml[editar]

El siguiente archivo de configuración mínima. No enumera todo lo necesario, pero basta de demuestra para la estructura. Es muy cercano al archivo stl.xml que se encuentra en el directorio /ibuild/config

sample.xml:

<configuration>
  <basesettings>
    <type>Morphix</type>
    <title>GNUstep</title>
    <id>stl</id>
    <release>/ibuild/release</release>
    <basepath>/ibuild/work/stl</basepath>
    <sourcepath>/ibuild/work/stl/source</sourcepath>
    <releasepath>/ibuild/work/stl/release</releasepath>                  
  
    <sourceimagepath>/ibuild/</sourceimagepath>
  
    <mainmod>stl.mod</mainmod>
    <patchsource>/ibuild/patches</patchsource>
    <datapath>/ibuild/data</datapath>
    <verbose>1</verbose>
    <simulate>0</simulate>
  </basesettings>
  <patches>
    <patch>PrepareRelease</patch>
    <patch>PrepareSource</patch>
    <patch>MountProc</patch>
    <patch>proxy</patch>
    <patch>sources-unstable</patch>
    <patch>bootsplash-theme</patch>
    <patch>grub-theme</patch>
    <patch>kernel-package</patch>
    <patch>build-essential</patch>
    <patch>console-tools</patch>
    <patch>cloop-utils</patch>
    <patch>PackM</patch>
  </patches>
  <localsettings>
    <patchsettings name="PackM" >
      <kfilesystem>KNOPPIX filesystem</kfilesystem>
      <kpublisher>Intellibuild script</kpublisher>
      <label>stl</label>
    </patchsettings>
    <patchsettings name="PrepareSource" >
      <mainmodiso>BareX.mod.iso</mainmodiso>
    </patchsettings>
  </localsettings>
</configuration>

Puede encontrar grandes diferencias abajo en los los archivos de ejemplo /ibuild/config:

 - stl.xml - es usado  por defecto en "MorphixCombined-KDE"   
 - gnustep.xml - Mas información en http://
   

Following not yet there:

 - basicx.xml - es usado  por defecto en "MorphixCombined-LightGUI" con xfce4.0 
 - cli.xml - Es una consola básica Linux con solo algunos sistemas

Creación de Patches[editar]

Los patch son esas pequeñas cosas que permiten que usted agregue un programa, lo configure, y cambie todos archivos de configuracion dentro del chroot. Esto significa que usted puede forzar para que ocurran cambios automáticamente en su LiveCD.


Control.py[editar]

Control.py es un script de python que dirige a iBuild en qué hacer con ese patch. Lo encontrará en el directorio /ibuild/patches/mypatch/, en "mypatch" está el nombre del patch que usted se está aplicando. La manera más fácil de aprender es ver un ejemplo.

NOTA: Para Comentar una línea en control.py, usted debe utilizar un # al 
inicio de línea.
Apt-get[editar]

Apt-get es una herramienta de empaquetado de Debian. que uvica el paquete que usted nesecita, determina cualquier dependencia, y entonces descarga y configura todos los archivos necesitados para instalar su programa. Es una de las características más conocidas de Debian y una de las mas apreciada por sus usuarios.


iBuild utiliza una escript de python para ejecutar Apt-get dentro del ambiente de chroot.

NOTA:  Vea la sección de proxi para información sobre guardar apt-get para 
re-descargar los mismos paquetes en estructuras consecutivas.



Single Package Install[editar]

Uno de los patch más simples de iBuild es el que instala el nethack. Abriendo control.py (/ibuild/patches/nethack/control.py), veamos una línea, que es:

apt.install_packages('nethack')

Esto instalará nethack en su LiveCD. Con una pequena busqueda (Apt-get install -s nethack) muestra que nethack-common y nethack-x11 seran instalados, esto con el paquete debian nethack.

Instar Multiples Paquetes[editar]

¿Qué si usted desea instalar nethack-consola, también? Dira Usted , pues diría simplemente así:

pt.install_packages('nethack nethack-console')


¡Eso es ! Ahora los paquetes de nethack (nethack-common y nethack-x11) y los paquetes nethack-console serán instalados. Observe que esto es un ejemplo simplemente. Usted pude hacer una combinación de cualquier paquete existente en Debian. Apenas este seguro usted hace el Apt-get nombre correcto (es decir, con un simple Apt-get kernel usted puede especificar qué paquete de kernel desea usted).

Personalizando fuentes[editar]

Puede pasar que usted desee instalar un paquete que no esta en los mirrors oficiales de Debian. Un ejemplo actual en iBuild es mplayer. Viendo el archivo de control de mplayer, podemos ver cómo agregar una fuente "en marcha" para la estructura. simplemente Agregue la siguiente línea sobre la línea de apt.install_packages:


apt.AddSource('deb ftp://ftp.nerim.net/debian-marillat/ unstable main')

Esto le permitirá descargar paquetes de fuentes non-official fácilmente. La función de apt.AddSource también permite agregar permanentemente a /etc/apt/sources.list la lista para actualizaciones posteriores que usted instale en el disco duro para su LiveCD personalizado.

Menus y .desktop[editar]

Yo juro (Gandalfar) tomó la decisión para seguir la estructura de menus de freedesktop.org usando los archivos del .desktop para la colocación apropiada de programas en el menú. Sin embargo, hay métodos alternativos que se pueden utilizar en iBuild, aunque no están garantizados para trabajar.



Remove the Default[editar]

Diferentes managers de paquetes ponen sus menús en diversos lugares. Que quedan a menudo bajo menú de "Debian" después de instalarlo. Esto es confuso pues usted tiene que mirar a través de dos árboles de menús. Nuestro ejemplo será el archivo del vncserver de control.py. Para guardar la adición del programa adición al árbol del menú de Debian, usted tendría la línea siguiente (después de apt.install_packages):


menu.remove('vncserver')
Locasacion y Copying de .desktop[editar]

Continuando con vncserver, usted desea especificar la fuente (src) y el destino (dst) del archivo .desktop (véase abajo para su configuración). Si se asume que el src está en la carpeta de patch (/ibuild/patches/vncserver/), usted tendría lo siguiente después de la función de menu.remove.

src = os.path.join(getsetting('patchsource'),'vncserver','vncserver.desktop')
dst =   
os.path.join(getsetting('sourcepath'),'usr/share/applications','vncserver.desktop')
filesystem.Copy(src,dst)

Ese último comando copia el archivo .desktop de la fuente al directorio de destino, que es freedesktop.org compilante. Esto significa que debe trabajar para KDE, Gnome, y eventualmente xfce4.0.

Diseno Alterno del Menu[editar]

Las siguientes funciones trabajan solamente con ciertos programas, pero usted puede sentirse libre intentarlo. Esto cambiará la localización del programa dentro del árbol del menú de Debian.

menu.location('vncserver','Tools')

Una vez más esto no está garantizado que funcione.


Copiado de archivos o Directorios personales[editar]

Puede ser que usted a menudo desee copiar un archivo de configuración personal a su LiveCD. Esto es muy fácil con el iBuild. como ejemplo, Vamos a usar el patsh de <patch>kde-skel</patch>. Que está en el control.py, usted verá lo siguiente:

import os
skel = os.path.join(getsetting('sourcepath'),'etc','skel','.kde')
theme = os.path.join(getsetting('datapath'),'kde-skel','.kde')
filesystem.Copy(theme,skel)

Esto es muy fácil de Hacer, una vez que lo logre con de esta.

En la línea skel (usted puede nombrar el dst o destino, si usted gusta) dice a iBuild a donde el arcivo/directorio sera copiado. Este ejemplo dice el destino de /etc/skel/.kde en nuestro LiveCD personalizado.

En la línea thema (usted puede nombrar el src o fuente, si usted gusta) dice a iBuild de donde el archivo/directorio será copiado. El 'datapath' se define en nuestro config.xml (es /ibuild/data por defecto). Este se busca en /ibuild/data/kde-skel/.kde.

filesystem.Copy(theme,skel) (que podría ser (src, dst) o (fuente,destino) si usted está utilizando esos nombres u ortos en su lugar ) dice a iBuild copiar de theme a skel el directorio de .kde (usted podría fácilmente definir un como archivo).

El propósito de este patch en particular es fijar el arranque por defecto de KDE. Tener el archivo .kde en /etc/skel guarda un Wizard de configuración de KDE para lanzarle cada vez que arranque su CD.

EL archivo .desktop[editar]

NOTA: Esta sección es un poco antigua. La pondré al día pronto. Para un archivo de   
escritorio de trabajo, vea el  patch <patch>stgl-tour</patch>.

Realmente el lugar a donde ir para esto es freedesktop.org. Si usted desea un ejemplo, vea el archivo vncserver.desktop, que quizá debe ser mucho más corto. Rummage alrededor en los paquetes si usted desea ver otros.

[Desktop Entry]
Type=Application
Encoding=UTF-8
Name=vncserver
GenericName=vncserver
Comment=
Icon=
Exec=/usr/bin/vncserver
Terminal=false
Categories=Network

Que significa esto :

[Desktop Entry]
Type=Application - probablemente no nesecite de cambios.
Encoding=UTF-8 - probablemente no nesecite de cambios.
Name=vncserver - el nombre que usted desea que aparesca en el menú.
GenericName=vncserver - una descripción común
Comment= - cualquier cosa que usted quiera 
Icon=
Exec=/usr/bin/vncserver - el comando a ejecutar para correr el programa.
Terminal=false - ¿el programa funciona en un terminal?
Categories=Internet - El sub-menu que usted desea.  Usted puede también hacer algo 
como =Edutainment;Arcade

En lo que respecta a la entrada de las "categorías": Parece que usted debe utilizar una categoría que exista actualmente dentro de la estructura del K menú de KDE para la colocación apropiada. Estamos mirando la manera de cambiar esto, así que sientase a guso experimentando, por favor hagamos y dejemos saber. Puede ser un ajuste de skel/.kde, pero no estamos seguros, atm.

Quemando el .iso[editar]

Linea de Comandos[editar]

La forma más simple, una vez que usted haga su config.xml , teclee:

#cd /ibuild
#sudo python intellibuild/manager.py config/config.xml

Si usted está ejecutando este comando por segunda vez en el mismo directorio de trabajo, usted recibirá el siguiente error

Error: /ibuild/work/custom/release: directory already exists.

Primero desmonte el dev y proc:


#sudo umount /dev
#sudo umount -l /ibuild/work/custom/source/proc

Solo después se puede borrar el directorio del release.

#sudo rm -rf /ibuild/work/custom

Shell interactiva[editar]

Usted también puede interactuar en el proceso de construccion de su LiveCd. De /ibuild, simplemente ejecute:

through the process of building your LiveCd, also. From /ibuild, simply run:

#sudo python intellibuild/manager.py

Usted puede el basconfig con: load baseconfig config.xml

y ejecutar el proceso entero con: build

o simplemente construir un a patch: build <patch name>

Cambion de configuracion Post quemado[editar]

Hay varias maneras de modificar su .iso una vez que usted lo haya construido, sin tener que pasar por el proceso entero. Esto NO es recomendado a menos que usted esté haciendo dentro de un timeframe razonablemente corto, pues pueden afectar uno u otro patch y los cambios de dependendecias no pueden ser reflejados.

Para hacer esto, primero renombre su iso actual (no lo use piera todo su trabajo!) o cambie el nombre al nuevo que será creado (en config.xml en <mainmod>). Entonces corra el siguiente en /ibuild:

#sudo intellibuild/manager.py config/config.xml PATCH1 PATCH2

Se quejará probablemente de que existe /ibuild/work/custom/release. Vaya a continuación y borre ese directorio:

#sudo rm -rf /ibuild/work/custom/release

Usted no podra borrar /ibuild/work/custom/source sin primero desmontar el /dev y /proc:

#sudo umount /dev
#sudo umount -l /ibuild/work/custom/source/proc

Entonces usted puede borrar el directorio:

#sudo rm -rf /ibuild/work/custom

Test y Quemado[editar]

Probablemente usted ya tiene su programa de quemado de .iso preferido. Usted puede ir a continuación y quemar su .iso o lo puede probar usando la "vercion de la instalacion del hombre pobre."

Instalacion del hombre pobre[editar]

La instalacion de el hombre pobre es una manera de arancar su .iso sin quemarlo realmente en un CD. Lo arranca en su disco duro y hace la misma detección del hardware que el LiveCD. Requiere que usted tenga por lo menos un CD de Morphix, aunque. Asumiendo que su directorio de /ibuild está en /dev/hda1, usted arancaria el CD y teclearia lo siguiente en el Morphix: prompt.

Morphix:  morphix fromhd=hda1/ibuild/release/your.iso

Usted puede copiar el .iso via el comando cp -a a donde usted lo quisiera y cambiando el path apropiado.


Quemado via línea de comandos y cdrecord[editar]

Compruebe su dispositivo con

#cdrecord --scanbus

Asumiendo que su comando dio 0,0,0:

#cdrecord dev=0,0,0 speed=12 -dao /ibuild/release/your.iso

Burn via K3B[editar]

Vaya a la configuracion. Asumiendo que K3B esta configurado, vaya a las HERRAMIENTAS, CD, BURN CD y navege en /ibuild/release/Mi.iso

Resolucion de problemas[editar]

P: I'm at a >>> prompt. What do I do? R: That's the python prompt. Hit ctrl-d.

P: obtengo el error, "chroot: apt-get: command not found" R: This probably means chroot isn't working on your partition. To verify this, type:

       #sudo chroot /ibuild/work/custom/source
   You'll get a /bin/bash error.  This means there is a corruption with your copy or extraction of ibuild.  Try to extract it again.

P: I get a syntax error when I try to run: sudo intellibuild/manager.py config/config.xml R: You need to specify python: sudo python intellibuild/manager.py config/config.xml

P: I get an error when one the patches fails (commonly bootsplash-theme). R: Comment it out in the config.xml with:

P: Ayuda! Borre mi /dev y mi sistema no arranca! esta congelado el tiempo del relog... R: no estas usando la version actual! que Vergüenza! Arranca un Morphix CD y cp -a /MorphixCD/dev to /mnt/hda1/dev. entonces chmod -R 766 /dev/pts y ptmx.

Conseguir Ayuda[editar]

Hay varias maneras de conseguir ayuda:

IRC[editar]

El servidor es irc.freenode.net El Canal es #morphix

Mailing list:[editar]
Direct email:[editar]

Correccion en este Howto.

   Kermit Jones - kermit (at) freelifeministries.org

Problemas con IntelliBuild:

   Por favor use como último recurso :   Jure Cuhalev - gandalf (at) owca.info

Traduccion al espanol

   Rafael Ernesto Medina Contreras (REEMC) :

Registro[editar]

6 - 6/16/2004 - Added quite a bit to "short version" and updated custom patching. Thanks to Aleksey for the input!

.5 - 6/09/2004 - Update to reflect iBuild .11. Fixed umount /dev entries.

.4 - 5/15/2004 - Big colorful boxes for warnings and notes. Changed email addresses and put in reminders for /dev.

.3 - 5/14/2004 - Corrected .desktop entry. Changed to reflest ibuild_0.9. Troubleshooting rm -rf /dev

.2 - 5/13/2004 - Added proper TOC. Copy and Paste Support added. Initial "Patches" section inserted.

.1 - 5/10/2004 - Original posting.