INTRODUCCIÓN
Si usted ha estado jugando con la Edison, te habrás dado cuenta de que el Proyecto “Yocto” puede ser difícil de trabajar. Es decir, quieren que vuelva a construir Linux desde cero cada vez que usted necesite habilitar un paquete. Esto es grande si usted está haciendo un producto final con la Edison, y necesita una versión rápida y reducida de Linux. Sin embargo, si desea más características y un administrador de paquetes completo, vale la pena instalar una versión diferente de Linux en el Edison.

Para este tutorial, instalaremos Ubilinux en la Edison y habilitaremos algunas características importantes (como WiFi). Ubilinux es una costumbre en Linux, basando su imagen en Debian. Esta versión de Linux fue usada en la ¡Sparkfun live! episodio “Tweenting Turkey Temperature Timer”.
Usted necesitará una Intel Edison y una de las tarjetas que permiten reprogramar la Edison, como la “Sparkfun Base Block”, el “Mini Breakout Kit” o el “Arduino Breakout Kit”.
IMPORTANTE: Usted puede potenciar su Edison siguiendo este tutorial. Hágalo bajo su propio riesgo.Tenga especial cuidado en la parte donde dice que no desconecte su Edison durante al menos 2 minutos.
Lectura recomendada:
- Guía de introducción a Edison
INSTALACIÓN UBILINUX
Tenemos que descargar la imagen Ubilinux, que vamos a instalar en el Edison, y algunos programas dependiendo de su sistema operativo actual.
IMPORTANTE: Asegúrese de que el Edison no está encendido o conectado al ordenador anfitrión de este tiempo.
WINDOWS
Si usted no tiene previamente instalado los controladores de la Intel Edison para Windows, necesitará hacer esto primero:
- navegue por https://communities.intel.com/docs/DOC-23242
- Deslice y descargue el archivo “Windows Driver setup”.
- Haga doble click en la descarga .exe y siga el comando rápido (aceptando todo por defecto) para instalar los controladores.
Descargar y instalar 7-zip desde la página 7-zip.org. Probablemente quiera la versión .msi
Descargar dfu-util para Windows (este ejecutable viene desde la comunidad spark.io).
Descargar la imagen Ubilinux navegando por http://www.emutexlabs.com/ubilinux y haga click en “ubilinux para Edison”.
Dirigase a Start → All Programs → 7-Zip → 7-Zip Administrador de archivos. Dentro del administrador de archivos, navegue por sus carpeta de descarga. Seleccione “dfu-util-0.8-binaries.tar.zx” y luego “Extract.”

Haga click en “OK” cuando le pida extraer los archivos, aceptando el destino predeterminado.“dfu-util-0.8.binaries.tar” aparecerá en el administrador de archivos de 7-Zip. Haga doble click para entrar a la carpeta. Seleccione “dfu-util-0.8-binaries.tar” y haga click en “Extract” para extraer “dfu-util” una vez más.

Haga click en “OK” cuando se le solicite. Presione el botón “Up One Folder” para navegar de nuevo a su carpeta de descargas.

Realice los mismos pasos para extraer la imagen Ubilinux:
- Seleccione el archivo ubilinux-edison-XXXXXX.tar.gz.
- Haga click en “Extract”.
- Haga Click en “OK” en el recuadro pop-up.
- Espere mientras se extraen.
- Haga doble click en “ubilinux-edison-XXXXXX.tar” para entrar al archivo “tar”.
- Seleccione el archivo “ubilinux-edison-XXXXXX.tar”.
- Haga click en “Extract”.
- Espere una vez más mientras se extraen.

Abra una ventana exploradora de archivos y navegue a <su carpeta de descargas>\dfu-util-0.8-binaries.tar\dfu-util-0.8-binaries\dfu-util-0.8-binaries\win32-mingw32.. Haga clic derecho en “dfu-util.exe” y haga click en “Copy”.

Vaya a la carpeta “toFlash”, que está descomprimida en la Ubilinux (<su carpeta de descargas>\ubilinux-edison-141030.tar\ubilinux-edison-141030\toFlash). Haga clic derecho y seleccione “Paste” para pegar en el archivo dfy-util.exe.

En la carpeta “\toFlash”, desplácese hacia abajo para encontrar el archivo “flashall.bat.” Haga doble click para iniciar el proceso de instalación.

Una ventana de comandos se abrirá y le pedirá que conecte su Edison.

