Uno de los regalitos que me traje del ElastixWord fue una placa Asiri, la placa utilizada en el appliance Elastix microUCS. El hardware no es extremadamente potente, tiene un procesador a 450 MHz con juego de instrucciones ARMv5 y 256 MB de RAM, pero aguanta el tirón, así que vamos a meterle mano 🙂
La única opción disponible a día de hoy es instalar uElastix, que está basado en Fedora 17, así que vamos a ello. Las instrucciones incluidas son bastante precisas, pero tuve un problemilla que no esperaba, así que espero que este post ayude a aquellos que hayan podido tener el mismo problema.
Antes de comenzar, necesitaremos una tarjeta SD de 4GB. No me seáis cutres y uséis una de los chinos, que sea de clase 10.
Paso 1: Particionar la tarjeta SD
Es necesario crear 2 particiones, una en formato FAT con al menos 16 MB, y otra EXT3 con el resto. Yo por si acaso he creado la FAT de 128 MB, que tampoco pasa nada.
Para este paso podemos usar fdisk, asumiendo que el dispositivo ha sido detectado como /dev/sdd:
fdisk /dev/sdd
Así es como quedaría tras crear las particiones:
Disk /dev/sdd: 3965 MB, 3965190144 bytes 4 heads, 16 sectors/track, 121008 cylinders, total 7744512 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdd1 * 2048 264191 131072 e W95 FAT16 (LBA) /dev/sdd2 264192 7744511 3740160 83 Linux [root@uelx ~]#
Paso 2: Formatear las nuevas particiones
Tenemos que formatear las particiones con su sistema de ficheros correspondiente:
mkfs.vfat -n BOOT /dev/sdd1 mkfs.ext3 -L rootfs /dev/sdd2
Paso 3: Copiar los ficheros de sistema
Primero vamos a descargar la versión correspondiente a Asiri de la página de uElastix.
A continuación descomprimimos el fichero, que contiene 2 ficheros comprimidos, y los descomprimimos en las particiones correspondientes:
mkdir elastix-arm tar -C elastix-arm xvf elastix-arm-2013-10-25.tar cd elastix-arm mount /dev/sdd1 /mnt tar -C /mnt -xzf BOOT.tar.gz umount /mnt mount /dev/sdd2 /mnt tar -C /mnt -xzf rootfs.tar.gz umount /mnt
En este momento ya podemos introducir la tarjeta SD en Asiri y conectar el cable ethernet y el de corriente. No guardéis muy lejos el lector de tarjetas SD, puede que nos haga falta de nuevo.
Paso 4: Acceso por SSH
Por defecto Asiri viene configurada en la IP 192.168.1.251. Si vuestra red no es la 192.168.1.0/24 podéis crear un alias:
ifconfig eth0:0 192.168.1.123/24 up
Aquí es posible que tengáis un problema: no funciona el acceso SSH. De hecho, al hacer un nmap no muestra ni el puerto abierto:
Host is up (0.0037s latency). Not shown: 989 closed ports PORT STATE SERVICE 25/tcp open smtp 80/tcp open http 110/tcp open pop3 143/tcp open imap 443/tcp open https 993/tcp open imaps 995/tcp open pop3s 2000/tcp open cisco-sccp 3306/tcp open mysql 4445/tcp open upnotifyp Nmap done: 1 IP address (1 host up) scanned in 1.61 seconds
Tras analizar el syslog, el problema parece ser que SSH tarda demasiado en crear las claves en su primera ejecución, y systemd decide matarlo, así que decidí copiar las mías de manera temporal, para que al menos el demonio arranque y podamos entrar. Para ello sacamos la tarjeta SD y la volvemos a colocar en el host donde hemos estado preparándola anteriormente:
mount /dev/sdd2 /mnt cp /etc/ssh/ssh_host* /mnt/etc/ssh/ umount /mnt
Volvemos a poner la tarjeta SD en Asiri, y ya debería funcionar. A partir de este momento podemos acceder a la interfaz web de configuración para cambiar la configuración de red, instalar módulos adicionales, etc:
Si aún así no funciona lo mejor es correr en círculos un rato y posteriormente sentarse en un rincón a llorar 😛
En el siguiente post veremos cómo añadir soporte GPIO a nuestra placa Asiri, ¡estad atentos!