logo-arkos

Conheça arkOS: Distro para hospedagem particular

O arkOS é uma distribuição Linux baseada no Arch Linux ARM, que funciona em dispositivos embarcados e servidores dedicados. Este contém um pacote de software completo para gerenciamento de  hospedagem particular (self-hosting) de forma intuitiva e inteligente. Também permite executar sites, contas de e-mail, banco de dados e muito mais, tudo através de sua interface gráfica, que é fácil de usar.

(mais…)

ArchlinuxLogo2

Instalando ArchLinux + XFCE + LXDM no Banana Pi

Hoje vou mostrar como instalar o ArchLinux no BananaPi. Escolhi o ArchLinux por ele ser uma distribuição bem enxuta, mas muito poderosa. Outro motivo que me leva a usá-lo é o fato de que pretendo fazer testes com o RetroArch.

Instalando o ArchLinux

Faça o download da imagem do ArchLinux.

Para passar a imagem para o SD faça o seguinte:

sudo dd bs=8M if=sua_imagem.img of=/dev/sdb && sync

No meu caso, como estou usando saída HDMI apenas fiz o seguinte ajuste (em negrito) no arquivo uEnv.txt:

bootargs=console=ttyS0,115200 console=tty0 disp.screen0_output_mode=3:1360x768p50 hdmi.audio=EDID:0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4

Caso você possua dúvidas sobre como configurar as saídas de vídeo siga este tutorial.

Acessando o ArchLinux

Você pode acessar diretamente ou via SSH. Para acessar via SSH basta você conectá-lo a rede. Para conectar no BPi via SSH execute o comando abaixo:

ssh [usuário]@[ip]

Exemplo:

ssh [email protected]

Os usuários de acesso padrão são:

Tipo Login Senha
Root root bananapi
Usuário bananapi bananapi

Atualizando o ArchLinux

Após instalar o ArchLinux vamos verificar se existem novas atualizações. Para isto, execute o comando abaixo:

pacman -Syu

Se possuir atualizações, instale-as.

Instalando as dependências

Agora que ele está atualizado, vamos instalar todas as dependências necessárias.

Instalando o driver X.org para o BPi:

pacman -S xf86-video-fbdev

Instalando o XFCE como área de trabalho:

pacman -S xfce4

Instalando alguns pacotes adicionais, contendo plugins, para o XFCE (não obrigatório):

pacman -S xfce4-goodies

Instalando o LXDM como gerenciador de área de trabalho:

pacman -S lxdm

Configurando o XFCE e o LXDM

Agora que temos o XFCE e o LXDM instalados, vamos configurá-los.

Para que ao iniciar o startx ele inicie o XFCE devemos fazer alguns ajustes.

Vamos editar o arquivo de configração do xinit:

vim /etc/X11/xinit/xinitrc

E adicionar a seguinte linha:

exec startxfce4

No meu caso o arquivo ficou da seguinte forma:

#!/bin/sh

userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap

# merge in defaults and keymaps

if [ -f $sysresources ]; then
    xrdb -merge $sysresources
fi

if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
fi

if [ -f "$userresources" ]; then
    xrdb -merge "$userresources"
fi

if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"
fi

# start some nice programs

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 done
 unset f
fi

# twm &
# xclock -geometry 50x50-1+1 &
# xterm -geometry 80x50+494+51 &
# xterm -geometry 80x20+494-0 &
# exec xterm -geometry 80x66+0+0 -name login

exec startxfce4

Agora já é possível executar o comando startx para iniciar o ambiente gráfico com o XFCE. Porém ainda falta um detalhe, ao iniciar o sistema ele deve ir para o ambiente gráfico. Para isso precisamos configurar o LXDM.

Vamos editar o arquivo de configuração do LXDM:

vim /etc/lxdm/lxdm.conf

Procure pela linha que contenha session e susbtitua por:

session=/usr/bin/startxfce4

No meu caso o arquivo ficou da seguinte forma:

