Introducción a Java® SE Embedded en Raspberry Pi

Por Bill Courington y Gary Collins

Linux y Java SE Embedded listos para ejecutar en Raspberry Pi en menos de una hora...

Es apenas más grande que una tarjeta de crédito. Cuesta casi lo mismo que un libro sobre programación en Java.

Es la computadora Raspberry Pi, que admite Java SE runtime completo para permitir la ejecución de aplicaciones de línea de comando incrustadas. Este artículo brinda una introducción a la programación de Java en Raspberry Pi e incluye los siguientes temas:

  • Raspberry Pi: Breve introducción
  • Requisitos: Lo que hay que saber y tener
  • Instalación básica de Linux: Instalación de Debian Linux
  • Instalación de Java SE Embedded: Obtención e instalación de Java SE Embedded
  • Ajustes y modificaciones opcionales de Linux: Cómo mejorar el funcionamiento de Linux

NOTA: existen muchas variaciones posibles de las instrucciones que se ofrecen aquí, en especial respecto de las operaciones que se ejecutan en el equipo host (computadora de escritorio o portátil) y las que se ejecutan en la Raspberry Pi. Utilice sus conocimientos y preferencias (y, quizá, algunos de los temas que se tratan en el apartado Ajustes y modificaciones opcionales de Linux) para crear un flujo de trabajo adecuado para usted.

Raspberry Pi

Raspberry Pi es una placa pequeña, de baja potencia, construida a partir de una CPU de 700 mHz ARMv6, con unidad de punto flotante (FPU) y procesador gráfico integrados en un único chip. El procesador gráfico y la CPU comparten 256 MB de memoria RAM. La placa incluye conexiones para USB, Ethernet, gráficos de alta definición, audio, tarjeta SD y E/S para fines generales. En la figura 1 se puede observar una Raspberry Pi modelo B con una tarjeta SD insertada como referencia del tamaño. La tarjeta SD desempeña una función especial: la Raspberry Pi arranca desde allí. Este artículo ofrece mayormente instrucciones para crear y modificar archivos en una tarjeta SD de arranque.

Raspberry Pi modelo B

Figura 1 Raspberry Pi modelo B

Puede interactuar con la Raspberry Pi mediante un teclado y un mouse USB y un monitor o televisor HDMI (de hasta 1080 p). La conexión Ethernet de la placa brinda una opción adicional: interactuar desde un host conectado en red por medio de sesiones ssh. En la sección Ajustes y modificaciones opcionales de Linux de este artículo se describe cómo habilitar inicios de sesión seguros ssh.

Requisitos

Para configurar la ejecución de Java SE Embedded en la Raspberry Pi modelo B se debe contar con:

  • Una red cableada a la que se pueda conectar la Raspberry Pi con un cable Ethernet. La red debe proveer direcciones DHCP IP.
  • Un equipo host Linux conectado a la misma red Ethernet que la Raspberry Pi. Es posible ejecutar operaciones equivalentes en un host Windows o Mac, pero existen ciertas diferencias que no se describen en este artículo. Es necesario tener la contraseña raíz del equipo host. Asimismo, el host debe contar con:

           ο Un modo de descargar archivos de un sitio web, por ejemplo un explorador web o la utilidad wget.

           ο Una herramienta para particionar el disco. En este artículo, recurrimos a GParted, que es sencilla y eficaz. Si no tiene GParted, puede obtenerla e instalarla en el host de la siguiente manera: $ sudo apt-get install gparted

           ο Un explorador web y un cliente de correo electrónico para descargar Java SE Embedded de Oracle.

           ο Una lectora/grabadora de tarjetas SD. Si el host ejecuta Linux en una máquina virtual, asegúrese de que pueda leer y grabar tarjetas SD.

  • Un monitor que pueda conectarse directamente o mediante un adaptador al puerto HDMI de la Raspberry Pi.
  • Un teclado y mouse USB conectado a la Raspberry Pi mediante un concentrador USB con alimentación.
  • Una tarjeta SD que contenga el sistema operativo de Raspberry Pi y Java runtime. Una tarjeta de 4 GB tiene capacidad suficiente para contener Linux, Java SE Embedded y la mayoría de las aplicaciones incrustadas.
  • NOTA: no todas las tarjetas SD son compatibles con Raspberry Pi. Las tarjetas de alta velocidad pueden ser demasiado rápidas para el bus de Raspberry Pi. Las tarjetas Transcend de 4 GB Micro y Patriot de 4 GB clase 4 funcionaron correctamente. En http://elinux.org/RPi_VerifiedPeripherals#SD_cards se pueden consultar listas de las tarjetas que funcionaron y que no funcionaron con la Raspberry Pi.

  • Una fuente de alimentación Micro USB de 5 VCC con capacidad de al menos 700 mA. En el sitio web de Raspberry Pi se recomienda no usar un concentrador USB ni una computadora como fuente de alimentación.

Instalación básica de Linux

Cuando la Raspberry Pi recibe alimentación, el firmware arranca desde la ranura de la tarjeta SD. Java SE Embedded se ejecuta en Linux, por lo tanto el primer paso consiste en instalar Linux en una tarjeta SD.

Descargue la imagen de Debian Squeeze Linux para Raspberry Pi

NOTA: las instrucciones que aquí se proporcionan corresponden a Debian Squeeze. Es probable que otras implementaciones de Linux para Raspberry Pi funcionen sin inconvenientes, pero es indispensable que hayan sido concebidas para las operaciones de punto flotante por software del chip ARM. Es probable que las imágenes a las que se incluyen vínculos en el sitio web de Raspberry Pi se hayan creado para unidades de punto flotante (hardware): no funcionan con Java SE Embedded.

En http://elinux.org/RPi_Distributions#Debian_ARM, encontrará un vínculo a una imagen comprimida de Debian Squeeze para Raspberry Pi. El archivo pesa aproximadamente 450 MB. En las siguientes instrucciones se presupone que ha descargado en un directorio nuevo ~/RaspberryPi/. Para comprobar el archivo descargado, siga las instrucciones SHA-1 Checksum de la página que se muestra cuando comienza la descarga.

Descomprima la imagen de la siguiente manera:

$ cd ~/RaspberryPi
$ unzip *.zip

La descompresión crea un subdirectorio con un nombre similar a debian6-19-04-2012.

Copie la imagen de Debian Squeeze a la tarjeta SD

En su equipo host, halle el identificador de la tarjeta SD siguiendo las instrucciones que aparecen a continuación (proceda de un modo diferente si lo prefiere):

  • En una ventana terminal de Linux, ejecute dmesg | tail , que muestra mensajes asociados con montajes de dispositivos. Solo los últimos mensajes son de interés.
  • Inserte la tarjeta SD en la lectora/grabadora.
  • En una segunda ventana terminal, vuelva a ejecutar dmesg | tail . Las líneas que se han agregado respecto de la primera ventana se relacionan con la tarjeta SD que acaba de montarse. Si bien pueden presentar diferencias, deben ser similares a la secuencia siguiente:
[ 110.084625] sdb: detected capacity change from 0 to 3963617280
[ 118.055249] sd 2:0:0:0: [sdb] 7741440 512-byte logical blocks: (3.96 GB/3.69 GiB)
[ 118.059409] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[ 118.064547] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[ 118.066015] sdb: sdb1

La clave es sdb, que indica que el identificador del dispositivo es /dev/sdb. sdb1 se refiere a la única partición de la tarjeta de nuestro ejemplo. Su tarjeta puede tener diversas particiones.

En las siguientes instrucciones se considera que el identificador de la tarjeta SD es /dev/sdb y que la tarjeta tiene una partición única sdb1. Modifique las instrucciones si su entorno lo requiere.

  • Desmonte la partición o las particiones de la tarjeta SD:
  • $ sudo umount /dev/sdb1
  • Copie la imagen de Debian a la tarjeta SD con dd.

    NOTA: en el comando siguiente, asegúrese de escribir el valor correcto del argumento of (output file). Está a punto de invocar una copia de disco de bajo nivel que sobrescribirá todos los datos. Si el dispositivo que se especifica es incorrecto, se destruirán datos.

