Cubieboard2, instalación y uso de Cubian

Summary:

Today we tested Cubieboard2, installed OS Cubian, some administrative apps, (we found a problem due to unmet dependencies, we solved it and document solution) and finally we install important applications.

Estuvimos probando el Cubieboard2, instalamos Cubian, instalamos aplicaciones administrativas y aplicaciones básicas ( tuvimos algunas dificultades debido a un problema de dependencias, problema fue resuelto y mostramos como).

CB2_lado

 

El cubieboard2 esta dentro de la familia de los SBC (Single Board Computer por sus siglas en Inglés). A diferencia de cubieboard original este es un equipo dual core gracias al chip Allwinner A20. El resto del hardware es compatible con el Cubieboard original.

 

 

Sus principales especificaciones son;

CPU                      : Dual core con procesador ARM Cortex A7, NEON, VFPv4, 512KB L2-Cache
I/O básicos       : Incluyen 2x USB Host, 1x MicroSD, 1x SATA, 1x sensor IR
I/O extendido : Consiste en 96 pines, incluyendo I2C, SPI, RGB/LVDS, CSI/TS, FM-IN, ADC, CVBS, VGA, SPDIF-OUT, R-TP, y más
Video                  : Salida HDMI 1080P

Al kit de la cubieboard agregamos una caja que es compatible con la Cubieboard original y muy fácil de armar. Se ajustan los tornillos en la base, se aplica la lámina, se coloca la tapa, y ya…

Se ve el cubieboard2 y la caja adicional de soporte.
Se ve el cubieboard2 y la caja adicional de soporte.

 

Materiales Usados

  • Fuente de poder 5V @ 2A
  • Cubieboard2
  • MicroSD 8GB
  • Cable de Red
  • PC con Win7 y lector de SD
  • Acceso a Inet
  • Opcional: Monitor, cable HDMI, Teclado y Mouse

Instalando el Sistema Operativo

Decidimos usar una distro recomendada y empezamos por cubian que hace unos días (06 sept) lanzó su segunda versión. Cubian esta disponible  en su sitio oficial, y es  una variante de Debian.

La imagen esta disponible aquí, la bajamos al PC

Desde Win7 la imagen se descomprime  usando 7-zip

El archivo que queda se carga en la SD con el programa imagewriter

Una vez que se carga  la imagen, se instala la micro SD en el slot de la Cubieboard2, se conecta el cable de red y la alimentación. La conexión via SSH esta disponible, pero en el puerto 36000, (user/password: cubie/cubie). usamos los siguientes comandos

Los comandos iniciales

sudo apt-get update
sudo apt-get upgrade

Por omisión el espacio de memoria ocupado en la SD es de 1GB, y nosotros estamos usando una memoria de 8GB, por lo que necesitamos ampliar para ocupar el espacio disponible.

Necesitamos hacer dos cosas importantes,

  1. Instalar la aplicación de update
  2. usar todo el espacio de la microSD (8GB)

Aplicación de update. (nota: la versión  dice que ya viene instalada esta aplicación aunque no lo comprobamos)  Mediante SSH el usuario root no esta habilitado, para hacerlo usamos el comando sudo -i

sudo  -i
wget -O - http://packages.cubian.org/cubian.gpg.key | apt-key add -
apt-get update && apt-get install cubian-update

La siguiente es la salida