Conecte su Edison (Use J16 para las tarjetas “Intel Arduino” y “Mini-Breakout”. Utilice “OTG” para la “Sparkfun Edison Base Block”), y ¡el proceso de instalación comenzará!

ADVERTENCIA: Una vez que se cierre la ventana de comandos del sistema, tendrá que esperar por lo menos 2 minutos para que se complete la instalación. La Edison debe reiniciar un par de veces para finalizar su instalación. ¡No desenchufe el Edison! Es buena idea alejarse por esos 2 minutos.
MAC OSX
Descargue la imagen navegando por http://www.emutexlabs.com/ubilinux y haga click en “ubilinux para Edison”.
Abra un terminal (Finder → Applications → Utilities → Terminal).

Cambie su directorio de descargas:
cd Downloads
Extraiga el contenido en el archivo de descarga:
tar xvfz ubilinux-edison-XXXXXX.tar.gz
Tenga en cuenta que el número de versión (XXXXXX) será la que ha descargado (e.g. ubilinux-edison-141030.tar.gz).
Mover al directorio “toFash”:
cd toFlash
Ejecute la escritura de instalación:
Veras un mensaje com este “Esperando ahora por el dispositivo dfu”. Mientras, conecte su Edison (use J16 para las placas “Intel Arduino” y “Mini-Breakout”. Utilice “OTG” para la “SparkFun Edison Base Block”). Debería ver el comienzo de la escritura mediante el parpadeo del terminal de la Edison. Espere mientras que finaliza (puede tardar unos minutos).
Una vez que el proceso de flasheo se ha completado, usted recibirá un mensaje como “La placa tiene que reiniciar dos veces para completar el procedimiento de parpadear, por favor, no la desenchufe durante 2 minutos.” Usted tendrá que esperar esos 2 minutos para asegurarse de que el proceso de flasheo es completa.
LINUX
Descargue la imagen Ubilinux navegando por http://www.emutexlabs.com/ubilinux y haga click en “ubilinux para Edison”.
Abra el terminal y diríjase a su directorio de descargas. Por ejemplo:
cd Downloads
Extraiga el contenido del archivo descargado:
tar xvfz ubilinux-edison-XXXXXX.tar.gz
Verifique que el número de la versión (XXXXXX) sea el mismo que su versión descargada (e.g. ubilinux-edison-141030.tar.gz).
Mueva al directorio “toFlash”:
cd toFlash
Arranque el escritura de instalación:
sudo ./flashall.sh
Veras un mensaje com este “Esperando ahora por el dispositivo dfu”. Mientras, conecte su Edison (use J16 para las placas “Intel Arduino” y “Mini-Breakout”. Utilice “OTG” para la “SparkFun Edison Base Block”). Debería ver el comienzo de la escritura mediante el parpadeo del terminal de la Edison. Espere mientras que finaliza (puede tardar unos minutos).
Una vez que el proceso de flashing se ha completado, usted recibirá un mensaje como este “Su tarjeta necesita reiniciar dos veces para completar el procedimiento de flashing, por favor, no la desenchufe durante 2 minutos.” Es posible que desee esperar esos 2 minutos (yo sé que no quiere poner en peligro mi Edison).
INICIAR SESIÓN EN UBILINUX
Una vez que haya flasheado tu Edison, puede iniciar sesión sobre una conexión en serie.
IMPORTANTE: Si usted está utilizando la tarjeta “Intel Arduino” o la “Mini-Breakout”, conecte el otro cable USB en este momento (usted debe tener 2 cables USB conectados desde su Edison a su computadora). Si está utilizando uno de los bloques Edison Sparkfun con un puerto “Console”, puede utilizar ese puerto para alimentar el Edison y recibir una consola serie.

Necesitará usar ambos puerto USB en la tarjeta Arduino Breakout

Solo necesita usar el puerto USB “Console ” señalado en el bloque base.
WINDOWS
Descarga un terminal serie, como PuTTY.
También es probable que tenga que descargar e instalar los controladores del puerto COM Virtual de FTDI (descargar la versión de “instalación ejecutable”).
Abra el administrador de dispositivos. Expandir “Ports (COM & LPT)” y usted debería ver un “USB Serial Port”. Anote el número COM.

Arranque PuTTY, seleccione la opción “Serial”, cambie el numero del puerto COM debajo de “Serial line” y configure “Speed” en 115200.

Haga click en “Open”. Debería ver un terminal en blanco. presione “enter” y se le solicitará un inicio de sesión de pantalla.