$ cd ~/RaspberryPi/debian6-19-04-2012
$ sudo dd if=yourDebian.img of=/dev/sdb bs=1M
1859+1 records in
1859+1 records out
1950000000 bytes (2.0 GB) copied, 212.344 s, 9.2MB/s

La operación de copiado mediante dden una tarjeta SD es lenta. Puede llevar entre 5 y 10 minutos en el caso de una tarjeta de 4 GB clase 4. El comando dd no ofrece indicación de progreso, de modo que es necesario aguardar pacientemente a que termine la tarea.

Si desea comprobar en este punto si la instalación de Linux en la tarjeta SD funciona correctamente, vaya a la sección Primer arranque y después vuelva a Cambio de tamaño de las particiones de la tarjeta SD.

Cambio de tamaño de las particiones de la tarjeta SD

La tarjeta SD contiene ahora tres particiones y espacio no asignado. A continuación, añadiremos el espacio no asignado al sistema de archivos de Linux para crear más lugar para Java SE Embedded y las aplicaciones. Para asignar espacio no asignado al sistema de archivos, modificaremos las particiones de la tarjeta SD eliminando y volviendo a crear una de las particiones y cambiando el tamaño de otra.

  • Inicie GParted:
  • $ sudo gparted

    Gparted muestra inicialmente las particiones del disco del host. No modifique estas particiones.

  • Seleccione GParted -> Devices para visualizar las particiones y el espacio no asignado en /dev/sdb:

Particiones iniciales de la tarjeta SD

Figura 2 Particiones iniciales de la tarjeta SD

Las tres particiones son

  • /dev/sdb1: partición de arranque
  • /dev/sdb2: sistema de archivos raíz de Linux; la mayor parte del 1,5 GB asignado se encuentra en uso
  • /dev/sdb3: área de intercambio de Linux.

Aproximadamente la mitad del espacio de la tarjeta se encuentra sin asignar. La mayor porción del espacio libre sigue a la partición /dev/sdb3 . Para añadir ese espacio a /dev/sdb2 (el sistema de archivos), se debe eliminar temporalmente /dev/sdb3, ampliar /dev/sdb2y volver a crear a continuación /dev/sdb3.

  • En la columna correspondiente a particiones, seleccione /dev/sdb3 (intercambio de Linux), haga clic con el botón secundario y seleccione Delete (eliminar). La partición aparece eliminada, pero GParted ha puesto la operación en la cola y la ejecutará después.

    Particiones de la tarjeta SD después de poner en cola la eliminación

    Figura 3 Particiones de la tarjeta SD después de poner en cola la eliminación

  • En la columna correspondiente a particiones, seleccione /dev/sdb2 – el sistema de archivos de Linux–, haga clic con el botón secundario y seleccione la opción Resize/Move (cambiar tamaño/mover). En el cuadro de diálogo que se abre, arrastre la flecha derecha hasta que el valor de "Free space following" (espacio libre siguiente) sea aproximadamente 512 (o el que usted quiera asignar para intercambio). Puede ocurrir que no logre seleccionar el valor 512 exacto, pero la precisión del tamaño no tiene importancia.

    512 MB para intercambios

    Figura 4 512 MB para intercambios

  • Haga clic en Resize/Move para poner en cola el cambio. Se abre un cuadro de diálogo con la advertencia "Moving a partition" (modificación de partición en curso); haga clic en OK (aceptar).
  • Una vez expandida la partición del sistema de archivos, se vuelve a crear una partición de intercambio. Seleccione la partición no asignada de 512 MB, haga clic con el botón secundario y seleccione New (nuevo).
  • En el menú desplegable del sistema de archivos del cuadro de diálogo Create New Partition (crear partición nueva), seleccione linux-swap (intercambio de Linux).

    Nueva partición de intercambio

    Figura 5 Nueva partición de intercambio

  • Haga clic en Add (agregar).
  • En la ventana principal de GParted, seleccione Edit (editar) > Apply All Operations (aplicar todas las operaciones), que ejecuta las operaciones puestas en la cola. En el cuadro de diálogo de confirmación, haga clic en Apply (aplicar). El proceso de reparticionar la tarjeta es una operación extensa que probablemente lleve varios minutos. Se abre un cuadro de diálogo que muestra el avance del proceso. Cuando la operación haya finalizado, haga clic en Close (cerrar).

    El nuevo mapa de particiones es similar al que se muestra aquí:

    Nuevo mapa de particiones

    Figura 6 Nuevo mapa de particiones

  • Abandone GParted y expulse la tarjeta SD; ejecute el primer arranque.