[base]
## uncomment and set autologin username to enable autologin
# autologin=dgod

## uncomment and set timeout to enable timeout autologin,
## the value should >=5
# timeout=10

## default session or desktop used when no systemwide config
session=/usr/bin/startxfce4

## uncomment and set to set numlock on your keyboard
# numlock=0

## set this if you don't want to put xauth file at ~/.Xauthority
# xauth_path=/tmp

# not ask password for users who have empty password
# skip_password=1

## greeter used to welcome the user
greeter=/usr/lib/lxdm/lxdm-greeter-gtk

[server]
## arg used to start xserver, not fully function
arg=/usr/bin/X -background vt1
# uncomment this if you really want xserver listen to tcp
# tcp_listen=1
# uncoment this if you want reset the xserver after logou
# reset=1

[display]
## gtk theme used by greeter
gtk_theme=Clearlooks

## background of the greeter
# bg=/usr/share/backgrounds/default.png

## if show bottom pane
bottom_pane=1

## if show language select control
lang=1

## if show keyboard layout select control
keyboard=0

## the theme of greeter
theme=Industrial

[input]

[userlist]
## if disable the user list control at greeter
disable=0

## whitelist user
white=

## blacklist user
black=

Agora que configuramos a sessão padrão do LXDM vamos habilitá-lo:

systemctl enable lxdm

Pronto, agora você pode reiniciar o seu BPi que ele iniciará o XFCE + LXDM por padrão. Abaixo você pode conferir algumas imagens.

lxdm

lxdm

Espero que você tenha gostado. Se ficou alguma dúvida não deixe de comentar.

Primeiros passos com o Banana Pi

Na primeira postagem sobre o Banana Pi eu comentei sobre o hardware e se seria uma boa opção de compra. Pois bem, nesta postagem irei comentar como colocar o BPi para funcionar, caso você já possua um ou está pensando em adquiri-lo.

Todos os exemplos são baseados no Linux, se você usa outro sistema operacional veja as instruções aqui.

Copiando a imagem para o SD

O primeiro passo é copiar uma imagem de algum sistema operacional disponível para o BPi. Atualmente o BPi possui as seguintes imagens:

  • Lubuntu
  • Raspbian
  • Android
  • Bananian
  • Berryboot
  • LeMedia (XBMC)
  • OpenSuse
  • Fedora
  • Gentoo
  • Scratch
  • ArchLinux
  • Open Media Vault
  • OpenWrt

Você pode fazer o download das imagens aqui.

Nota: A maioria das imagens não possui um link direto, nesse caso o servidor que se mostrou melhor foi o do OneDrive.

Após o download você deverá ter uma imagem com a extensão img. Caso o arquivo esteja comprimido descompacte-o antes.

Certifique-se de possuir um SD conectado e que seja de no mínimo 4 GB. O tamanho do SD irá variar de acordo com o tamanho da imagem.

Agora que você já possui tudo pronto, vamos aos comandos para copiar a imagem para o SD.

Listando as unidades de disco:

ls /dev/sd*

Identifique o seu SD, provavelmente será sdb e sdb1. Para fins de exemplo vou utilizar o sdb/sdb1 como minha unidade de disco. Caso a sua seja outra modifique o script abaixo.

O próximo passo é desmontar a unidade.

umount /dev/sdb1

Agora que a unidade está desmontada vamos copiar a imagem para o SD (Note que todos os dados e partições do SD serão perdidos).

Vou usar o comando dd com o bs de 1M. Se você utilizar um valor maior e tiver problemas, tente reduzir um pouco. No if você informa o arquivo de origem, no caso o seu arquivo img, e no of, você informa a sua unidade de destino, no caso o cartão SD.

sudo dd bs=1M if=sua_imagem.img of=/dev/sdb && sync

Dependendo da imagem e do bs escolhido a cópia poderá demorar alguns minutos, então não se preocupe se demorar um pouco.

