Introdução ao Java® SE Embedded em Raspberry Pi

Por Bill Courington y Gary Collins
Publicado en abril 2013

O Linux e o Java SE Embedded prontos para serem executados no Raspberry Pi em menos de uma hora...

É só um pouco maior do que um cartão de crédito. Custa quase o mesmo do que um livro sobre programação Java.

É o computador Raspberry Pi, que suporta o Java SE Runtime completo para permitir a execução de aplicativos incorporados de linha de comando. Este artigo oferece uma introdução à programação Java no Raspberry Pi, incluindo os seguintes temas:

  • Raspberry Pi: Breve introdução
  • Requisitos: O que você precisa saber e ter
  • Instalação básica do Linux: Instalação do Debian Linux
  • Instalação do Java SE Embedded: Como obter e instalar o Java SE Embedded
  • Ajustes e modificações opcionais do Linux: Como melhorar o funcionamento do Linux

NOTA: existem muitas variantes para as introduções oferecidas aqui, especialmente no que diz respeito às operações executadas no computador host (desktop ou notebook) e as executadas no Raspberry Pi. Aplique seus conhecimentos e preferências (e, talvez, alguns dos temas tratados na seção Ajustes e modificações opcionais do Linux) para criar um fluxo de trabalho apropriado para você.

Raspberry Pi

O Raspberry Pi é uma pequena placa, de baixa potência, construída a partir de uma CPU de 700 mHz ARMv6, com hardware de ponto flutuante e processador gráfico integrados em um único chip. O processador gráfico e a CPU compartilham 256 MB de memória RAM. A placa inclui conexões para USB, Ethernet, gráficos de alta definição, áudio, cartão SD e E/S para finalidades gerais. Na figura 1 pode se observar um Raspberry Pi modelo B com cartão SD inserido para referência de tamanho. O cartão SD desempenha uma função especial: o Raspberry inicia a partir dele. Este artigo oferece, em grande parte, instruções para criar e modificar arquivos em um cartão SD de inicialização.

Raspberry Pi
Figura 1 Raspberry Pi modelo B

 

Você pode interagir com o Raspberry Pi mediante um teclado e um mouse USB e um monitor ou televisão HDMI (de até 1080 p). A conexão Ethernet da placa oferece uma opção adicional: interagir a partir de um host conectado em rede mediante sessões ssh. Na seção Ajustes e modificações opcionais do Linux deste artigo, descreve-se como habilitar inícios de sessão seguros ssh.

Requisitos

Para configurar a execução do Java SE Embedded no Raspberry Pi modelo B você deve ter:

  • Uma rede com fio para conectar o Raspberry Pi com um cabo Ethernet. A rede deve fornecer endereços DHCP IP.
  • Um computador host Linux conectado à mesma rede Ethernet do que o Raspberry Pi. É possível executar operações equivalentes em um host Windows ou Mac, porém, há algumas diferenças que não serão apresentadas neste artigo. É necessário ter a senha de root do computador host. Além disso, o host deve contar com:
           ο Uma maneira de baixar arquivos de um web site, por exemplo, um navegador web ou um programa wget.
           ο Uma ferramenta para particionar o disco. Neste artigo, utilizamos o GParted, que é simples e eficaz. Se você não tem GParted, pode obtê-lo e instalá-lo no host da seguinte maneira:
    $ sudo apt-get install gparted
           ο Um navegador web e um usuário de e-mail para download do Java SE Embedded da Oracle.
           ο Um leitor/gravador de cartões SD. Se o host executa o Linux em uma máquina virtual, certifique-se de poder ler e gravar cartões SD.
  • Um monitor que possa ser conectado diretamente ou mediante um adaptador à porta HDMI do Raspberry Pi.
  • Um teclado e mouse USB conectado ao Raspberry Pi mediante um hub USB com fonte de alimentação.
  • Um cartão SD contendo o sistema operacional do Raspberry Pi e Java Runtime. Um cartão de 4 GB tem capacidade suficiente para armazenar Linux, Java SE Embedded e a maioria dos aplicativos integrados.

    NOTA: nem todos os cartões SD são compatíveis com o Raspberry Pi. Os cartões de alta velocidade podem ser demasiado rápidos para o bus do Raspberry Pi. Os cartões Transcend de 4 GB Micro e Patriot de 4 GB classe 4 funcionaram corretamente. Em http://elinux.org/RPi_VerifiedPeripherals#SD_cards podem ser consultadas listas dos cartões que funcionaram e que não funcionaram com o Raspberry Pi.
  • Uma fonte de alimentação Micro USB de 5 VCC com capacidade de, no mínimo, 700 mA. No web site do Raspberry Pi recomenda-se não usar um hub USB nem um computador como fonte de alimentação.