cubie@Cubian:~$ sudo -i
root@Cubian:~# wget -O - http://packages.cubian.org/cubian.gpg.key | apt-key add -
--2013-09-07 15:46:27--  http://packages.cubian.org/cubian.gpg.key
Resolving packages.cubian.org (packages.cubian.org)... 199.27.78.133
Connecting to packages.cubian.org (packages.cubian.org)|199.27.78.133|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1029 (1.0K) [application/octet-stream]
Saving to: `STDOUT'

100%[==============================================================================================================================>] 1,029       --.-K/s   in 0s

2013-09-07 15:46:27 (13.5 MB/s) - written to stdout [1029/1029]

OK
root@Cubian:~# apt-get update && apt-get install cubian-update

Ya esta instalada la aplicación para realizar el update, la usaremos luego. Ahora haremos el cambio de particiones para reconocer todo el espacio de memoria en la tarjeta SD

Ahora siguiendo las instrucciones que se indican aquí, ejecutamos los siguientes comandos

apt-get update && apt-get install cubian-resizefs 
cubian-resizefs /dev/mmcblk0

Con el último comando aparece un dialogo que se debe indicar y(es). Este el texto que aparece

root@Cubian:~# cubian-resizefs /dev/mmcblk0
DEVICE: /dev/mmcblk0
ROOTFS PARTITION: /dev/mmcblk0p1
MBR BACKUP: /root/mbr.bak
ROOTFS PARTITION START: 2048
SECTORS TOTAL MAX: 15523839
PROPORTION: 100
SECTORS END: 15523839

*** IMPORTANT NOTICE, PLEASE READ CAREFULLY ***

This script use fdisk to delete the first partition on SD-card then re-create
it with a larger partition size.

Your SD-card should only contains ONE partition for rootfs, otherwise it won't
work. If you are using cubian before r4, you have to delete the swap partition
manaually, then run this script.

The scirpt is recommended on a clean install of cubian. Otherwise you should
backup your important files on your SD-card because modify partition table is
always risky.

The current working partition table will be saved to /root/mbr.bak, you may save it
to ANOTHER storage media (eg. nand). You can restore the partion table
later without losing any data if any problem happens by running the following command

dd if={PATH_TO_MBR_BAK} of=/dev/{MMC_DEVICE} bs=1 count=64 skip=446 seek=446

***

Are you sure to continue?[y/n]y
*** success, please reboot then run resize2fs /dev/mmcblk0p1 after system is up
root@Cubian:~# reboot

Se debe realizar reboot y luego se debe ejecutar

sudo -i
resize2fs /dev/mmcblk0p1

Esta es la salida

cubie@Cubian:~$ sudo -i
root@Cubian:~# resize2fs /dev/mmcblk0p1
resize2fs 1.42.5 (29-Jul-2012)
Filesystem at /dev/mmcblk0p1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/mmcblk0p1 is now 1940224 blocks long.

Para verificar que todo funciona ejecutamos df -h

root@Cubian:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs          7.3G  468M  6.6G   7% /
/dev/root       7.3G  468M  6.6G   7% /
devtmpfs        414M     0  414M   0% /dev
tmpfs            83M  156K   83M   1% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           166M     0  166M   0% /run/shm
tmpfs           414M     0  414M   0% /tmp
tmpfs           414M     0  414M   0% /var/tmp

En la salida de este comando se aprecia que tenemos espacio disponible.

Ahora que tenemos el espacio de memoria disponible ejecutamos la aplicación de update con el siguiente comando

cubian-update

Este es el dialogo:

root@Cubian:~# cubian-update
*** Performing self-update
*** Cubian updater v1.1.1 http://cubian.org
*** Updating firmware
*** Updating kernel
*** Updating modules
*** Depmod 3.4.43+
*** Updating fs
*** Updating bootloader on SD-Card
*** Update success, A reboot is needed for changes to take effects
root@Cubian:~#reboot

Instalando Software

Cuando trataba de instalar via apt-get me aparecian muchos errores del tipo “unmet dependencies” relacionados con Python v2.6 …
buscando encontre este tutorial 

los comandos aplicados para resolver este problema fueron los siguientes

sudo -i
apt-get clean
apt-get autoclean
apt-get update
apt-get -f install
dpkg --configure -a
apt-get -f install
apt-get -u dist-upgrade
apt-get -o Debug::pkgProblemResolver=yes dist-upgrade

Resuelto ese problema instalamos lo siguiente

 

Escritorio

sudo apt-get install lxde

Suite científica (numpy, scipy, matplotlib, ipython notebook y pandas)

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas

SimpleCV

sudo apt-get install ipython python-opencv python-scipy python-numpy python-setuptools python-pip
sudo pip install https://github.com/sightmachine/SimpleCV/zipball/master

Nota 15/09 : al probar un script me indica que falta una dependencia muy importante, pygame , que se instala con el comando

sudo apt-get install python-pygame

Grafos

sudo pip install networkx

Conclusiones

Hemos visto lo básico de la Cubieboard2, instalamos un escritorio e instalamos aplicaciones varias, esta lista para usar. En un próximo artículo veremos el uso de los pines extendidos.

Te interesa el Cubieboard2 ? Tienes alguna idea de aplicación que te gustaría ver ? Contáctanos en el formulario al final de este artículo.

Author: manuel

Ingeniero Eléctrico, Institutano, instructor certificado Cisco, en twitter @mcarrasco con comentarios y opiniones personales.

10 thoughts

  1. ¿dónde la compraste?
    ¿cuánto te costó con gastos de envío, aduanas,…?
    Si puede ser, saber a qué país la enviaron por el tema de los gastos de envío.
    Y gracias por tu blog.

    1. Hola Manuti: El CB2 y la caja las compré en la siguiente tienda. El Cubieboard2 tiene un valor de USD59 y la caja (compatible con CB y CB2) USD7,95. Ellos lo envian por correo tradicional a un costo de USD11, y no tiene otros costos mientras pidas por unidad. Los tiempos de entrega son largos y, a Santiago de Chile, se demoró cerca de un mes y medio. Saludos Manuel

  2. Excelente articulo, podría probarse con Android, ver como anda Youtube ya que en el Raspberry los vídeos os no se puede ver a no ser que hagan algunos trucos, el rendimiento como servidor web corriendo Tomcat, ver como anda Java, no se si la Cubieboard con Cubian tiene los mismos problemas que el Raspberry que el Raspbian Soft Float donde Java corre muy lento, eso se me ocurre, Saludos y sigan adelante!

    1. Hola César:

      Gracias por las sugerencias, haremos algunas de las pruebas que indicas. Por lo pronto te comento que Youtube es soportado en forma nativa en Cubian (sin hacer cambio alguno).

      Le voy a cargar una versión de Android en la memoria interna de 4GB a ver como anda todo. La otra opción es instalar XBMC y dejarlo definitivamente como media center.

      En relación a Java, o mas bien OpenJDK, he sabido que las plataformas basadas en ARM tienen algunos problemas, pero haremos el intento en los próximos dias.

      Saludos

      Manuel

  3. I like the helpful information you provide in your articles. I will bookmark your weblog and check again here regularly. I am quite sure I will learn many new stuff right here! Good luck for the next!

  4. Buenos dias ! queria saber si es posible instalar opencv en python para realizar proyectos a través de una cámara web , de reconocimiento de objetos y formas y rostros . de no ser posible me gustaría que me recomendaran alguna placa. muchas gracias !

    1. Lucas,

      OpenCV esta pensado para eso y se puede usar desde Python. Como placa te recomendamos la Raspberry Pi2.

      Revisa los otros articulos que tenemos sobre OpenCV.

      Saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *