Desenvolvimento

4 jul, 2017

Customizando e atualizando a Omega2

Publicidade

Nem sempre o que vem de fábrica nos agrada, nos levando a fazer customizações e alterações para nos agradar ou mesmo para mudar completamente algo. Nos sistemas embarcados, isso é muito comum, principalmente em sistemas com Linux.

A Omega2, placa que já falei aqui no site, vem fazendo um enorme sucesso, não só pelo preço, mas também pelo tamanho e capacidade de processamento. Para quem quiser comprar, a Omega2 e a Omega2+ estão sendo vendidas pela Usina Info, podendo ser adquirida através deste link.

LEDE

O sistema operacional da Omega2 é o LEDE (Linux Embedded Development Environment), que é um projeto Linux baseado no openWRT, que pode ser utilizado em muitos dispositivos, incluindo uma vasta gama de roteadores.

Para utilizar o LEDE, que na verdade já vem com a Omega2, podemos seguir de duas formas diferentes: atualizando com o arquivo binário já pronto ou fazer uma build/compilação customizada.

Compilando o LEDE

A grande vantagem de fazer a sua própria compilação do LEDE é que você pode selecionar novos pacotes ou remover alguns que não são utilizados. Isso pode ajudar a reduzir o tamanho da instalação ou evitar a instalação posterior de pacotes.

Se a versão atual já atende as suas necessidades, recomendo, a seguir, o passo de atualização sem fazer a customização, já que pode levar um bom tempo – até 2 horas dependendo da configuração do seu computador.

Preparando o ambiente

Para montar o ambiente de compilação, devemos utilizar uma distribuição Linux, com os seguintes pacotes: gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff, unzip, gawk, getopt, subversion, libz-dev e libc headers.

Vamos fazer agora o checkout do projeto, que tem também um espelho no Github:

$ git clone https://git.lede-project.org/?p=source.gitG
mimi

Antes de seguir, devemos executar dois scripts, que vão atualizar a lista dos pacotes disponíveis e fazer a “instalação” dos links simbólicos no sistema.

$ cd source
$ ./scripts/feeds update -a
$ ./scripts/feeds install -a

Pronto! Agora podemos fazer a configuração da plataforma e dos pacotes.

Selecionando os pacotes

Para iniciar, a interface de seleção dos pacotes, devemos utilizar o comando make menuconfig.

$ make menuconfig

A principal configuração que temos que fazer nesse ponto é a seleção da plataforma, que devemos fazer da seguinte forma:

Target System (MediaTek Ralink MIPS)
Subtarget (MT7688 based boards)
Target Profile (Onion Omega2+)

ou

Target Profile (Onion Omega2)

<a href="https://imasters.com.br/?attachment_id=117282" rel="attachment wp-att-117282"><img class="aligncenter wp-image-117282 size-large" src="https://static.imasters.com.br/wp-content/uploads/2017/06/lede-config2-620x387.png" alt="" width="620" height="387" /></a>

Vale ressaltar que, se você remover um pacote que não deveria ser removido, isso vai fazer a Omega2 deixar de funcionar corretamente. Se não souber o que um determinado pacote faz, não o remova ou o adicione.

Para iniciar a compilação, vamos utilizar o comando make.

$ make -j1 V=s

Ao finalizar a compilação, teremos o arquivo binário com a imagem a ser atualizada, dentro da pasta “bin/targets/ramips/mt7688/lede-ramips-mt7688-omega2p-squashfs-sysupgrade.bin”.

Atualizando com o sistema já pronto

Caso não haja a necessidade de customização, o binário da imagem já compilada pode ser baixada diretamente do projeto LEDE.

Download da imagem LEDE para Omega2+

Para atualizar, temos várias formas diferentes, conforme descritas abaixo:

Atualizando o sistema

Pelo terminal da Omega2, podemos fazer a atualização de várias formas, baixando o binário diretamente na pasta /tmp, que é uma parte da memória RAM, utilizando a porta USB (com dockstation) ou pelo cartão de memoria.

Se a Omega tiver acesso à Internet, podemos baixar o arquivo diretamente para a pasta /tmp por wget.

# cd /tmp && wget https://downloads.lede-project.org/releases/17.01.2/targets/ramips/mt7688/lede-17.01.2-ramips-mt7688-omega2p-squashfs-sysupgrade.bin

Tendo o acesso ao arquivo, usamos o comando sysupgrade:

# sysupgrade -c lede-17.01.2-ramips-mt7688-omega2p-squashfs-sysupgrade.bin

A opção -c vai manter as configurações dentro da pasta /etc, portanto, você não mai perder as configurações já realizadas.

A atualização pode levar alguns minutos, na dúvida, deixe o processo rolando por pelo menos cinco minutos antes de retirar a alimentação.

Minha placa não inicia, o que devo fazer?

Caso tenha ocorrido algum problema na atualização, algum pacote removido por acidente ou se algo deu muito errado no sistema e a placa não inicia mais, tem como reverter isso da seguinte forma:

  • Coloque o binário na raiz de um pendrive, formatado em FAT32 e renomeado para Omega2.bin;
  • Segure o botão de reset e ligue a Omega2;
  • Escolha a opção 2 e aguarde o processo completo.

Se tudo correr bem, a sua placa deverá voltar à vida!

Caso mesmo assim não dê certo, verifique se o arquivo binário não esteja corrompido ou baixe-o novamente. Existem alguns casos em que o binário pode ter sido corrompido durante o download, por exemplo.

Conclusão

Se você é do tipo aventureiro, que quer mudar tudo, isso é para você! O interessante de fazer essa customização, é que a imagem pode ser customizada de acordo com os pacotes que você irá utilizar e poderá remover os que não serão utilizados, facilitando a instalação em outras placas.