OpenDomo SDK

Tal como se ha comentado en otros artículos, existe un entorno de desarrollo pensado para facilitar las tareas de desarrollo de OpenDomo desde Linux/Unix, el llamado ODSDK (OpenDomo Software Development Kit). Este entorno se basa en un script que automatiza las principales etapas del proceso de creación de una distribución completa, incluso las etapas requeridas para lanzar las versiones oficiales.

Aunque la intención de ODSDK es hacer para el desarrollador lo más fácil posible completar este proceso, el ensamblado de un Sistema Operativo completo dista de ser trivial, por lo que en este manual intentaremos resolver las dudas que puedan aparecer.

 

Empezando

En primer lugar, debemos dar por hecho que los archivos fuente han sido correctamente descargados, tal como se indica paso a paso en el artículo Primeros pasos con OpenDomo: aún más fácil. Si no es así, deberemos empezar por descargar el código fuente desde el SVN mediante el siguiente comando:

$ svn checkout https://opendomo.googlecode.com/svn/trunk/ opendomo --username usuario
$ cd opendomo
$ ./odsdk.sh update

El comando "update" descargará todos los archivos del buildroot necesarios, y actualizará el código si es necesario. Es una buena práctica ejecutar este comando antes de empezar a trabajar. Una vez descargado el script odsdk.sh, recomendamos probarlo con el comando "help":

$ ./odsdk.sh help

El script incorpora varias páginas de documentación (accesibles a través del comando "./odsdk.sh man"), que intentan hacer más claro su funcionamiento.

 

Un poco de perspectiva

Ahora que ya tenemos el entorno de desarrollo a punto, vamos a desglosar el proceso de creación de una distribución OpenDomo en cuatro pasos principales:

  1. Creación del núcleo (kernel Linux) y del sistema base (Busybox)
  2. Compilación de los paquetes de software internos y externos
  3. Selección de los paquetes y controladores a incluír
  4. Empaquetado de la distribución en ISO

El primer paso puede ejecutarse mediante los comandos  "brmc" y "brmake" (el primero para propagar el archivo de configuración, y el segundo para realizar la compilación), si se desea emplear la configuración por defecto; si, por lo contrario, deseamos ajustar algunas opciones del buildroot deberemos ejecutar antes el comando "br-menuconfig". Si por alguna razón no queremos recompilar el sistema base ni el kernel (por ejemplo, porque solamente queremos probar alguno de los paquetes complementarios), podremos emplear el script extract_basefiles.sh (dentro de opendomo-distro) indicándole la ubicación del archivo ISO que contenga el sistema base que queramos utilizar.

El segundo paso incluye la compilación de los paquetes propios de OpenDomo y los paquetes externos "portados" a esta plataforma. Compilaremos los paquetes propios mediante el comando "packages" y los externos mediante "external" (o uno a uno lanzando manualmente los scripts mkpkg incluidos en opendomo-distro/external). El resultado será una serie de archivos tar.gz en las ubicaciones packages y external/packages respectivamente.

En el tercer paso deberemos decidir qué paquetes vamos a incluir en nuestra distribución; podemos eliminar aquellos que no consideremos necesarios del directorio packages. Para seleccionar también los controladores, recomendamos hacer una ejecución previa del comando "mkiso", que generará dentro del directorio drivers una lista con todos los archivos encontrados dentro del sistema base (files.all) y los archivos tar.gz con los controladores que se detallan en los archivos .lst.

Hecha esta selección, podremos ejecutar de nuevo el comando "mkiso" para completar nuestra distribución. Recomendamos lanzar la batería de tests automáticos (mediante el comando "test") para garantizar el funcionamiento mínimo de la distribución creada. Este paso es indispensable si lo que queremos hacer es crear una distribución oficial (mediante el comando "release").

 

Personalizando la distribución

Si estás familiarizado con los entornos de desarrollo de Linux, tal vez quieras modificar algunas de las opciones de compilación usadas. Puedes hacerlo del siguiente modo:

$ ./odsdk.sh knmc

El comando anterior abre el menú de configuracion del kernel. Si lo que deseas es modificar las opciones del buildroot, lo puedes hacer mediante el siguiente comando:

$ ./odsdk.sh brmc

Una vez aplicados los cambios, sera necesario ejecutar la compilación:

$ ./odsdk.sh brmake

NOTA: Hay que tener presente que algunas modificaciones requieren ejecutar el temido "distclean", o lo que es lo mismo, borrar todos los archivos fuente de buildroot y volver a ejecutar "update".

 

Actualización de archivos fuente

El entorno de desarrollo debe ser actualizado antes de cada sesión de trabajo. Para hacerlo bastará con ejecutar el comando "update", y se procederá a actualizar los archivos fuente de OpenDomo y, si es necesario, el buildroot.