Instalando o Raspbian no Raspberry Pi

O Raspbian é um sistema operacional gratuito baseado em Debian e que foi otimizado especialmente para o hardware do Raspberry Pi. Ele é o sistema operacional oficialmente suportado pela Raspberry Pi Foundation. Você pode instalá-lo a partir do NOOBS – New Out of The Box Software, que é um instalador de sistemas operacionais facilitado, ou diretamente a partir do arquivo imagem do sistema. Neste artigo, irei ensinar a instalar o Raspbian a partir do arquivo imagem, pois este procedimento requer algumas linhas de comando no terminal e, com certeza, irá agregar para aqueles que ainda estão se familiarizando com o ambiente Linux.

A cada nova versão, o Raspbian recebe um nome diferente. A versão disponível na data atual é a Raspbian Jessie que teve sua release em 27/05/2016. Antes desta release, a versão que estava disponível era a Raspbian Wheezy. Então, dependendo de quando você está lendo este artigo, pode haver uma versão mais atual disponível. O link disponibilizado neste artigo para o download da imagem sempre remeterá à versão mais atual disponível no site da Raspberry Pi Foundation.

Preparando Cartão de Memória

O Raspberry Pi deve funcionar com qualquer cartão SD compatível, contudo há algumas diretivas que devem ser seguidas:

A priori, deve-se observar o tamanho do cartão de memória. Para a instalação utilizando o NOOBS, o mínimo espaço requerido é de 8GB; para instalação utilizando o arquivo imagem, um mínimo de 4GB é recomendado.

Posteriormente, deve-se observar a classe do cartão, que diz respeito à taxa de transferência de dados suportada. Um cartão de classe 4 conseguirá escrever dados a uma taxa de 4MB/s, enquanto que um classe 10 possibilitará uma taxa de 10MB/s. Contudo, isso não quer dizer que o cartão classe 10 sempre terá um desempenho melhor que o classe 4. Eu recomendo o uso de um classe 10, mas se tens disponível apenas um classe 4, este também servirá.

Tendo o cartão em mãos, eu recomendo formatá-lo antes de seguir com os passos deste tutorial, lembrando de marcar a nova partição como “bootável“. Fiz todo o procedimento sem antes formatar o meu cartão e o sistema não inicializou. Realizei, portanto, a formatação do cartão e repeti os passos obtendo sucesso na inicialização do sistema.

Para formatar unidades removíveis no Linux, eu utilizo o Gparted. Para saber se você já tem o Gparted instalado, digite o seguinte comando no terminal:

Se este comando retornar algum resultado, então o programa está instalado. Caso contrário, instale o pacote com o seguinte comando:

Eu  apaguei todas as partições existentes no cartão e criei uma única no formato FAT32. Imagino que isso deva ser o suficiente na totalidade dos casos. Faça a formatação do cartão, seja com o Gparted ou com outro programa de sua preferência e prossiga com a instalação do sistema operacional.

Download da Imagem

Você pode efetuar o download da imagem do Raspbian clicando aqui. Você obterá um arquivo .zip nomeado com a data da versão que você está baixando. Por este motivo, você poderá obter um arquivo com a data mais atual do que o mostrado neste tutorial.

Após fazer o download da imagem, crie uma pasta dedicada e mova o arquivo para lá. A operação de mover o arquivo deve demorar alguns segundos, pois o arquivo é grande. Feito isto, descompacte o arquivo .zip para obter a imagem (.img) que será gravada no cartão de memória. Observe os comandos utilizados a seguir:

Com a imagem descompactada, estamos prontos para gravá-la no cartão de memória.

Escrevendo a Imagem no Cartão

ATENÇÃO: Note que o uso da ferramenta dd pode sobrescrever qualquer partição da sua máquina, inclusive a que contém o sistema operacional. Se você especificar o dispositivo errado nos comandos mostrados abaixo, você pode apagar a sua partição primária do Linux. Por favor, seja cuidadoso.

Primeiramente, execute o comando df -h no terminal para ver quais dispositivos estão montados. Posteriormente, insira o cartão SD na leitora de cartões do seu computador ou em uma porta USB através de um adaptador. Aguarde até que o dispositivo seja montado com sucesso.

Execute novamente o comando df -h e observe os resultados. O novo dispositivo que apareceu, provavelmente no final da lista, é o seu cartão SD. A primeira coluna (da esquerda) mostra o nome dos dispositivos. O seu cartão SD deverá ser apresentado como /dev/mmcblk0p1 ou /dev/sdd1. A última parte (p1 ou 1, respectivamente) refere-se ao número da partição do cartão. Se o seu cartão possuir mais de uma partição, ele aparecerá mais de uma vez, como por exemplo: /dev/mmcblk0p1 e /dev/mmcblk0p2 ou /dev/sdd1/dev/sdd2. Porém, desejamos escrever a imagem em todo o volume do cartão e não somente em uma das partições. Assim sendo, utilizaremos o nome do dispositivo sem o sufixo: /dev/mmcblk0 ou /dev/sdd.