Primer arranque

Nota: para llevar adelante estos pasos, debe tener los siguientes componentes conectados a la Raspberry Pi: monitor, teclado y cable Ethernet operativo.

  • Con la Raspberry Pi desconectada de la alimentación, inserte la tarjeta SD con Linux en la ranura; a continuación, conecte la alimentación. Tras algunos segundos, deberían aparecer mensajes sobre el progreso del arranque en el monitor. De lo contrario, es probable que la tarjeta SD sea de un tipo no compatible o tenga un formato incorrecto.

    Es normal que se muestren mensajes de error en el primer arranque porque todavía no se han configurado algunos servicios. También es probable que el arranque parezca no responder, a la espera del cierre de Portmap. Como lo indica un mensaje de consola, puede continuar con la ejecución (lo que suele llevar algunos minutos) o desconectar la alimentación de la Raspberry Pi y, si lo desea, iniciar un nuevo arranque. Los arranques posteriores son más rápidos que el primero.

  • Cuando se le solicite que inicie sesión, hágalo con el nombre de usuario y la contraseña de Raspberry Pi, que en el momento en que se escribió el presente artículo, eran "pi" y "raspberry", respectivamente.

    NOTA: el uso de un teclado no compatible puede impedir el inicio de sesión, por ejemplo, como resultado de la repetición de caracteres. Si no puede iniciar sesión, intente con otro teclado.

    Si "pi" y "raspberry" no funcionan, consulte el sitio web de distribución de Linux.

  • Obtenga y escriba la dirección IP de la Raspberry Pi de la siguiente manera:
  • $ sudo /etc/rc.local
    RaspberryIP
  • Habilite inicios de sesión ssh con este comando:
  • $ sudo update-rc.d -f ssh defaults 20
  • Lleve a cabo un nuevo arranque para activar los inicios de sesión ssh :
$ sudo sync; sudo shutdown -r now

Si el apagado lleva demasiado tiempo, puede apagar y encender la Raspberry Pi.

Ahora estamos en condiciones de leer y grabar la tarjeta SD de la Raspberry Pi mediante la red desde el equipo host.

Instalación de Java SE Embedded

En esta sección, se explica cómo usar el equipo host para descargar Java SE Embedded y copiarlo en el sistema de archivos de Linux de la Raspberry Pi a través de la red. A continuación, se muestra cómo descomprimir la descarga e iniciar Java también en forma remota.

