HTPC com linux de forma simplificada
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
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.
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.
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.
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.