Condor:Kernel

by by

=Introducción= El kernel o núcleo del sistema es una pieza fundamental para el sistema operativo, ya que es el gestor del todo el hardware del sistema. El kernel provee de APIs para interactuar con los elementos hardware, con estos métodos los programas creados pueden ser portables e independientes de la arquitectura utilizada.

NOTA: La uimage ya esta precompilada en. Los pasos del 1 al 4 se realizan si se desea hacer una modificacion en el kernel, de lo contrario utilice la uimage precompilada y salte a la seccion de [instalacion del kernel].

=Construcción del kernel de Linux para la arquitectura SAM9=

Para la construcción del núcleo de Linux existen muchos recursos soportados por la comunidad de software libre. Estos recursos hacen referencia a diferentes arquitecturas. En la presente pagina se pretende dar soporte a la construcción del núcleo de Linux para el procesador SAM9XE, componente principal del proyecto CondorBoard.

Paso 1. Bajar las fuentes de linux.
Gracias a los aportes de la comunidad Linux crece día a día a pasos agigantados. Aunque las fuentes utilizadas en esta explicación sean anteriores a las que se pretendan utilizar, las instrucciones deberían ser fácilmente extrapolables a los propósitos del usuario.

La versión exacta del núcleos es "linux-2.6.30", con nombre en los repositorios linux-2.6.30.tar.bz2.

Para descargar y extraer las fuentes de Linux puede usar el siguiente comando

Paso 2. Bajar los parches para el procesador AT91
Este parche agrega el soporte para los procesadores SAM9 al kernel.

Paso 3. Configurar la versión de Linux y usar el parche para la tarjeta CondorBoard
El siguiente parche agrega soporte a soporte de dispositivos al kernel. Para aplicarlo puede usar el siguiente comando.

Por último debe descargar el parche del proyecto CondorBoard. Para aplicarlo puede usar el siguiente comando.

El archivo .config_chuloOct24.11 se encuentra alojado en el git

Si todo marcha según lo esperado en este punto no debe haber surgido ningún error y se procede a la configuración de la construcción del kernel. Para esto use el siguiente comando y responda a todo según lo marcado por defecto (Enter a todo).

Si necesita cambiar, agregar o quitar algo puede ingresar al menú de configuración del kernel. Recuerde que debe tener los paquetes sugeridos al principio de esta pagina instalados

Paso 4. Compilar y esperar
Si se quiere compilar con varios hilos se puede ejecutar el comando asi (la X es el numero de nucleos de su procesador):

Por último debe ejecutar el siguiente comando para comprimir la imagen del kernel en un formato aceptado por el gestor de arranque u-Boot

Con este procedimiento usted obtiene un archivo uImage del kernel ubicado en la carpeta linux-2.6.30

Instalación del kernel y particionamiento del medio de almacenamiento
Existen diversas estrategias para alojar la imagen del kernel uimage y su posterior carga en la RAM del sistema embebido. Una de ellas es la la utilización de la dataflash del sistema, para el caso del CondorBoard debe tener en cuenta el tamaño de la dataflash instalada. A continuación se muestra un ejemplo de organización típica de la memoria del sistema, donde la imagen del kernel está alojada en la dirección 0x42000 en la Dataflash. Para guardar la imagen del kernel en Dataflash se debe hacer uso del Condor:SAM-BA, pero por efectos prácticos se puede configurar una memoria USB para que el U-Boot cargue la imagen del kernel. Para obtener información más detallada de como cargar un archivo desde la memoria USB consulte [Condor:Uboot]

http://www.at91.com/linux4sam/pub/Linux4SAM/GettingStarted/demo_dataflash_map.png

Tomado de Linux4SAM

Particionamiento de la memoria USB
Con el fin de proveer un medio de almacenamietno válido en un medio USB para el U-Boot, es necesario particionar la memoria de la siguiente manera.


 * Partición de Bajo nivel FAT16 con un tamaño recomendado menor o igual a 32 MB
 * Partición del sistema de archivos Ext2 para el sistema de archivos del sistema operativo ( / ) esta partición puede tener el espacio deseado por el usuario. Se recomienda mayor 256 MB

Para particionar un medio de almacenamiento por USB, conéctelo a su PC y detecte el nombre del dispositivo dentro del sistema. Recuerde que los dispositivos de almacenamiento por USB toman nombres de sdX# donde X indica la letra del dispositivo y # indica la partición dentro de la memoria. El comando dmesg le puede listar los últimos eventos dentro de su PC, dentro de estos búsque el medio de almacenamiento correspondiente (En esta expiación el medio de almacenamiento es sdb).

1. Crear nueva tabla de particiones con fdisk /dev/sdX.
 * Pulse m, con esto se visualiza la ayuda.


 * Pulse o, con esto se crea una nueva tabla de particiones dentro de la memoria USB.


 * Pulse p, verifique que no exista ninguna partición.


 * Pulse n, esto crea una nueva partición.


 * -Pulse p, esto indica que es una partición primaria del sistema.


 * -Seleccione 1 para la partición primaria.


 * -Seleccione 1 para indicar el primer sector de la partición


 * -Escriba +32MB para indicar un tamaño de 32MB


 * Pulse p, verifique que se halla creado una nueva partición con los parámetros indicados.


 * Pulse n, ahora se creará la partición del sistema de archivos


 * -Pulse p para primaria.


 * -Seleccione 2, para la segunda partición.


 * -Seleccione la opción por defecto.


 * -Escriba +300MB para indicar un tamaño de 300MB (un poco mayor a lo requerido)


 * Pulse p, verifique que se halla creado una nueva partición con los parámetros indicados.


 * Pulse w, esto escribe los parámetros indicados y sale del programa.


 * Remueva la memoria e insertela nuevamente


 * Identifique su memoria mediante el comando dmesg

Formatear la memoria con los sistemas de archivos FAT y Ext2

 * Identifique su memoria mediante el comando dmesg


 * Ejecute


 * Remueva la memoria e insertela nuevamente


 * Identifique su memoria mediante el comando dmesg

Volver