Instalação básica do Linux

Quando o Raspberry Pi recebe energia, o firmware arranca a partir do compartimento do cartão SD. O Java SE Embedded é executado no Linux, portanto, o primeiro passo é a instalação do Linux em um cartão SD.

Download da imagem do Debian Squeeze Linux para Raspberry Pi

NOTA: as instruções fornecidas aqui são para o Debian Squeeze. É provável que outras implantações do Linux para Raspberry Pi funcionem corretamente, mas é indispensável que tenham sido desenvolvidas para as operações de ponto flutuante por software do chip ARM. É provável que as imagens linkadas no web site do Raspberry Pi tenham sido criadas para hardware de ponto flutuante: não funcionam com o Java SE Embedded.

Em http://elinux.org/RPi_Distributions#Debian_ARM, você encontrará um link para uma imagem zipada do Debian Squeeze para Raspberry Pi. O arquivo pesa aproximadamente 450 MB. Nas instruções a seguir, presume-se que o download foi feito para uma pasta nova ~/RaspberryPi/. Para conferir o download do arquivo, siga as instruções SHA-1 Checksum da página mostrada no início do download.

Descomprima a imagem da seguinte maneira:

$ cd ~/RaspberryPi
$ unzip *.zip 

A descompressão cria uma subpasta com um nome similar a debian6-19-04-2012.

Copie a imagem do Debian Squeeze no cartão SD

