English Version

+ Introducción

+ Grupo de Investigación

+ Descargar

+ Código Fuente

+ Entorno de Trabajo

+ SODIUM Developer Kit

+ Configuración

+ Ejecución e Instalación


+ Probar SODIUM Online




Ejecución e Instalación

Ejecución e Instalación de SODIUM

Tanto para compilar, ejecutar, o instalar SODIUM es necesario haber generado el archivo de configuración Makefile.cfg mediante ejecutar configurar.sh. Una vez generada la configuración, es posible ejecutar cualquiera de los comandos indicados a continuación. Para que estos comandos funcionen correctamente, es necesario ejecutarlos desde el directorio raíz de SODIUM.

 

Ejecución de Pruebas

Para realizar una ejecución de prueba de SODIUM (con la configuración indicada en configurar.sh) sólo hace falta ejecutar el comando:

    # make test

Una vez ejecutado, se procederá a la compilación de SODIUM, al armado de las imágenes booteables, y se inicia bochs para emular el funcionamiento de una máquina real. Si el resultado de la compilación es correcto, se abrirá una nueva ventana con la visualización gráfica de bochs corriendo SODIUM como se muestra a continuación:

También se muestra el siguiente mensaje en la ventana de consola de bochs:

Bienvenidos a SODIUM - Bochs Internal Debugger detectado...

Si el código ya se encuentra compilado de una prueba anterior, make test no recompilará el código ni regenerará las imágenes. Ya que dichos elementos existen, sólo lanza el emulador bochs.

En caso de haber hecho algún cambio en el código, es necesario eliminar y recompilar todas las imagenes, binarios ejecutables, y archivos intermedios para que las pruebas consiguientes puedan detectarlos. Para lograr esto, y recompilar en un sólo paso, basta con ejecutar:

    # make clean test

 

Instalación en Dispositivos Físicos

Para realizar una instalación booteable de SODIUM sobre un dispositivo físico (con la configuración indicada en configurar.sh) sólo hace falta ejecutar el comando:

  # make install

Una vez ejecutado, se procederá a la compilación de SODIUM, al armado de las imágenes booteables, y se reemplazará los primeros Mbytes (depende del tipo de dispositivo) del contenido del dispositivo destino con la imagen correspondiente. Por ejemplo, al instalar SODIUM en un dispositivo tipo Pendrive (USB) con sistema de archivos FAT12, se obtendrá una salida como la siguiente:

======================================================================
Instalando SODIUM en el dispositivo de tipo USB - FAT16…
- Desde Imagen: ./build/sodium_fat16.img...
- al dispositivo: /dev/sdb1…
======================================================================

# En cuanto se requiera ampliar el tamaño del kernel+progs a mas de un #1MB descomentar este codigo que copia el tamaño completo de la #imagen. Mientras tanto boot se copiara al tamaño de un disquette para #disminuir el tiempo de copiado

#@echo `ls -la ./build/sodium_fat16.img | cut -d' ' -f5`/1024 | bc > #count.tmp

#@dd if=./build/sodium_fat16.img of=/dev/sdb1 bs=1024 count=`cat #count.tmp`

#rm count.tmp

1440+0 records in
1440+0 records out
1474560 bytes (1.5 MB) copied, 0.00533299 s, 276 MB/s

======================================================================
    SODIUM se ha instalado correctamente en el dispositivo.
    ======================================================================

En caso de haber hecho algún cambio en el código, es necesario eliminar y recompilar todas las imagenes, binarios ejecutables, y archivos intermedios para que las instalaciones consiguientes puedan detectarlos. Para lograr esto, y recompilar en un sólo paso, basta con ejecutar:

    # make clean install

 

Otros Comandos Útiles

Para eliminar todos los binarios ejecutables, imágenes, y archivos intermedios luego de una prueba o instalación, es necesario ejecutar:

# make clean

Este comando elimina todos los archivos generados salvo Makefile.cfg, y deja al directorio raíz en el estado original provisto por el repositorio SVN. Esto es especialmente útil para evaluar si hubieron cambios en los archivos versionados en SVN, y poder agregar/quitar aquellos agregados o eliminados. Por lo tanto, es conveniente realizar dicha limpieza antes de ejecutar cualquiera de estos comandos:

# svn update
    # svn commit
    # svn status
    # svn export


Para copiar todos los archivos de código de SODIUM a la carpeta temporal /tmp/sodium sin los directorios ocultos de SVN, es posible ejecutar el siguiente comando:

# make sin_svn

La salida de dicho comando y su resultado pueden observarse a continuación:

======================================================================
Copiando version de SODIUM sin SVN a /tmp/sodium…
======================================================================

# ls /tmp/sodium

bochs.rc  build   configurar.sh  herramientas  kernel    Makefile.cfg

boot      common  docs           include       Makefile  usr

Para generar documentación automatizada de estructuras / funciones / llamados / declaraciones mediante Doxygen, es necesario ejecutar el comando:

# make docs