Obtención del software de evaluación de Java SE Embedded

  • En el explorador web del equipo host vaya a http://www.oracle.comhttps://www.oracle.com/technetwork/java/embedded/downloads/javase/index.html. Es posible que la página web se haya modificado en cierta medida desde que se escribió este artículo.
  • Primer vínculo para descarga

    Figura 7 Primer vínculo para descarga

  • En la columna Java SE Embedded 7, haga clic en EABI, VFP, SoftFB ABI, Little Endian.
  • Se muestra una página de encuesta.

  • Responda la encuesta y haga clic en Submit (enviar). Se muestra una página de verificación.
  • Revise la página de verificación para comprobar que los datos sean correctos (en particular, su dirección de correo electrónico) y, a continuación, haga clic en Submit.
  • En un breve lapso, recibirá en la bandeja de entrada un mensaje de correo electrónico de JavaSE-Embedded-LinkNotify.

  • Haga clic en el vínculo incluido en el mensaje. Se muestra otra página de descarga (es posible que se hayan modificado algunos detalles desde que se elaboró el presente artículo):
  • Segundo vínculo para descarga

    Figura 8 Segundo vínculo para descarga

  • Acepte el acuerdo de licencia y, a continuación, haga clic en el vínculo que se muestra en la hilera ARMv6/7 Linux - Headless.
  • NOTA: para la fecha en que se escribió este artículo, el software ARMv7 Linux - Headful no se había probado en la Raspberry Pi. El software ARMv7 Linux - Headless - Server Compiler no funciona con la Raspberry Pi porque requiere un chip ARM v7.

  • Guarde el archivo .gz en su directorio Downloads.
  • Inicie sesión en Raspberry Pi a través de la red con el usuario "pi" y cree un directorio para la descarga de Java:
  • $ ssh pi@RaspberryIP mkdir /home/pi/java
  • Copie la descarga de Java en el nuevo directorio de la Raspberry Pi:
  • $ scp ~/Downloads/*.gz pi@RaspberryIP:/home/pi/java
  • Descomprima la descarga de Java:
  • $ ssh pi@RaspberryIP
    $ cd /home/pi/java
    $ tar -zxvf *.gz 
    ...
  • Inicie Java:
  • $ ls ejre*
    ejre1.7.0_04 
    $ cd ejre*
    $ ./bin/java -version 
    java version "1.7.0_04-ea"
    Java(TM) SE Runtime Environment for Embedded (build 1.7.0_04-ea-b20, headless)
    Java Hotspot(TM) Embedded Client VM (build 23.0-b21, mixed mode)

    Es probable que algunos datos, como los números de versión y compilación, hayan cambiado desde que se escribió este artículo.

  • Si lo desea, puede eliminar el archivo descargado:
$ rm /home/pi/java/*.gz

Ajustes y modificaciones opcionales de Linux

Los comandos que se incluyen en esta sección pueden aumentar la confiabilidad, nivel de respuesta o practicidad de su sistema Raspberry Pi. Seleccione los que prefiera y ejecútelos en la Raspberry Pi. Para simplificar el diagnóstico de problemas, vuelva a arrancar el sistema después de introducir cada modificación.

En esta sección:

  • Configurar una dirección IP estática
  • Habilitar el intercambio y optimizar el tiempo de acceso al sistema de archivos
  • Definir la zona horaria y configuración regional
  • Configurar un servidor horario
  • Configurar un proxy de Internet
  • Cambiar las funciones y distribución del teclado
  • Actualizar paquetes de Debian
  • Iniciar la interfaz gráfica de usuario automáticamente
  • Agregar un explorador web
  • Habilitar sonido

Configurar una dirección IP estática

Si su red reutiliza direcciones IP dinámicas, puede omitir el cambio a una dirección IP estática porque la dirección IP de la Raspberry Pi será en efecto constante. Si es probable que la dirección IP dinámica de la Raspberry Pi sea diferente en cada arranque del sistema, conviene configurar una dirección IP estática pues es mejor para el inicio de sesión ssh. En las siguientes instrucciones se presupone que usted desea asignar el nombre de host raspberrypi a la Raspberry Pi.

Comience abriendo /etc/hosts como superusuario en un editor de texto (p. ej., sudo vi /etc/hosts). Agregue una línea para la Raspberry Pi, que deberá incluir una dirección IP estática válida en su red, un nombre de dominio opcional y alias. A continuación se ofrece un ejemplo hipotético en el que identificamos la Raspberry Pi como raspberrypi:

raspberrypi:

127.0.0.1 localhost
192.168.0.100  raspberrypi.yourDomain raspberrypi loghost

Guarde el archivo y salga del editor.

Abra como superusuario /etc/hostname en un editor de texto. Agregue una línea similar a la siguiente:

raspberrypi

Guarde el archivo y salga del editor.

Las siguientes instrucciones le permitirán evitar que la sobrecarga de la red haga que el sistema operativo cambie la dirección IP estática de la Raspberry Pi. En caso de producirse el cambio de dirección, el inicio ssh u otras operaciones que usan la dirección IP estática dejarían de funcionar.

Halle la dirección del hardware del puerto de Ethernet mediante los pasos siguientes.

Primero, determine el nombre del controlador de Ethernet (lasx representan los dígitos de la dirección):

$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1488 qdisc pfifo_fast state UNKNOWN qlen 1000
   link/ether b8:27:eb:b5:e8:90 brd ff:ff:ff:ff:ff:ff
   inet xx.xxx.xxx.xx/xx brd xx.xxx.xxx.xxx scope global eth0

En este ejemplo, es eth0. La dirección del hardware son los dígitos hexadecimales que siguen a link/ether; en este ejemplo, b8:27:eb:b5:e8:90.

Ahora que conoce la dirección de hardware del controlador de Ethernet, abra como superusuario /etc/network/interfaces en un editor de texto y agregue líneas similares a las que siguen al comentario # New entries que se muestra a continuación, reemplazando los datos del ejemplo por los de su red.

# Used by ifup(8) and ifdown(8). See the interfaces(5) manpage or

# /usr/share/doc/ifupdown/examples for more information.
auto lo
iface lo inet loopback
#
# New entries to support static IP follow: 

auto eth0
iface eth0 inet static
hwaddress ether b8:27:eb:b5:e8:90
address 192.168.0.100
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

Habilitar el intercambio y optimizar el tiempo de acceso al sistema de archivos

El intercambio se encuentra deshabilitado en forma predeterminada en Debian Linux. Si una operación excede los 256 KB de RAM de la Raspberry Pi, el sistema falla. Otro problema menos grave es que, también en forma predeterminada, el sistema de archivos pierde tiempo manteniendo datos del acceso más reciente a cada archivo, lo que resulta de escasa utilidad en el caso de aplicaciones incrustadas. Mantener datos sobre accesos más recientes, además, puede reducir la vida útil de una tarjeta SD. Ambas conductas predeterminadas se especifican en el archivo /etc/fstab .

Abra como superusuario /etc/fstab en un editor como vi. El archivo se ve así:

proc            /proc           proc    defaults        0       0 
/dev/mmcblk0p1  /boot           vfat    defaults        0       0 
#/dev/mmcblk0p3  none           swap    sw              0       0

Para habilitar el intercambio, quite las marcas de comentario de la tercera línea.

NOTA: en una tarjeta SD, el intercambio es lento. En el caso de aplicaciones incrustadas, conviene administrar la memoria de manera de evitarlo.

Para eliminar la sobrecarga asociada a mantener datos sobre accesos más recientes, inserte un punto de montaje p2 entre p1 y p3. Las opciones noatime y nodiratime son las indicadas para lograr el resultado buscado. Cuando el archivo quede como se muestra a continuación, guárdelo y salga del editor:

proc            /proc           proc    defaults        0       0 
/dev/mmcblk0p1  /boot           vfat    defaults        0       0 
/dev/mmcblk0p2  /               auto    rw,noatime,nodiratime,errors=remount-ro 0 1
/dev/mmcblk0p3  none            swap    sw              0       0

Asigne p3 (la partición de intercambio que se creó en el host como /dev/sdb3) como espacio para intercambio:

$ sudo mkswap /dev/mmcblk0p3

Definir la zona horaria y configuración regional

En forma predeterminada, la Raspberry Pi está configurada para la zona horaria Europa/Londres y la región en_GB_UTF-8. Para modificar la configuración regional de su computadora, proceda de la siguiente manera.

Para cambiar la zona horaria, escriba el siguiente comando:

$ sudo dpkg-reconfigure tzdata

Se muestra una interfaz gráfica falsa.

Interfaz de usuario para zona horaria

Figura 9 Interfaz de usuario para zona horaria

Desplace el cursor de selección por las regiones y ciudades con las teclas de flecha arriba y abajo. Para seleccionar <Ok> (aceptar) o <Cancel> (cancelar), use las flechas derecha e izquierda. Para aceptar una selección, pulse la tecla de retorno

Defina la configuración regional de la siguiente manera:

$ sudo dpkg-reconfigure -p low locales

La interfaz de usuario es similar a la que se emplea para definir la zona horaria.

Configurar un servidor horario

Muchas operaciones, entre ellas las actualizaciones de paquetes de software, dependen de que la fecha y la hora sean correctas. Para definir la fecha y la hora en forma automática, averigüe la identidad del servidor horario de la red y, a continuación, ejecute el siguiente comando:

$ sudo ntpdate yourNTPServer

Para definir la hora en cada arranque, modifique como superusuario /etc/rc.local y agregue la siguiente línea antes de la salida del código:

ntpdate yourNTPServer

Configurar un proxy de Internet

Haga ping a un host de Internet conocido, como www.lego.com. Si el host no responde, averigüe si su red está detrás de un proxy y, si fuera necesario, defina la variable de entorno http_proxy según las convenciones de su red, por ejemplo (caso hipotético):

$ sudo export http_proxy =’http:192.168.0.1:3128’

Para definir el proxy cada vez que inicia sesión, agregue el comando de exportación a ~/.bash_profile u otro equivalente si usa un shell distinto.

Cambiar las funciones y distribución del teclado

Use este comando si las teclas no se interpretan de manera correcta o si desea cambiar la distribución del teclado:

$ sudo dpkg-reconfigure keyboard-configuration

La interfaz de usuario es similar a la que se describió en la sección Definir la zona horaria y configuración regional de este artículo.

Actualizar paquetes de Debian

Antes de actualizar los paquetes que se distribuyen con Debian, abra /etc/apt/sources.list como superusuario en un editor de texto. Este archivo contiene las ubicaciones del repositorio de paquetes nuevos o actualizados. Tal como se distribuyen, las ubicaciones incluyen ftp.uk en sus URL. Si usted no se encuentra en Gran Bretaña, puede mejorar el rendimiento modificando las entradas para incluir una ubicación física más próxima. Por ejemplo, si está en Estados Unidos puede cambiar ftp.uk a ftp.us en general. En el sitio http://ftp.debian.org/debian/README.mirrors.html se brinda información sobre ubicaciones de repositorios de Debian.

Para actualizar los paquetes instalados, compruebe que la Raspberry Pi esté conectada a Internet y, a continuación, escriba estos comandos:

$ sudo apt-get update 
$ sudo apt-get upgrade

Si se muestra un mensaje que señala que hay duplicados en la lista de paquetes, vuelva a abrir /etc/apt/sources.list en un editor y coloque marcas de comentario en una de las entradas duplicadas. Suele convenir conservar la entrada que contiene más información.

Iniciar la interfaz gráfica de usuario automáticamente

Si desea que el sistema de ventanas se active en forma automática cuando inicia sesión localmente en la Raspberry Pi, cambie el nivel de ejecución predeterminado de la siguiente manera. Abra como superusuario /etc/inittab en un editor de texto. Busque la siguiente entrada:

# The default runlevel.  
id:2:initdefault:

Reemplácela por 5: 
# The default runlevel.  
id:5:initdefault:

NOTA: los gráficos consumen una gran porción de la memoria RAM de la Raspberry Pi, del orden de los 90 MB.

Agregar un explorador web

Si tiene problemas con el explorador web predeterminado midori, intente con iceweasel:

$ sudo apt-get update
$ sudo apt-get install iceweasel

Habilitar sonido

La salida de audio de Raspberry Pi no está habilitada en forma predeterminada. Para habilitarla, abra como superusuario /etc/modules en un editor de texto. Agregue esta línea al final del archivo:

snd_bcm2835

Guarde y cierre el archivo. Al volver a arrancar la Raspberry Pi, el sonido estará habilitado.

Publicado por Bill Courington y Gary Collins.