No seu computador host, procure o identificador do cartão SD seguindo as instruções a seguir (se preferir, faça de um modo diferente):

  • Em uma janela do terminal Linux, execute dmesg | tail , que mostra mensagens relativas a montagens de dispositivos. Só interessam as últimas mensagens.
  • Insira o cartão SD no leitor/gravador.
  • Em uma segunda janela do terminal, execute novamente dmesg | tail . As linhas adicionadas em comparação com a primeira janela são relativas ao cartão SD que acaba de ser montado. Embora possa haver diferenças, devem ser similares à seguinte sequência:
    [ 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
    
    
    A dica é sdb, que significa que o identificador do dispositivo é /dev/sdb. sdb1 se refere à única partição do cartão do nosso exemplo. Seu cartão pode ter diversas partições.

Nas seguintes instruções, considera-se que o identificador do cartão SD é /dev/sdb e que o cartão tem uma única partição sdb1. Altere as instruções de acordo com o seu ambiente.

  • Desmonte a partição ou as partições do cartão SD:
    $ sudo umount /dev/sdb1
  • Copie a imagem do Debian no cartão SD com dd.
    NOTA: no seguinte comando, certifique-se de escrever o valor correto do argumento of (output file). Você está a ponto de solicitar uma cópia de disco de baixo nível que vai sobrescrever todos os dados. Se o dispositivo especificado for incorreto, os dados serão destruídos.
    $ 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 
    
    
    A operação de cópia mediante dd em um cartão SD é lenta. Pode demorar de 5 a 10 minutos no caso de um cartão de 4 GB classe 4. O comando dd não mostra o progresso, de modo que é necessário aguardar pacientemente até a tarefa finalizar.

Se neste ponto você quer comprovar que a instalação do Linux no cartão SD está sendo feita de maneira correta, consulte a seção Primeira inicialização e depois volte para Redimensionamento das partições do cartão SD.

Redimensionamento das partições do cartão SD

O cartão SD contém agora três partições e espaço não alocado. A seguir, vamos adicionar espaço não alocado ao sistema de arquivos do Linux para criar mais espaço para o Java SE Embedded e os aplicativos. Para alocar espaço não alocado ao sistema de arquivos, vamos modificar as partições do cartão SD eliminando e criando novamente uma das partições e redimensionando a outra.

  • • Inicie o GParted:
    $ sudo gparted
    O Gparted mostra inicialmente as partições do disco do host. Não altere essas partições.
  • • Selecione GParted -> Devices para visualizar as partições e o espaço não alocado em /dev/sdb:
    GParted -> Devices
    Figura 2 Partições iniciais do cartão SD

As três partições são:

  • /dev/sdb1: partição de inicialização
  • /dev/sdb2: sistema de arquivos de root do Linux; a maior parte do 1,5 GB alocado está em uso
  • /dev/sdb3: área de troca (swap) do Linux.

Aproximadamente a metade do espaço do cartão não foi alocado. A maior porção do espaço livre segue a partição /dev/sdb3 . Para adicionar esse espaço a /dev/sdb2 (o sistema de arquivos), /dev/sdb3 deve ser temporalmente eliminado, /dev/sdb2 ampliado e, na sequência, /dev/sdb3deve ser novamente criado.

  • Na coluna das partições, selecione /dev/sdb3 (troca do Linux), clique com o botão secundário e selecione Delete (eliminar). A partição aparece eliminada, mas o GParted enfileirou a operação para sua posterior execução.
    Partições do cartão SD
    Figura 3 Partições do cartão SD depois de enfileirar a eliminação

  • Na coluna de partições, selecione /dev/sdb2 – sistema de arquivos do Linux–, clique com o botão secundário e selecione a opção Resize/Move (redimensionar/mover). Na caixa de diálogo que se abre, arraste a flecha direita até que o valor de "Free space following" (espaço livre seguinte) seja aproximadamente 512 (ou aquele que você quiser alocar para troca). Pode acontecer que você não consiga selecionar o valor 512 exato, mas a precisão do tamanho não é importante.
    512 MB para trocas
    Figura 4 512 MB para trocas

  • Clique em Resize/Move para colocar a troca em fila. Vai se abrir uma caixa de diálogo advertindo "Moving a partition" (alteração de partição em andamento); clique em OK (aceitar).
  • Expandida a partição do sistema de arquivos, uma partição de troca volta a ser criada. Selecione a partição não alocada de 512 MB, clique com o botão secundário e selecione New (novo).
  • No menu drop-down do sistema de arquivos da caixa de diálogo Create New Partition (criar partição nova), selecione linux-swap (troca do Linux).
    Nova partição de troca
    Figura 5 Nova partição de troca

  • Clique em Add (adicionar).
  • Na janela principal do GParted, selecione Edit (editar) > Apply All Operations (aplicar todas as operações), que executa as operações incluídas na fila. Na caixa de diálogo de confirmação, clique em Apply (aplicar). O processo de repartição do cartão é uma operação extensa que, provavelmente, demore vários minutos. Vai se abrir uma caixa de diálogo mostrando o avanço do processo. Quando a operação tenha finalizado, clique em Close (fechar).
    O novo mapa de partições é similar a este:
    Novo mapa de partições
    Figura 6 Novo mapa de partições

  • Saia do GParted e expulse o cartão SD; execute a primeira inicialização.

Primeira inicialização

Nota: para realizar estes passos, você deve ter os seguintes componentes conectados ao Raspberry Pi: monitor, teclado e cabo Ethernet operacional.

  • Com o Raspberry Pi desligado da rede elétrica, insira o cartão SD com o Linux no dispositivo; a seguir, ligue. Após alguns segundos, deveriam aparecer mensagens sobre o progresso da inicialização no monitor. Caso contrário, é provável que o cartão SD não seja compatível ou que o seu formato seja incorreto.

    É normal que sejam mostradas mensagens de erro na primeira inicialização, pois ainda não foram configurados todos os serviços. Também é provável que a inicialização aparente não estar respondendo, esperando o shutdown do Portmap. Como a mensagem do console indica, você pode continuar com a execução (que pode demorar alguns minutos) ou desligar o Raspberry Pi da fonte de energia e, se quiser, começar uma nova inicialização. As inicializações posteriores são mais rápidas que a primeira.
  • Quando seja solicitado para iniciar sessão, informe o nome de usuário e a senha do Raspberry Pi, que no momento em que este artigo foi escrito eram "pi" e "raspberry", respectivamente.
    NOTA: o uso de um teclado não compatível pode impedir o início de sessão, por exemplo, como resultado da repetição de caracteres. Se não for possível iniciar sessão, tente com outro teclado.
    Se "pi" e "raspberry" não funcionam, consulte o web site de distribuição do Linux.
  • Obtenha e escreva o endereço IP do Raspberry Pi da seguinte maneira:
    $ sudo /etc/rc.local
    RaspberryIP
    
    
  • Habilite inícios de sessão ssh com o seguinte comando:
    $ sudo update-rc.d -f ssh defaults 20
    
    
  • Realize uma nova inicialização para ativar os inícios de sessão ssh:
    $ sudo sync; sudo shutdown -r now 
    
    
    Se o shutdown demorar muito tempo, pode desligar e ligar o Raspberry Pi.

Agora estamos prontos para ler e gravar o cartão SD do Raspberry Pi mediante a rede a partir do computador host.

Instalação do Java SE Embedded

Nesta seção, explica-se como usar o computador host para download do Java SE Embedded e sua cópia no sistema de arquivos do Linux do Raspberry Pi através da rede. A seguir, mostra-se como descomprimir o download e iniciar Java também de forma remota.

Obtenção do software de avaliação do Java SE Embedded

  • No navegador web do computador host, acesse http://www.oracle.com/technetwork/java/embedded/downloads/javase/index.html. É possível que o web site tenha sofrido alterações desde que este artigo foi escrito.
    Primeiro link para download
    Figura 7 Primeiro link para download

  • Na coluna Java SE Embedded 7, clique em EABI, VFP, SoftFB ABI, Little Endian.
    Vai se mostrar a página de uma pesquisa.
  • Responda a pesquisa e clique em Submit (enviar). Vai se mostrar uma página de verificação.
  • Revise a página de verificação para conferir que os dados sejam corretos (especialmente, seu endereço de e-mail) e, a seguir, clique em Submit. Em poucos minutos, você vai receber na caixa de entrada um e-mail de JavaSE-Embedded-LinkNotify.
  • Clique no link informado na mensagem. Vai se abrir outra página para download (é possível que alguns detalhes tenham sido modificados posteriormente à elaboração deste artigo).
    Segundo link para download
    Figura 8 Segundo link para download

  • Aceite o acordo de licença e, a seguir, clique no link mostrado na fileira ARMv6/7 Linux - Headless.
    NOTA: na data em que este artigo foi escrito, o software ARMv7 Linux - Headful não tinha sido testado no Raspberry Pi. O software ARMv7 Linux - Headless - Server Compiler não funciona com o Raspberry Pi pois requer um chip ARM v7.
  • Salve o arquivo .gz na sua pasta Downloads.
  • Inicie sessão no Raspberry Pi através da rede com o usuário "pi" e crie uma pasta para download do Java:
     
    $ ssh pi@RaspberryIP mkdir /home/pi/java
    
    
  • Copie o download do Java na nova pasta do Raspberry Pi:
    $ scp ~/Downloads/*.gz pi@RaspberryIP:/home/pi/java
    
    
  • Descomprima o download do 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) 
    
    
    É provável que alguns dados, como os números de versão e compilação, tenham mudado após a elaboração deste artigo.
  • Se quiser, pode eliminar o arquivo baixado:
    $ rm /home/pi/java/*.gz
    
    

Ajustes e modificações opcionais do Linux

Os comandos incluídos nesta seção podem aumentar a confiabilidade, o nível de resposta ou a praticidade do seu sistema Raspberry Pi. Selecione os que você preferir e execute no Raspberry Pi. Para simplificar o diagnóstico de problemas, inicie novamente o sistema depois de realizar cada alteração.

Nesta seção:

  • Configurar um endereço IP estático
  • Habilitar a troca e otimizar o tempo de acesso ao sistema de arquivos
  • Definir o fuso horário e a configuração regional
  • Configurar um servidor de horário
  • Configurar um proxy da Internet
  • Alterar funções e distribuição do teclado
  • Atualizar pacotes do Debian
  • Iniciar a interface gráfica de usuário automaticamente
  • Adicionar um navegador web
  • Habilitar som

Configurar um endereço IP estático

Se sua rede reutiliza endereços IP dinâmicos, você pode omitir a alteração para um endereço IP estático pois o endereço IP do Raspberry Pi será efetivamente constante. É provável que o endereço IP dinâmico do Raspberry Pi seja diferente a cada inicialização do sistema, por isso, é conveniente configurar um endereço IP estático, pois ele é melhor para o início de sessão ssh. Nas seguintes instruções, presume-se que você deseja dar o nome de host raspberrypi ao Raspberry Pi.

Comece abrindo /etc/hosts como superusuário em um editor de texto (p. ex., sudo vi /etc/hosts). Adicione uma linha para o Raspberry Pi, que deverá incluir um endereço IP estático válido na sua rede, um nome de domínio e um pseudônimo. A seguir, apresentamos um exemplo hipotético em que identificamos o Raspberry Pi como raspberrypi:

127.0.0.1 localhost
192.168.0.100	raspberrypi.yourDomain raspberrypi loghost 

Salve o arquivo e saia do editor.

Como superusuário, abra /etc/hostname em um editor de texto. Adicione uma linha similar à seguinte:

raspberrypi

Salve o arquivo e saia do editor.

As seguintes instruções vão permitir que você evite que a sobrecarga da rede faça com que o sistema operacional troque o endereço IP estático do Raspberry Pi. Caso o endereço seja trocado, o início ssh ou outras operações que usam o endereço IP estático deixariam de funcionar.

Encontre o endereço do hardware da porta Ethernet mediante os seguintes passos:

Primeiro, determine o nome do controlador Ethernet (osx representam os dígitos do endereço):

$ 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

Neste exemplo, é eth0. O endereço do hardware são os dígitos hexadecimais a seguir de link/ether; neste exemplo, b8:27:eb:b5:e8:90.

Agora que você conhece o endereço de hardware do controlador Ethernet, abra como superusuário /etc/network/interfaces em um editor de texto e adicione linhas similares às que seguem o comentário # New entries mostrado a continuação, substituindo os dados do exemplo pelos da sua rede.

# 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 a troca e otimizar o tempo de acesso ao sistema de arquivos

A troca está desabilitada por default no Debian Linux. Se uma operação ultrapassa os 256 KB de RAM do Raspberry Pi, o sistema falha. Outro problema menos grave é que, também por default, o sistema de arquivos perde tempo mantendo dados do acesso mais recente a cada arquivo, o que é de pouca utilidade no caso de aplicativos integrados. Manter dados sobre acessos mais recentes, além disso, pode diminuir a vida útil de um cartão SD. Ambas as condutas por default são especificadas no arquivo /etc/fstab .

Como superusuário, abra /etc/fstab em um editor como vi. O arquivo se apresenta assim:

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

Para habilitar a troca, tire as marcas de comentário da terceira linha.

NOTA: em um cartão SD, a troca é lenta. No caso de aplicativos integrados, é conveniente gerenciar a memória para evitar isto.

Para eliminar a sobrecarga associada aos dados sobre acessos mais recentes, insira um ponto de montagem p2 entre p1 e p3. As opções noatime e nodiratime são as indicadas para atingir o resultado desejado. Quando o arquivo ficar como é mostrado a seguir, salve e saia do 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

Aloque p3 (a partição de troca criada no host como /dev/sdb3) como espaço para troca:

$ sudo mkswap /dev/mmcblk0p3 

Definir o fuso horário e a configuração regional

Por default, o Raspberry Pi é configurado para o fuso horário Europa/Londres e a região en_GB_UTF-8. Para modificar a configuração regional do seu computador, faça o seguinte.

Para mudar o fuso horário, escreva o seguinte comando:

$ sudo dpkg-reconfigure tzdata 

Mostra-se uma interface gráfica falsa.

Interface de usuário para fuso horário
Figura 9 Interface de usuário para fuso horário

Movimente o cursor de seleção pelas regiões e cidades com as teclas de fecha acima e abaixo. Para selecionar <Ok> (aceitar) ou <Cancel> (cancelar), use as flechas direita e esquerda. Para aceitar uma seleção, aperte a tecla de retorno.

Defina a configuração regional da seguinte maneira:

$ sudo dpkg-reconfigure -p low locales 

A interface de usuário é similar à utilizada para definir o fuso horário.

Configurar um servidor de horário

Muitas operações, entre elas, as atualizações de pacotes de software, dependem de a data e a hora serem corretas. Para definir a data e a hora de forma automática, informe-se sobre a identidade do servidor de horário da rede e, a seguir, execute o seguinte comando:

$ sudo ntpdate yourNTPServer 

Para definir a hora em cada inicialização, modifique como superusuário /etc/rc.local e adicione a seguinte linha antes da saída do código:

ntpdate yourNTPServer 

Configurar um proxy da Internet

Faça ping para um host da Internet conhecido, como www.lego.com. Caso o host não responda, informe-se se sua rede está detrás de um proxy e, se fosse necessário, defina a variável de ambiente http_proxy segundo as convenções de sua rede, por exemplo (caso hipotético):

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

Para definir o proxy a cada início de sessão, adicione o comando de exportação a ~/.bash_profile ou outro equivalente se usa um shell diferente.

Alterar funções e distribuição do teclado

Use este comando se as teclas não são interpretadas corretamente ou se deseja alterar a distribuição do teclado:

$ sudo dpkg-reconfigure keyboard-configuration

A interface de usuário é similar à descrita na seção Definir o fuso horário e a configuração regional deste artigo.

Atualizar pacotes do Debian

Antes de atualizar os pacotes que são distribuídos com o Debian, abra /etc/apt/sources.list como superusuário em um editor de texto. Este arquivo contém as localizações do repositório de pacotes novos ou atualizados. Tal como são distribuídas, as localizações incluem ftp.uk nos seus URL. Se você não estiver na Grã Bretanha, pode melhorar o desempenho modificando as entradas para incluir uma localização física mais próxima. Por exemplo, se você estiver nos Estados Unidos, pode mudar ftp.uk para ftp.us em geral. No web site http://ftp.debian.org/debian/README.mirrors.html são oferecidas informações sobre localizações de repositórios do Debian.

Para atualizar os pacotes instalados, confira que o Raspberry Pi esteja conectado à Internet e, a seguir, escreva estes comandos:

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

Caso apareça uma mensagem notificando que existem duplicados na lista de pacotes, abra novamente /etc/apt/sources.list em um editor e coloque marcas de comentário em uma das entradas duplicadas. Com frequência, é conveniente conservar a entrada que contém maiores informações.

Iniciar a interface gráfica de usuário automaticamente

Se você quer que o sistema de janelas se ative de forma automática quando inicia sessão localmente no Raspberry Pi, mude o nível de execução por default da seguinte maneira. Como superusuário, abra /etc/inittab em um editor de texto. Procure a seguinte entrada:

# The default runlevel.	
id:2:initdefault:

Substitua por 5:

# The default runlevel.	
id:5:initdefault:

NOTA: os gráficos consomem uma grande parte da memória RAM do Raspberry Pi, aproximadamente 90 MB.

Adicionar um navegador web

Se você tem problemas com o navegador web por default midori, tente com o iceweasel:

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

Habilitar som

A saída de áudio do Raspberry Pi não é habilitada por default. Para habilitá-la, abra /etc/inittab como superusuário em um editor de texto. Adicione esta linha no final do arquivo:

snd_bcm2835 

Salve e feche o arquivo. Ao inicializar novamente o Raspberry Pi, o som estará habilitado.


Postado por Bill Courington y Gary Collins.