Pronto, agora você já pode conectar o SD no seu BPi e sair usando-o, ou não. Isso mesmo, se você está utilizando um conversor HDMI para VGA ou a conexão vídeo componente,  as suas chances de rodar o BPi de primeira são poucas. Agora, se você está usando um cabo HDMI ligado à uma TV/Monitor HDMI, a imagem deverá funcionar, pois por padrão o HDMI é o dispositivo de saída de vídeo. Em alguns casos a imagem consegue identificar que o HDMI não está conectado e então a imagem é enviada para o vídeo componente, mas no meu caso eu não consegui isso sem fazer umas pequenas alterações nas imagens. Portanto, se você possuir o mesmo problema que eu,  continue seguindo as instruções abaixo.

Baixando os arquivos necessários

Se você pretende alterar o arquivo script.bin você terá que fazer o download do Sunxi-tools para convertê-lo de bin para fex. Você pode fazer o download aqui.

Após ter feito o download descompacte o arquivo. Após descompacta-lo será necessário compilar o projeto. Execute as seguintes linhas de comando no diretório onde estão os arquivos baixados:

make bin2fex
make fex2bin

Como o nome sugere, o arquivo bin é binário, e não é possível alterá-lo por um editor de texto. Após convertê-lo para fex é possível editá-lo normalmente.

Procure no SD card pelo arquivo script.bin

Para converter de bin para fex utilize o comando:

./bin2fex script.bin>script.fex

E para converter de fex para bin utilize o comando:

./fex2bin script.fex>script.bin

Após convertido, substitua o arquivo do SD card pelo novo arquivo script.bin

Alterando a imagem para reconhecer HDMI

Caso o seu BPi não reconheça o seu cabo HDMI ou o conversor HDMI para VGA siga os passos abaixo.

Procure no SD card pelo arquivo config.txt. Este é o arquivo de configurações, como se fosse uma BIOS. Após achar o arquivo abra-o com o seu editor preferido e procure pelas seguintes linhas e descomente-as, caso elas não existam basta adicioná-las.

hdmi_force_hotplug=1

Irá usar o modo HDMI, mesmo que nenhum cabo seja detectado.

hdmi_safe=1

Use o safe mode para conseguir a melhor compatibilidade. Isto equivale a:

hdmi_force_hotplug=1
hdmi_ignore_edid=0xa5000080
config_hdmi_boost=4
hdmi_group=2
hdmi_mode=4
disable_overscan=0
overscan_left=24
overscan_right=24
overscan_top=24
overscan_bottom=24

Caso você tenha dúvidas sobre o arquivo config.txt, clique aqui para ver a documentação.

Se após isso ainda não funcionar, você pode editar o arquivo script.bin. Utilize os passos descritos acima para obter o arquivo fex. Após obtido o arquivo, abra-o com seu editor de texto e procure por [disp_init], ao encontrar altere as seguintes linhas para:

Habilitado

disp_init_enable = 1

Screen 0

disp_mode = 0

HDMI

screen0_output_type = 3

480p

screen0_output_mode = 2

TV

screen1_output_type = 2

NTSC

screen1_output_mode = 14

Verifique aqui quais os valores para o screen0_output_mode / screen1_output_mode.

Alterando a imagem para reconhecer Video Componente

Caso o seu BPi não envie a imagem via Vídeo Componente siga os passos abaixo.

Procure no SD card pelo arquivo config.txt. Este é o arquivo de configurações, como se fosse uma BIOS. Após achar o arquivo abra-o com o seu editor preferido e procure pela seguinte linha e descomente-a, caso ela não existam basta adicioná-la.

sdtv_mode=0 NTSC
sdtv_mode=1 NTSC Japonês
sdtv_mode=2 PAL
sdtv_mode=3 PAL Brasileiro

Escolha o valor de acordo com a sua TV/Monitor. Note que para o vídeo componente funcionar você não pode estar com o cabo HDMI conectado.

Certifique-se de que as linhas abaixo não existam, ou estejam comentadas ou com o valor 0. Para comentar basta colocar # no início da linha.

hdmi_force_hotplug=1
hdmi_safe=1

Caso você tenha dúvidas sobre o arquivo config.txt, clique aqui para ver a documentação.

Se após isso ainda não funcionar, você pode editar o arquivo script.bin. Utilize os passos descritos acima para obter o arquivo fex. Após obtido o arquivo, abra-o com seu editor de texto e procure por [disp_init], ao encontrar altere as seguintes linhas para:

Habilitado

disp_init_enable = 1

Screen 0

disp_mode = 0

TV

screen0_output_type = 2

NTSC

screen0_output_mode = 14

HDMI

screen1_output_type = 3

480p

screen1_output_mode = 2

Verifique aqui quais os valores para o screen0_output_mode / screen1_output_mode.

Se depois destas alterações todas você ainda não conseguir vídeo nenhum, mas a luz vermelha da placa está acesa e a verde está piscando, só resta ver se o problema não pode ser o cabo. Caso essas luzes não estejam conforme mencionado pode ser que o problema está no SD ou na imagem gravada. Para todos os casos você pode tirar suas dúvidas no fórum do BPi.

Essas foram algumas das dificuldades que tive e como consegui resolve-las. Espero que este post possa ser útil para você também. 🙂

Rodando Linux em uma Banana

Você já deve ter ouvido falar no Raspberry Pi, um computador single-board do tamanho de um cartão de crédito.

Como aconteceu com o Arduino, não era de se duvidar que também surgiriam opções similares ao Raspberry. Já temos o CubieBoard e o BeagleBone, entre outros. Mas hoje eu gostaria de falar sobre o Banana Pi.

BPi

O Banana Pi é um fork do projeto Raspberry Pi usando componentes diferentes, mas que tenta manter a máxima compatibilidade possível com o RPi. Algo que desaponta já no começo é que as imagens feitas para RPi não são compatíveis com o BPi, justamente pelo processador não ser o mesmo.

Porém existem várias imagens disponíveis para o BPi. Como o BPi é relativamente novo, algumas das versões ainda estão em fase de testes, como é o caso do XBMC, que no BPi chama-se LeMedia. Você pode conferir aqui a lista completa dos imagens disponíveis no momento.

Hardware do Banana Pi em comparação ao Raspberry Pi Model B+:

Prós

  • CPU com maior desempenho
  • Mais memória RAM
  • Porta SATA
  • Receptor IR
  • Microfone embutido
  • USB OTG
  • Botões de Ligar/Desligar e Reset

Contras

  • GPU inferior
  • Quantidade de USBs inferior

Confira aqui a especificação completa do BPi.

Custo x Benefício

Algo que todos desejam saber é se o produto vale a pena, afinal são +- 45 dólares. Preço similar ao Raspberry Pi.

Apesar da qualidade da placa não ser excelente (você consegue perceber a origem dela :P), ela não deixa a desejar. Nos testes que fiz não tive problema nenhum.

Algo interessante é que segundo as discussões no fórum oficial, o BPi não tem tanto problema de queimar em relação ao RPi ao se usar um adaptador HDMI-VGA ou ao ligar um HD USB direto na placa, sem alimentação externa. O teste que fiz com meus HDs, um faz a placa desligar pois ele consumia toda a energia praticamente e o outro não gerou problemas. Por garantia é sempre aconselhado a usar alimentação externa para não correr riscos de danificar a placa.

Em relação a comunidade no fórum, ela ainda é pequena, mas é ativa. Ou seja, suas dúvidas serão respondidas, em alguns casos talvez pelas pessoas que estão por trás do Banana Pi.

Testes

Abaixo você pode ver imagens da placa e do Raspbian e do LeMedia em execução.

BPi

BPi

BPi

BPi

LeMedia

Raspbian

Além do Banana Pi existe o Banana Pro, uma placa um pouco mais poderosa.

Espero que vocês tenham gostado do post e que venham a se juntar a comunidade do BPi.