Ingrese las credenciales de sesión por defecto:
ubilinux login: edison
Password: edison
¡Y listo! Ahora iniciara sesión en la Ubilinux desde su Edison.
MAC OSX
Antes de conectar su Edison, necesitará encontrar la localización del dispositivo serial USB. Abra un terminal e ingrese:
ls /dev/tty.usb*
Verifique que los dispositivos aparezcan. Conecte su Edison (ambos cables para la tarjeta “Intel breakout” o el puerto “Console” para los bloques de SparkFun) e ingrese el siguiente comando:
ls /dev/tty.usb*
Un archivo extra debería aparecer. recuerde el nombre del archivo y utilice la pantalla de comandos para conectar:
screen /dev/tty.usbserial-XXXXXXXX 115200
Donde -XXXXXXXX es la cadena de números y letras del dispositivo USB serial. Pro ejemplo:

Presione “enter” para ver la pantalla de sesión.

Ingrese las credenciales de sesión por defecto:
ubilinux login: edison
Password: edison
Ahora debería iniciar sesión en la Ubilinux
LINUX
Abra un terminal y conectese usando el comando de pantalla:
sudo screen /dev/ttyUSB0 115200
Note que su dispositivo USB serial puede no ser exactamente ttyUSB0. Si tiene otro dispositivo USB serial conectado, puede que sea ttyUSB1, ttyUSB2 o algún otro.
Presione “enter” para ver la pantalla de sesión.

Ingrese las credenciales de sesión por defecto:
ubilinux login: edison
Password: edison
Ahora debería iniciar sesión en la Ubilinux
AÑADIR ALGO DE SEGURIDAD
Por defecto, Ubilinux le da acceso a la cuenta “root” y una cuenta de usuario llamada “edison.” Este es un gran punto de partida, ya que le permite hacer cualquier cosa en el sistema operativo. Sin embargo, no es seguro. Si alguien se entera de la dirección IP de la Edison, podrían iniciar la sesión con el nombre de usuario y contraseña por defecto.
Una de las soluciones más fáciles para mejorar la seguridad es crear una cuenta de usuario único, cambie la contraseña de usuario “edison” (o ¡elimine toda la cuenta!), y cambie la contraseña de raiz. Puede omitir la creación de un nuevo usuario si usted quiere, pero todavía es altamente recomendable que cambie las contraseñas de raíz y Edison.
Si ha iniciado sesión en la cuenta “edison”, ejecute:
logout
En la pantalla de sesión, vuelva a iniciar sesión usando la cuenta de raiz:
ubilinux login: root
Password: edison
CREAR UN NUEVO USUARIO
Elija un nombre de usuario para su nueva cuenta y piense en una contraseña memorable. Ejecute el comando:
adduser –ingroup users <USERNAME>
Se le pedirá que introduzca su contraseña dos veces y se le preguntará por alguna información de identificación. Siéntase libre para rellenarlos o pulsar ‘enter’ para aceptar el valor predeterminado en blanco (sin información). Escriba ‘y’ y presione ‘enter’ cuando se le solicite sobre la información correcta.

CAMBIAR LA CUENTA “EDISON”
Es aconsejable que quite la cuenta “edison” o al menos cambie la contraseña.
CAMBIAR CONTRASEÑA
Si usted quiere mantener la cuenta “edison”, debería considerar modificar la contraseña para hacer la cuenta un poco mas segura:
passwd edison
Se le pedirá que introduzca la nueva contraseña dos veces.
REMOVER CUENTA
La mejor opción es eliminar la cuenta del todo, debido que adivinar un nombre de usuario no predeterminado es más difícil. Mientras está conectado como “root”, ingrese:
deluser –remove-home edison
CAMBIAR CONTRASEÑA ROOT
El último paso es cambiar la contraseña de raiz predeterminada. Esto es crucial para prevenir que personas no autorizadas ingresen fácilmente a su Edison con acceso root. Mientras esté conectado como root, ejecute el comando:
passwd
Se le pedirá que introduzca la nueva contraseña dos veces.
HABILITAR WIFI
Después de entrar en Ubilinux, es probable que desee una conexión a Internet para que pueda descargar e instalar los paquetes a su antojo. Hay algunas maneras de conectarse a Internet a través de WiFi. Le mostraremos dos de ellos. La primera de ellas es la manera fácil y rápida, pero deja su contraseña WiFi almacenada en un archivo, como texto sin formato. El segundo es el método preferido, ya que encripta su contraseña, pero los pasos son un poco más complicado.
Si usted está en el sistema como un usuario normal, ejecute el comando:
su
E ingrese la contraseña de root para obtener capacidades de super-usuario. Como nota al margen, “su” significa usuario sustituto.
RÁPIDO Y SUCIO
La forma más fácil de conseguir un punto de acceso de Wi-Fi local es almacenar el SSID y la contraseña en un archivo. El problema es que la contraseña será almacenada en texto sin formato, lo cual no es muy seguro.
Utilice su editor de texto favorito de Linux (sigo siendo un fan de nano) para abrir el archivo de interfaces:
nano /etc/network/interfaces
Utilice las teclas de flecha para desplazarse a “auto usb0” y añadir un “#” delante de esta línea.
Navegue hacia abajo y retire el “#” delante de “auto wlan0” para que nuestra Edison intente conectarse automáticamente a WiFi en el arranque.
Baje a las lines “WPA-ssid” y “WPA-PSK”. Cambie el SSID predeterminado y la contraseña (PSK) por su deseada WIFI_SSID y WIFI_PASSWORD.

Presione ‘Ctrl-X’ para salir y pulse ‘y’ para guardar el archivo cuando se le solicite.
Recomendamos siguiendo las instrucciones en “EL MEJOR CAMINO” de abajo, pero si usted esta feliz con el método rápido, vaya a “Conexión WiFi de prueba”.
EL MEJOR CAMINO
Puede almacenar su contraseña WiFi más segura mediante la creación de un “hash” y ” locking down” del archivo “/etc/network/interfaces” de modo que sólo root tiene acceso a ella.
Con la cuenta de raiz, cambie los permisos del archivo “/etc/network/interfaces”:
chmod 0600 /etc/network/interfaces
Cree un “hash” de su contraseña WiFi:
wpa_passphrase <YOUR_WIFI_SSID> <YOUR_WIFI_PASSWORD>
Eso imprimirá un sección de red en la consola.

Copie la larga cadena de letras y números despues de “psk=” (En PuTTY y varias consolas Linux, usted necesita resaltar la cadena a copiar ). Abra el archivo “/etc/network/interfaces”:
nano /etc/network/interfaces
Utilice las teclas de flecha para desplazarse a “auto usb0” y añadir un “#” delante de esta línea.
Navegue hacia abajo y retire el “#” delante de “auto wlan0” para que nuestro Edison intentará conectarse automáticamente a WiFi en el arranque.
Baje a la línea “wpa-ssid”. Cambie el SSID predeterminado por su WIFI_SSID.
Mueva el cursor a la línea “wpa-psk”, elimine la cadena por defecto después de “wpa-psk”, y pegarlo en el largo “hash” que generamos antes (sólo tiene que hacer clic derecho para PuTTY y muchas otras consolas Linux).

Presioene “Ctrl-X” para salir y presione “y” para guardar el archivo cuando se le solicite.
PRUEBA DE CONEXIÓN WIFI
Reinicie el controlador inalambrico ingresando:
ifup wlan0
Una vez que se configure, su Edison debería estar conectado a su WiFi local. Puede verificar ingresando:
ifconfig
Usted debe ver una entrada “inet addr” en “wlan0”, el cual muestra su dirección IP.

Para asegurarse que tiene acceso a Internet, puede hacer ping a un sitio conocido, como www.google.com o www.sparkfun.com:
ping www.sparkfun.com
Usted debería ver varios pings y respuestas. Presione “Ctrl-C” para detener.

Ahora que su Edison esta conectada a una red, puede usar SSH para conectar su Edison desde otro computador. Necesita conocer la dirección IP.
USANDO APT-GET
INSTALANDO PAQUETES
La primera cosa que queremos es actualizar nuestro administrador de paquetes con apt-get. Asegúrese que esté conectado como root (o use el comando “su”), e ingrese:
apt-get update
Espere mientras que descargue y actualice su lista de paquetes.
Si usted quiere instalar un paquete, como sl, necesita instalar apt-get:
apt-get install sl
Si se le solicita, pulse ‘y’ cuando se le pregunte para instalar el paquete, y su paquete se descargará e instalará automáticamente!
NOTA: “sl” instala un divertido pequeño demo. Ingrese:
/usr/games/sl
¡Vea!
BONUS: AÑADIENDO “SUDO”
Esta parte es completamente opcional. A algunas personas les gusta usar el comando “sudo” con el fin de ejecutar acciones que requieren privilegios de superusuario (como “sudo apt-get install”). Otros prefieren cambiar de usuario con “su” para ejecutar comandos. Es un debate en curso.
Si desea agregar el comando sudo, primero tenemos que instalarlo. Con la cuenta de root, ejecutando el comando:
apt-get install sudo
Añada su cuenta de usuario (¡no root!) en el grupo sudo:
adduser <YOUR_USERNAME> sudo
Salga con el comando “logout” (puede que tenga que escribirlo dos veces si está utilizando “su”):
logout
Vuelva a iniciar sesión con su cuenta de usuario normal. Pruebe con el comando:
ifconfig
Usted debe obtener un error como este “-bash: ifconfig: command not found.” Prueba el mismo comando de nuevo con “sudo” delante:
sudo ifconfig
Debería poder imprimir su estado de red.

Ahora puede usar sudo para ejecutar comandos que requieran privilegios administrativos sin tener que iniciar sesión en la cuenta de root. Se reduce un poco la seguridad al permitir que un usuario normal ejecute comandos con privilegios elevados. Sin embargo, esto significa que no es necesario iniciar sesión en su cuenta de root si está utilizando algo como SSH.
Idealmente, usted debería averiguar que comandos necesita su cuenta de usuario para ejecutarse y habilitar solo los archivos sudoers. Esto se puede realizar con el comando “visudo”. Para obtener más información acerca de cómo modificar el archivo sudoers, lea este artículo.
SOLUCIÓN DE PROBLEMAS
DFU-UTIL NO ENCONTRADO
En Linux, si a usted le aparece un error como este “dfu-util: command not found” cuando intenta instalar Ubilinux, necesita instalar “dfu-util”. Ejecute el comando:
sudo apt-get install dfu-util
¿QUE PUERTO USB UTILIZO?
Para instalar Ubilinux, si está utilizando la “Intel Arduino Breakout” o la “Mini-Breakout”, necesitará utilizar el puerto USB etiquetado “J16”. Si está utilizando el Bloque Base Edison Sparkfun, utilice el puerto “OTG.”
Para iniciar sesión en Ubilinux, es necesario utilizar ambos puertos USB en la “Intel Arduino” o la “Mini-Breakout”. Sólo tiene que utilizar el puerto “console” etiquetado en el bloque base Sparkfun.
LIBUSB NO ENCONTRADO
En Windows, si usted ve un mensaje de error como este “El programa no puede iniciarse porque “libusb-1.0.dll” no se encuentra en su computador”, entonces usted necesita “libusb-1.0.dll”, que se puede encontrar en la descarga “dfu-util”. Vaya a “<YOUR DOWNLOADS FOLDER>\dfu-util-0,8-binaries.tar \dfu-util-0,8-binaries\dfu-util-0,8-binaries\win32-mingw32″”. Haga click derecho en “libusb-1.0.dll” y luego en “Copy”.

Dirigase a <YOUR DOWNLOADS FOLDER>\ubilinux-edison-141030.tar\ubilinux-edison-141030\toFlash. Haga click derecho y seleccione “Paste” para pegar en el archivo libusb-1.0.dll.

NOTA: Puede instalar permanentemente “dfu-util.exe” y “libusb-1.0.dll” en su Windows, si así lo desea. Lea en la modificación de PATH e instale un archivo “.dll”. Por ahora, sólo estaban copiados en el camino de la Ubilinux por razones de brevedad.
PAQUETES NO ENCONTRADOS
En Linux, u mensaje como este “E: no se encuentra habilitado el paquete local” puede significar algunas cosas:
- Usted a deletreado el nombre del paquete mal (soy culpable de eso muy a menudo)
- En su lista de paquetes no se encuentra el paquete (intente modificando /etc/apt/sources.list para apuntar a otros repositores).
- El paquete simplemente no existe. Puede que tenga que instalar lo que sea de la fuente.
SUDO INCAPAZ DE RESOLVER HOST
Si esta usando el comando “sudo” y aparece un error como:
sudo: unable to resolve host ubilinux
Entonces significa que el nombre de host de la Edison (en el archivo “/etc/hostname”) no se encuentra en el archivo “/etc/hosts”. Abra un editor:
sudo nano /etc/hostname
Y tome nota del nombre (que debería ser “ubilinux” por defecto). Usted puede cambiarlo si lo desea (cambiará el nombre de su Edison cuando esté conectado a una red).
Salga y abra “/etc/hosts”:
sudo nano /etc/hosts
Y añada su nombre de host (e.g “ubilinux”) después “localhost” en la primera línea.

Guarde y salga con “Ctrl-X” e “y”. Reinicie su Edison con:
sudo reboot
A usted no le debería llegar una advertencia con sudo.