Usando Ubuntu en BeagleBone

Una de las características del BeagleBone es que se inicia a partir de una memoria MicroSD, de fábrica viene con una versión de Linux llamada Angstrom, la cual integra entornos de desarrollo node.js y Cloud9.

El inicio desde una memoria MicroSD permite que podamos correr distintos sistemas operativos, y en este artículo detallaremos los pasos necesarios para instalar Ubuntu en una MicroSD y ejecutarlo en nuestro BeagleBone.

Esta guía esta basada en Elinux – BeagleBoard Ubuntu y en Everett’s Projects – Making a Home Media Server, las instrucciones están pensadas para ser ejecutadas en un Linux (en este caso utilizamos un netbook con Lubuntu).

Lo primero es obtener una imagen compilada especialmente para el procesador AMR del BeagleBone, esta imagen se obtiene descargándola desde una sesión de terminal en nuestro Linux mediante el comando wget.

wget http://rcn-ee.net/deb/rootfs/precise/ubuntu-12.04-r1-minimal-armhf.tar.xz

(Nota: las imágenes cambian constantemente a medida que se crean nuevas versiones o actualizaciones, la ruta actualizada se puede obtener desde la siguiente página web: http://rcn-ee.net/deb/rootfs/precise/ )

Para poder instalar la imagen en una memoria MicroSD es necesario descomprimirla y luego cambiarse al directorio que se creo

tar xJf ubuntu-12.04-r1-minimal-armhf.tar.xz
cd ubuntu-12.04-r1-minimal-armhf

Dentro de los archivos que vienen con la imagen esta el script setup_sdcard.sh el cual nos permitirá generar la imagen de Linux Ubuntu en la memoria MicroSD, es hora de insertar la MicroSD y ver como la reconoce Linux, para esto se debe ejecutar el script setup_sdcard.sh

sudo ./setup_sdcard.sh --probe-mmc

En este caso reconocer la memoria MicroSD fue simple ya que la única partición de 8 GB es /dev/sdc

Es muy importante este paso porque un error identificando el punto de montaje de la memoria MicroSD puede hacernos perder datos importantes de otra particion ya que el scritp la formatea.

Una vez identificada la partición procedemos a crear la imagen de inicio

sudo ./setup_sdcard.sh --mmc /dev/sdc --uboot bone

Se pedirá confirmar que realmente esta seguro, a lo que se debe responder afirmativamente (yes o si, deacuerdo al lenguaje instalado). Inmediatamente el script comenzará a descargar los archivos necesarios para la creacion de la MicroSD iniciable con Ubuntu, este proceso demora unos minutos, cuando indique

setup_sdcard.sh script complete
-----------------------------
The default user:password for this image:
ubuntu:temppwd
-----------------------------

Habrá concluido la creación de la imagen. Las siguientes líneas son muy importantes, en ellas esta el usuario:contraseña que necesitarás para conectarte inicialmente (ver mas adelante).

Desde nuestro Linux (padre por nombrarlo de alguna forma) vemos que la MicroSD ahora posee dos particiones, una llamada boot y la otra rootfs.

Antes de iniciar el BeagleBone con la nueva imagen, debemos escanear la red para identificar luego cual es la ip que asume el BeagleBone (Suponemos que tienen configurada una red con DHCP), esto se puede realizar con el comando nmap (tambien se puede ver directamente en nuestro router o equipo DHCP que cual fue la última dirección asignada)

joniuz@netbook:~$ nmap  -sP 192.168.1.0/24

Starting Nmap 5.21 ( http://nmap.org ) at 2012-05-28 01:51 CLT
Nmap scan report for 192.168.1.1
Host is up (0.0027s latency).
Nmap scan report for 192.168.1.10
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.58 seconds
joniuz@netbook:~$

Luego iniciamos el BeagleBone con la nueva imagen y lo conectamos a la red, el resultado del comando nmap debería mostrar un nuevo ip

joniuz@netbook:~$ nmap  -sP 192.168.1.0/24

Starting Nmap 5.21 ( http://nmap.org ) at 2012-05-28 01:51 CLT
Nmap scan report for 192.168.1.1
Host is up (0.0027s latency).
Nmap scan report for 192.168.1.10
Host is up (0.0037s latency).
Nmap scan report for 192.168.1.11
Host is up (0.0042s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.58 seconds
joniuz@netbook:~$

Nuestro BeagleBone obviamente esta en el ip 192.168.1.11, para conectarnos usamos ssh y el usuario (que viene por defecto en la imagen) «ubuntu» y la contraseña «temppwd» (obtenidas al momento de generar la micro sd con el sistema operativo).

joniuz@netbook:~$ ssh ubuntu@192.168.1.11
The authenticity of host '192.168.1.11 (192.168.1.11)' can't be established.
ECDSA key fingerprint is 6e:18:09:0e:dc:fa:c7:58:ee:3d:ef:b9:aa:1f:07:6e.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.11' (ECDSA) to the list of known hosts.
ubuntu@192.168.1.11's password:
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-psp7 armv7l)

 * Documentation:  https://help.ubuntu.com/

The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

To run a command as administrator (user "root"), use "sudo ". See "man sudo_root" for details. ubuntu@omap:~$

La primera vez que nos conectemos nos pedirá autorizar la llave publica para la encriptación de protocolo ssh, hay que responder «yes».

Una vez conectados al BeagleBone, nuestra primera tarea es cambiarle la contraseña (es muy mala práctica dejar contraseñas por defecto) para esto simplemente se debe ejecutar el comando passwd, el cual solicitará primero la contraseña antigua y dos veces la nueva contraseña

ubuntu@omap:~$ passwd
Changing password for ubuntu.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
ubuntu@omap:~$

Y con el cambio de contraseña, ya tenemos a nuestro BeagleBone listo para operar con Ubuntu.

Author: José Zorrilla

Ingeniero Civil Informático, Universidad de Santiago de Chile. Master of Professional Engineering University of Sydney. En Chile trabajó empresas de servicios internet y telcos como IBM, VTR y Entel. Le gusta la fotografía y el armado de drones, tiene estudios de violín, guitarra eléctrica y sintetizadores que enciende cuando tiene algo de tiempo.

2 thoughts

  1. Ayuda me 🙂

    Tengo mi BeagleBone con una Ubuntu :
    Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.18-psp13 armv7l)

    Pero no puedo ver nunca de los Analogic Input 🙁

    root@zeus:/# ls -laF /sys/devices/platform/omap/tsc
    total 0
    drwxr-xr-x 3 root root 0 Jan 1 2000 ./
    drwxr-xr-x 39 root root 0 Jan 1 2000 ../
    -r–r–r– 1 root root 4096 Jun 7 08:56 modalias
    drwxr-xr-x 2 root root 0 Jun 7 08:56 power/
    lrwxrwxrwx 1 root root 0 Jan 1 2000 subsystem -> ../../../../bus/platform/
    -rw-r–r– 1 root root 4096 Jan 1 2000 uevent

    Help 🙂

    Idem

Deja una respuesta

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