Configuración de la plataforma Beagleboard para usar Opencv
Herramientas:
Beagleboard www.beagleboard.org con hub usb, tarjeta de red preferiblemente Ethernet, teclado y ratón.
Cpu con linux "la la guia está probada con 9.10 karmic y 10.40 jauny"
SD preferiblemented de mas de 2GB de capacidad, se usó una marca Ridata y una Kingston. la beagle es bastante compatible, sin embargo seria bueno revisar el manual antes de comprarla
lo primero que hay que hacer es formatear la memoria SD de tal manera que pueda arrancar el SO de ella asi:
Insertar la SD en la máquina, con lo que la SD es detectada y automáticamente montada por linux. Supongamos que fue montada en "/media/misd", para ver en que dispositivo se lista la SD en "/dev/sdX" abrir una terminal y poner:
mount
"o en su defecto"
dmesh | tail
y debe salir una linea así:
/dev/mmcblk0p1 on /media/misd
notese que el sistema ve a las sd o discos como sda, sdb o como mmcblk0. ahora vamos a desmontar la sd
sudo umount /media/misd
Para el particionado se va a usar fsdisk, es mas sencillo y con interfaz de usuario muy intuitiva a continuación se listan las opciones a seguir en fdisk
para abrir: "nótese que no se usó la partición mmcblk0p1 sino el disco mmcblk0, de la misma manera si su dispositivo por ejemplo es sdc1 use solamente sdc"
sudo fdisk /dev/mmcblk0
oprimir "p" y enter. sale:
Disco /dev/mmcblk0: <span class="nu0">7948</span> MB, <span class="nu0">7948206080</span> bytes
81 cabezas, 10 sectores/pista, <span class="nu0">19165</span> cilindros
Unidades = cilindros de <span class="nu0">810</span> * <span class="nu0">512</span> = <span class="nu0">414720</span> bytes
Identificador de disco: 0x000882ca
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/mmcblk0p1 11 <span class="nu0">19166 7757824</span> b W95 FAT32
anotar el primer número en este caso 7948206080 que depende del tamaño de la SD
Borrar esta partición presente en mmcblk0p1
oprimir "d" y enter. Sale: Se ha seleccionado la partición 1
Orden (m para obtener ayuda):
ir a modo experto
oprimir "x" y enter y después "h" y enter. Sale:
Orden avanzada (m para obtener ayuda): h
Número de cabezas (1-256, valor predeterminado 255):
oprimir "255" y enter después oprimir "s" y enter y luego "63" y enter. Sale
Número de cabezas (1-256, valor predeterminado 255): 255
Orden avanzada (m para obtener ayuda): s
Número de sectores (1-63, valor predeterminado 63): 63
Atención: estableciendo desplazamiento de sector para compatibilidad con DOS
el número de cilindros debe cumplir:
cilindros = bytes de la SD / cabezas / sectores / tamaño del sector (512))
en nuestro caso
bytes de la SD =<span class="nu0">7948206080
cabezas=255
sectores=63
tamaño del sector=255</span>
calcullando serian
7948206080 / 255 / 63 / 512 = 966.314348
osea se toma la parte entera que corresponde a 966
oprimir "c" y enter
En espe paso ponemos el número calculado anteriormente
oprimir "966" y enter NOTA: solo en el caso de ejemplo
oprimir "r" y enter
para verificar oprimir "p" y enter
ya solo basta crear las dos particiones:
para la primer apartición
oprimir "n" y enter
oprimir "p" y enter
oprimir "1" y enter y enter "usar opción por default"
seleccionar el cilindro # 50
oprimir "+50c" y enter
para la segunda partición
oprimir "n" y enter
oprimir "p" y enter
oprimir "2" y enter y enter "usar opción por default cilindro 52 en este caso"
y de nuevo oprimir enter y usar el último cilindro por defecto "699 en nuestro caso"
para ver todos los cambios oprimir p y enter sale:
Disco /dev/mmcblk0: <span class="nu0">7948</span> MB, <span class="nu0">7948206080</span> bytes
255 cabezas, 63 sectores/pista, <span class="nu0">966</span> cilindros
Unidades = cilindros de <span class="nu0">16065</span> * <span class="nu0">512</span> = <span class="nu0">8225280</span> bytes
Identificador de disco: 0x000882ca
Disposit. Inicio Comienzo Fin Bloques Id Sistema
<span class="sy0">/</span>dev<span class="sy0">/</span>mmcblk0p1 <span class="nu0"> 1 51 409626 83</span> Linux
<span class="sy0">/</span>dev<span class="sy0">/</span>mmcblk0p2 <span class="nu0">52 966 7349737</span>+ <span class="nu0">83</span> Linux
para realizar los cambios
oprima "w" y enter
para formatear la partición de inicio de la SD:
<span class="kw2">sudo</span> mkfs.ext3 <span class="re5">-L</span> LINUX <span class="sy0">/</span>dev<span class="sy0">/</span>mmcblk0p2
ya está lista la SD para trabajar, solo basta copiar los archivos a la memoria, para esto, retire la SD del PC y vuelvala a poner si todo está bien linux debe montarla como BOOT y como LINUX,
estos deben descargarse al disco duro del PC y ser copiados y pegados en este orden uno por uno a la partición. puede usar el gestor de ventanas. RESPETE EL ORDEN Y LOS NOMBRES CITADOS,DE OTRA MANERA NO FUNCIONA.
listos estos 3 archivos, solo falta poner la imagen de linux,
puede usar las facilmente la consola para esto así:
wget http://www.angstrom-distribution.org/demo/beagleboard/Angstrom-Beagleboard-demo-image-glibc-ipk-2010.3-beagleboard.rootfs.tar.bz2
sudo tar xjfv *2010.3-beagleboard.rootfs.tar.bz2 -C /media/LINUX
Primero, iniciar el SO recién instalado configurando las cuentas de usuario y demás, en este paso se contaba con internet en la plataforma por medio de DSL por Ethernet.
los pasos son los siguientes:
ya está listo para usar si desea puede instalar también los paquetes gcc, g++ y make
el siguiente es un ejemplo de script para compilar multiples fuentes estos deben guardarse en un archivo de texto llamado "nombre_del_archivo.sh" y ejecutados como se explica mas adelaqnte:
en el script anterior puede usarse gcc en vez de g++ si solo cuenta con archivos en C. El modo de uso es el siguiente:
Después de configurar el script a su necesidad y suponiendo que se llame compile.sh:
Configuración de la plataforma Beagleboard para usar Opencv
Herramientas:
Beagleboard www.beagleboard.org con hub usb, tarjeta de red preferiblemente Ethernet, teclado y ratón.Cpu con linux "la la guia está probada con 9.10 karmic y 10.40 jauny"
SD preferiblemented de mas de 2GB de capacidad, se usó una marca Ridata y una Kingston. la beagle es bastante compatible, sin embargo seria bueno revisar el manual antes de comprarla
Los pasos de configuración del SO:
Para instalar la distribución de linux, angstrom. Tomado de : "http://pixhawk.ethz.ch/tutorials/omap/boot_from_sd_sdhc"Dar formato a la SD
lo primero que hay que hacer es formatear la memoria SD de tal manera que pueda arrancar el SO de ella asi:Insertar la SD en la máquina, con lo que la SD es detectada y automáticamente montada por linux. Supongamos que fue montada en "/media/misd", para ver en que dispositivo se lista la SD en "/dev/sdX" abrir una terminal y poner:
y debe salir una linea así:
notese que el sistema ve a las sd o discos como sda, sdb o como mmcblk0. ahora vamos a desmontar la sd
Para el particionado se va a usar fsdisk, es mas sencillo y con interfaz de usuario muy intuitiva a continuación se listan las opciones a seguir en fdisk
para abrir: "nótese que no se usó la partición mmcblk0p1 sino el disco mmcblk0, de la misma manera si su dispositivo por ejemplo es sdc1 use solamente sdc"
oprimir "p" y enter. sale:
anotar el primer número en este caso 7948206080 que depende del tamaño de la SD
Borrar esta partición presente en mmcblk0p1
oprimir "d" y enter. Sale:
Se ha seleccionado la partición 1
Orden (m para obtener ayuda):
ir a modo experto
oprimir "x" y enter y después "h" y enter. Sale:
Orden avanzada (m para obtener ayuda): h
Número de cabezas (1-256, valor predeterminado 255):
oprimir "255" y enter después oprimir "s" y enter y luego "63" y enter. Sale
Número de cabezas (1-256, valor predeterminado 255): 255
Orden avanzada (m para obtener ayuda): s
Número de sectores (1-63, valor predeterminado 63): 63
Atención: estableciendo desplazamiento de sector para compatibilidad con DOS
el número de cilindros debe cumplir:
en nuestro caso
calcullando serian
osea se toma la parte entera que corresponde a 966
oprimir "c" y enter
En espe paso ponemos el número calculado anteriormente
oprimir "966" y enter NOTA: solo en el caso de ejemplo
oprimir "r" y enter
para verificar oprimir "p" y enter
ya solo basta crear las dos particiones:
para la primer apartición
oprimir "n" y enter
oprimir "p" y enter
oprimir "1" y enter y enter "usar opción por default"
seleccionar el cilindro # 50
oprimir "+50c" y enter
para la segunda partición
oprimir "n" y enter
oprimir "p" y enter
oprimir "2" y enter y enter "usar opción por default cilindro 52 en este caso"
y de nuevo oprimir enter y usar el último cilindro por defecto "699 en nuestro caso"
para ver todos los cambios oprimir p y enter sale:
para realizar los cambios
oprima "w" y enter
para formatear la partición de inicio de la SD:
para formatear la partición de datos de la SD:
ya está lista la SD para trabajar, solo basta copiar los archivos a la memoria, para esto, retire la SD del PC y vuelvala a poner si todo está bien linux debe montarla como BOOT y como LINUX,
copiar los archivos del SO a la SD
para este paso bastaen un principio con descargar los archivos de la pagina "http://www.angstrom-distribution.org/demo/beagleboard/"primero descargar los archivos:
MLO
u-boot.bin
uImage "notese la i mayuscula"
estos deben descargarse al disco duro del PC y ser copiados y pegados en este orden uno por uno a la partición. puede usar el gestor de ventanas. RESPETE EL ORDEN Y LOS NOMBRES CITADOS,DE OTRA MANERA NO FUNCIONA.
listos estos 3 archivos, solo falta poner la imagen de linux,
puede usar las facilmente la consola para esto así:
con esto último ya se cuenta con una imagen lista para usar de linux Angstrom en la beagleboard, también pueden archivos generados por narcissus "http://www.angstrom-distribution.org/narcissus/" o compilar su propia distribución basada en angtrom siguiendo los pasos en "http://pixhawk.ethz.ch/tutorials/omap/openembedded_bitbake_installation"
Instalar opencv en Angstrom
Primero, iniciar el SO recién instalado configurando las cuentas de usuario y demás, en este paso se contaba con internet en la plataforma por medio de DSL por Ethernet.los pasos son los siguientes:
manual inspirado de "http://nb-no.facebook.com/note.php?note_id=135375324361" , de "http://markmail.org/message/yck3o5a3hlvhbbtc" y de
"http://permalink.gmane.org/gmane.comp.hardware.beagleboard.user/1744"
ffmpeg ya se encuentra instalado por defecto en la imagen de ejemplo
actualizar paquetes:
ya está listo para usar si desea puede instalar también los paquetes gcc, g++ y make
el siguiente es un ejemplo de script para compilar multiples fuentes estos deben guardarse en un archivo de texto llamado "nombre_del_archivo.sh" y ejecutados como se explica mas adelaqnte:
en el script anterior puede usarse gcc en vez de g++ si solo cuenta con archivos en C. El modo de uso es el siguiente:
Después de configurar el script a su necesidad y suponiendo que se llame compile.sh:
Un script para compilar un solo fuente:
el modo de uso es el siguiente:
suponiendo que el script se llama compilame.sh:
Con esto terminan el manual de uso de Opencv en la beagle board, dudas comentario sugerencias y felicitaciones puede enviarlas a
calderonf@gmail.com
Ing. Francisco Carlos Calderón