Instalação do sistema operativo
Esta é a segunda parte da série de artigos Construir um router com o Banana Pi. Para consultar a primeira parte, veja aqui.
Que opções tenho?
O Banana Pi, como foi dito na parte I, baseia-se no SoC (System on a Chip) Allwinner A20, que tem uma arquitectura ARMv7. Como tal, é compatível com todos os sistemas operativos existentes para esta plataforma:
- Android
- Linux
- FreeBSD
- OpenBSD
- NetBSD
- OpenWRT
Inicialmente, considerei usar uma das variantes de BSD. Rapidamente descobri que não há (ainda) driver para o chip BCM53125. Este chip é um switch Ethernet com suporte para VLANs. O Banana Pi, tal como muitos dos routers disponíveis comercialmente apenas dispõem de um interface Ethernet. A distinção entre a porta WAN e as 4 portas LAN é feita à custa de VLANs.
Acontece que nenhum sistema, excepto OpenWRT e Linux fornece driver para o BCM53125. Como já tenho um router com TomatoUSB, que é muito parecido com OpenWRT e como as distribuições de Linux disponíveis dispõem de muito mais funcionalidades, decidi optar por uma distribuição de Linux “completa”.
Distribuições disponíveis
São várias as distribuições de Linux disponíveis na página do produto (http://www.bananapi.com/Download/6/):
- Ubuntu MATE 16.04
- KANO OS 3.3.0 beta
- Raspbian (baseado em Debian Jessie)
- Raspbian Lite
- Ubuntu minimal
- Android 4.4
- OpenWRT 4.0
- Snappy Ubuntu Core
- Bananian
- Arch Linux
- Lubuntu
- OpenSUSE
- Fedora
O Banana Pi R‑1 é também comercializado com o nome Lamobo R1, e, nesta página (https://dl.armbian.com/lamobo-r1/) poderemos também obter o Armbian (versão de Debian para arquitecturas ARM) e o Ubuntu.
Após diversas pesquisas, decidi optar pelo Armbian com o kernel versão 3.4.113. O link directo para download que usei foi https://dl.armbian.com/lamobo-r1/archive/Armbian_5.25_Lamobo-r1_Debian_jessie_default_3.4.113.7z.
Depois de descarregar este ficheiro, teremos que o descomprimir com o utilitário 7zip.
Teremos então, além de um ficheiro com 1,3GB que é a imagem do sistema, um ficheiro de texto com informação sobre o sistema operativo, bem como o ficheiro sha256sum.sha, que é um ficheiro de controlo. Para verificar se o ficheiro foi correctamente transferido e descomprimido, dever-se‑á fazer a verificação do ficheiro img com o utilitário sha256sum (ou equivalente).
De seguida, deve-se “transferir” esse ficheiro para um cartão microSD com, pelo menos, 2GB de capacidade.
Em sistemas UNIX® e Linux pode-se usar o utilitário dd. Em sistemas Windows, pode-se usar o Rufus (disponível em https://rufus.akeo.ie/).
O comando que utilizei no meu computador foi:
dd if=Armbian_5.25_Lamobo-r1_Debian_jessie_default_3.4.113.img of=/dev/mmcblk0 bs=128k
A opção bs=128k serve para acelerar a transferência.
De seguida, se desejável, pode-se usar o utilitário gparted para expandir a partição do cartão SD para que ocupe toda a capacidade disponível.
Estamos prontos, então para ligar o Banana Pi pela primeira vez. Dado que não temos ainda a configuração de rede efectuada, teremos que ligar o Banana Pi a um monitor (ou televisão) com ligação HDMI e um teclado USB.
Configuração básica
A primeira vez que se liga o Banana Pi, teremos que usar o login root. A password por omissão é bananapi. É‑nos então pedidas algumas informações:
- Mudança da password do utilizador root
- Criação de um utilizador não privilegiado.
O Armbian para o Banana Pi R‑1 é fornecido com ficheiros de configuração de rede pré-definidos.
De forma a podermos aceder ao Banana Pi por SSH, necessitamos de primeiro, entrar com o utilizador root e copiar ou renomear o ficheiro /etc/network/interfaces.r1router para /etc/network/interfaces.
Esta alteração permite que sejam definidas duas VLANs, uma para o interface WAN e outra para os interfaces LAN e WLAN. Estes dois interfaces ficam agregados numa bridge (br0). Define também que o endereço WAN será definido por DHCP (os ISPs portugueses utilizam este método para obtenção do endereço IP público); a rede “interna” (LAN) fica definida como 192.168.2.0/24.
A partir daqui poderemos aceder ao Banana Pi por SSH. Para isso, temporariamente, liguei o Banana Pi, com um cabo UTP desde o interface WAN a uma porta LAN do meu router actual.
Na terceira parte, falarei da configuração dos vários serviços de rede necessários para poder dar suporte à minha rede doméstica (DHCPd, DNS, e firewall).