Agora que você já sabe qual o nome do seu dispositivo, é preciso desmontá-lo para que a leitura e escrita de dados no cartão fique impossibilitada enquanto copiamos a imagem para ele. Para isso, execute o comando umount /dev/mmcblk0p1 ou umount /dev/sdd1. Faça isso para todas as partições existentes do seu cartão SD substituindo o sufixo pelo número correspondente da partição.

No terminal, escreva a imagem do sistema operacional no cartão de memória com o comando listado abaixo, tendo absoluta certeza de que o argumento do arquivo de entrada (if=) seja o caminho para o seu arquivo .img e que o argumento para o seu arquivo de saída (of=) seja o nome do dispositivo correto. Esse passo é criticamente importante, pois você poderá perder todos os dados do seu HD se indicar o dispositivo de saída errado. Tenha certeza de que o nome do dispositivo é o nome primário do cartão de memória, sem o sufixo. Se tiver dúvidas, volte no texto e releia a explicação.

O argumento bs=4M indica que os blocos do arquivo serão copiados de 4MB em 4MB. Esta opção deverá funcionar na maioria da vezes. Caso não funcione, altere esta opção para bs=1M, contudo o processo de escrita da imagem levará muito mais tempo.

Outro ponto a se observar é que é necessário permissão de super usuário para executar este comando. Caso você não esteja logado no terminal como usuário root, deverá fazer uso do prefixo sudo na linha de comando.

O processo de escrita no cartão SD demora alguns bons minutos e o comando dd não mostra nenhuma informação sobre o progresso de escrita, podendo parecer que a execução travou. Uma alternativa é utilizar o comando dcfldd que irá relatar o progresso de escrita. Outra opção é enviar um sinal de usuário para o processo dd para que ele informe o status de sua execução. Para essa última opção, abra uma nova janela do terminal e execute o seguinte comando (como super usuário):

O comando pkill envia um sinal específico para um determinado processo. O argumento -USR1 indica que queremos enviar o sinal USR1, que é um sinal de usuário padrão disponível no kernel Linux. A opção -x seleciona processos cujo nome corresponda perfeitamente ao que for informado na linha de comando; a opção -n seleciona, dentre os processos correspondentes, aquele que foi criado mais recentemente; por fim, dd é o nome do processo para o qual desejamos enviar o sinal. Desta forma, se houverem dois processos dd sendo executados simultaneamente, este comando enviará o sinal para o que foi criado por último. A resposta a este sinal irá aparecer na janela onde o comando dd está sendo executado. A resposta será parecida com a seguinte:

Ao finalizar a escrita da imagem no cartão SD, o mesmo já está pronto para dar o boot no Raspberry Pi. Contudo, não se fazendo valer da pressa, podemos conferir se a gravação foi concluída com sucesso.

Conferindo a Imagem do Cartão

Após o término da escrita, você pode conferir se o processo foi bem sucedido comparando a imagem do cartão SD com a imagem original no seu HD. Obviamente, a imagem do cartão de memória será maior que a original, pois toda a partição do cartão foi preenchida, mas o conteúdo entre elas deverá ser o mesmo. Para fazer a comparação, primeiramente, é necessário copiar de volta a imagem do cartão SD para o computador e depois truncar este arquivo para o tamanho da imagem original. Posteriormente, fazemos a comparação. O comando diff deverá informar que ambas as imagens são idênticas.

O comando diff também demora um pouco para ser executado, pois precisa comparar os arquivos byte por byte. Ao receber a confirmação de que os arquivos são idênticos, você pode apagar os arquivos imagem do seu computador, ou, pelo menos, a imagem que copiou do cartão de memória.

Finalizando

Por fim, rode o comando sync para se assegurar de que a memória cache de escrita seja esvaziada e que é seguro remover o cartão de memória. Feito isso, pode retirar o cartão de memória, colocá-lo no seu Raspberry Pi e saborear essa deliciosa torta de framboesa.

Este artigo foi fundamentado nos tutoriais disponibilizados pela Raspberry Pi Foundation.

Gostou do artigo? Deixe um comentário, curta e compartilhe com os amigos!
Caso haja dúvidas, fique à vontade para perguntar.
Abraços e até a próxima!

Sobre

Jair Junior é Bacharel em Engenharia Eletrônica pela Universidade de Brasília [2014] com ênfase em microeletrônica. Suas especialidades na área são microcontroladores, sistemas embarcados e projeto de hardware. Também possui conhecimentos aprofundados em aplicações web e processamento digital de imagens. Atualmente, é aluno de pós-graduação lato sensu da PUC Minas no curso de Desenvolvimento de Aplicações Web. Ademais, tem como hobbies viajar, praticar esportes na natureza, apreciar cervejas artesanais e escutar um bom e velho rock 'n roll. Para mais detalhes, acesso a página sobre o autor.

Ver todos os posts de

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *