Arquivo

Posts Tagged ‘XBMC’

HTPC com linux de forma simplificada

29 de janeiro de 2011 3 comentários

Há um tempinho resolvi trocar o dvd player do quarto por um HTPC ( home theater pc) e investi em um Acer Aspire Revo (AR3610).

Comprei baratinho na (Best Buy) em Vancouver – Canadá.

O produto

Seguem as características do produto:

  • CPU Intel Atom 330.
  • 3GB RAM DDR2
  • 320 GB HD
  • Sem drive DVD ( comprei um drive externo USB )
  • Placa de vídeo Nvidia ION
  • LAN wireless (placa da Ralink com suporte a rede ‘n’ ) e cabeada.
  • Teclado e mouse wireless
  • Saída de vídeo HDMI, várias saídas USB, audio ótico e analógico
Acer Revo

Acer Revo

Como é de se esperar esse processador Atom é extremamente lento para fins de vídeo em HD, mas é ai que entra o processador da Nvídia que faz isso para a gente ( claro que é preciso dizer para ele fazer isso). Para vídeo normal o Atom da conta do recado.

É importante deixar claro que essa baixa performance do processador Atom é fruto do baixo consumo de energia, de um clock mais baixo e que leva a um nível aceitável de ruido e aquecimento do equipamento ( bastante silencioso  e não necessita de um cooler barulhento ).

Porque Linux

Escolhi colocar Linux (embora venha com Windows 7 64 bits) porque a minha idéia era realmente substituir o aparelho de DVD player então quis aproveitar ao máximo o já limitado hardware e para tanto saliento algumas vantagens de escolher o Linux e em especial Gentoo Linux:

  • Já existe um software pronto para o HTPC chamado XBMC (eu sei, tem pra Windows também).
  • No Linux o XBMC usa nativamente a decodificação da placa NVIDIA ION para filmes em HD ( no Windows tem que usar um programa externo para assistir a esses vídeos )
  • No Gentoo Linux compilei e otimizei o sistema para 64 bits e processador Atom, removendo o suporte ( bibliotecas e ligações desnecessárias ) de todo e qualquer software que poderia onerar ou deixar lento processos como a decodificação de vídeo ou boot/shutdown do sistema.
  • No mais tenho a dizer que é muito mais legal fazer dessa forma :).

Como fazer

Primeiro, tomei como base o seguinte tutorial. Vale notar que esse hardware não é igual ao meu, mas achei bem interessante.

Fiz algumas modificações:

  • Ao invés de instalar e compilar tudo isso no modesto Atom, utilizei o meu notebook ( intel core i3, mas poderia ser um intel core2/quad duo ou mesmo i5 ) e criei nesse notebook uma máquina virtual com o VirtualBox e fiz todo o sistema lá dentro, segui o tutorial de instalação do Gentoo e do XBMC do link acima.
  • Não instalei o DISTCC nem as ferramentas de backup, ou seja, apenas adaptei ao meu gosto o já simples tutorial.
Máquina virtual com Gentoo + XBMC

Essa é a VM que servirá de encubadora para o HTPC.

A grande vantagem desse procedimento é que no kernel de instalação do Gentoo não havia suporte a placa Wireless do Acer Revo e o mesmo já se encontrava montado no quarto ( e eu achei que não valeria a pena desmontar tudo para realizar nele o processo todo). É importante ressaltar que os drivers do Acer Revo deverão ser habilitados já nesse kernel ( mesmo que eles não existam no sistema da VM )

Após realizar toda a instalação nesse ambiente controlado ( dentro da VM ), chegou a hora de passar essa instalação para o hardware propriamente dito.

VM do HTPC pronta, com todos os programas instalados.

VM pronta para ser clonada no HTPC.

Migrando para o hardware definitivo

Primeiro precisamos copiar todo o sistema para uma mídia compativel com o aparelho, um pendrive de 4GB bastou no meu caso, mas poderia ser um dvd, copia pela rede ( via cabo ethernet pois a LAN wireless não funcionava ainda no Acer Revo).

Os passos são os seguintes:

  • Entrar na VM onde esá instalado o sistema e logar como root.
  • Gerar um tar de cada um dos diretórios da raíz ( / ) com exceção de ( /proc /sys e lost+found e qualquer link simbólico)

cd /

tar cpf bin.tar bin

repetir o procedimento para os demais diretórios ( menos os mencionados acima ).

  • Copiar os arquivos .tar para o pendrive ( eu copiei da VM para o notebook e depois para o pendrive) , dessa forma:

scp *.tar root@<ip_notebook>:/tmp  (esse comando copia para o diretório tmp do notebook, host da VM ou qualquer outro computador ). Vale notar que tanto dentro da VM deve estar instalado o SSH.

  • Agora no Acer Revo basta dar o boot pelo cd/dvd de instalação do Gentoo ou qualquer outra distribuição Linux, de 64 bits, montar o HD do Acer Revo, criar as partições, formatar e copiar para dentro desse HD todos os arquivos .tar que estao no pendrive.
  • Agora suponha que o HD do Revo esteja montado em /mnt/gentoo, basta entrar nesse diretório e fazer o seguinte:

cd /mnt/gentoo

tar xpf ./bin.tar (repetir esse procedimento para todos os outros  arquivos .tar)

mkdir proc sys

ln -s lib64 lib

Pronto! O sistema foi completamente reconstituido no novo HD. Agora falta apenas torná-lo inicializável.

Boot no sistema

Dentro do mesmo ambiente da etapa anterior basta executar os seguintes comandos (lembrando que o sistema utilizado precisa ser também de 64bits e partindo do princípio que o HD do Revo está montado em /mnt/gentoo) :

mount -t proc none /mnt/gentoo/proc

mount -o bind /dev /mnt/gentoo/dev

chroot /mnt/gentoo  /bin/bash

env-update

source /etc/profile

Pronto! Se está dentro do Acer Revo, como root como se tivesse dado o boot por ele.

Agora, edite os arquivos /etc/fstab e /boot/grub.conf para montarem e apontarem para as partições que fazem parte da configuração do Acer Revo.

Feito isso basta salvar o grub no setor de boot do HD, dessa forma:

grub

root (sda0, 0)  # ( digamos que o /boot esteja dentro de /dev/sda1)

setup (sda0) # ( instala o grup no setor de boot do sda1)

quit # cai fora do grub

exit ( cai fora do chroot)

Após isso, basta desmontar o /mnt/gentoo/proc, /mnt/gentoo/dev e /mnt/gentoo

Reiniciar o sistema e deixar o Acer Revo entrar.

Acer Revo na tela do GRUB.

Acer Revo na tela do GRUB.

Acredito que isso facilite a vida e economize bastante tempo na instalação. É claro que adaptações provavelmente precisem ser feitas pois esse procedimento serve para vários tipos de HTPC, sem contar que o tutorial do link deixa algumas lacunas para serem preenchidas. Ficarei muito contente em ajudar quem precisar para configurar o seu.

Acer Revo no processo de boot.

Acer Revo no processo de boot.

Acer Revo rodando o XBMC.

Acer Revo rodando o XBMC.