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.
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
Mil gracias por un tutorial sencillo y conciso! Ya tengo my beaglebone a tope!