Set-Top-Box usando ginga-ncl no Ubuntu 10.04

1 – Introdução
Tive bastante trabalho para concluir com sucesso a instalação do middleware ginga-ncl no Linux, a distribuição testada foi ubuntu-desktop 10.04 e ubuntu-server 10.04.

A base deste tutorial é o tópico “Principais Pré-requisitos para compilação e instalação” da documentação que a equipe do ginga-ncl publicou no site:


Temas abordados aqui:

  • Preparar Ambiente
    • Ativar FrameBuffer
  • Solução dependências no Ubuntu
  • Instalação dependências ginga-ncl
  • Solução de erros durante a instalação do ginga-ncl

———————————————————————————————————————
2 – Preparando o Ambiente

2.1 – Ativar FrameBuffer

Em ” /boot/grub/grub.cfg ” encontra-se no menuentry() a linha Linux:

linux   /boot/vmlinuz-2.6.32-22-generic root=UUID=df000bd5-0d4f-43c0-86ac-4de4c5b53d1e ro quiet splash

Para ativar o framebuffer basta acrescentar o parâmetro vga = resolução

linux   /boot/vmlinuz-2.6.32-22-generic root=UUID=df000bd5-0d4f-43c0-86ac-4de4c5b53d1e ro vga=xxx quiet splash

Onde,  xxx=resolução=mode

Mode 0x0300: 640×400 (+640), 8 bits
Mode 0x0301: 640×480 (+640), 8 bits
Mode 0x0303: 800×600 (+832), 8 bits
Mode 0x0305: 1024×768 (+1024), 8 bits
Mode 0x0311: 640×480 (+1280), 16 bits
Mode 0x0314: 800×600 (+1600), 16 bits
Mode 0x0317: 1024×768 (+2048), 16 bits
Mode 0x0395: 320×240 (+640), 16 bits
Mode 0x0396: 320×240 (+1280), 24 bits
Mode 0x03b3: 512×384 (+512), 8 bits
Mode 0x03b5: 512×384 (+1024), 16 bits
Mode 0x03b6: 512×384 (+2048), 24 bits
Mode 0x03c3: 640×350 (+640), 8 bits
Mode 0x03c5: 640×350 (+1280), 16 bits
Mode 0x03c6: 640×350 (+2560), 24 bits
Mode 0x0333: 720×400 (+768), 8 bits
Mode 0x0335: 720×400 (+1472), 16 bits
Mode 0x0336: 720×400 (+2944), 24 bits
Mode 0x0321: 640×480 (+2560), 24 bits
Mode 0x0322: 800×600 (+3200), 24 bits
Mode 0x0323: 1024×768 (+4096), 24 bits

3 – Resolvendo dependências Ubuntu

$ sudo aptitude install build-essential automake autoconf subversion libsysfs-dev libvncserver-dev liblzo2-dev x11-utils libx11-dev libpnglite-dev libpng12-dev libjpeg62-dev libtiff4-dev libzip-dev libcurl4-openssl-dev libcrypto++-dev libgpm-dev libexpat1-dev curl libxerces-c2-dev libxext-dev libimlib2-dev libgmp-ocaml-dev libxmltooling-dev git git-core

O ginga-ncl foi baseado na libtool 1.5, logo precisaremos remover a versão mais nova caso instalada.

Remover libtool:

$ sudo dpkg –purge libtool

Instalar libtool 1.5:

$ wget http://mirrors.kernel.org/ubuntu/pool/main/libt/libtool/libtool_1.5.22-2_i386.deb
$ sudo dpkg -i libtool_1.5.22-2_i386.deb

4 – Pré-Requisitos Ginga-NCL

4.1 – Faad2

http://downloads.sourceforge.net/project/faac/faad2-src/faad2-2.7/faad2-2.7.tar.gz?use_mirror=ufpr
$ ./configure –with-mp4v2
$ make
$ sudo make install

4.2 – FFmpeg

$ git clone git://git.ffmpeg.org/ffmpeg/
$ cd ffmpeg
$ git clone git://git.ffmpeg.org/libswscale/
$ ./configure –enable-shared –enable-gpl –enable-nonfree –enable-pthreads –enable-libfaad –enable-postproc

4.3 – Xine-Lib 1.1.17

$ wget -c http://prdownloads.sourceforge.net/xine/xine-lib-1.1.17.tar.bz2
$ ./configure –enable-faad –disable-ffmpeg-uncommon-codecs –with-external-ffmpeg
$ make
$ sudo make install

4.4 – DirectFB

$ git clone git://git.directfb.org/git/directfb/core/DirectFB.git
$ cd DirectFB
$ ./autogen.sh
$ make
$ sudo make install

4.5 – DirectFB-extra

$ git clone git://git.directfb.org/git/directfb/extras/DirectFB-extra.git
$ cd DirectFB-extra
$ ./autogen.sh
$ make
$ sudo make install

OBS: Dentro da pasta “interfaces” modificar os arquivos Makefile.am de forma que todos os LIBADD’s das interfaces contenham a variável $(DFB_LIBS).

Por exemplo: libidirectfbvideoprovider_xine_la_LIBADD = $(DFB_LIBS) $(XINE_LIBS)

4.6 – DirectFB-examples

$ git clone git://git.directfb.org/git/directfb/extras/DirectFB-examples.git
$ cd DirectFB-examples
$ ./configure
$ make
$ sudo make install

4.7 – FusionSound

$ git clone git://git.directfb.org/git/directfb/core/FusionSound.git
$ cd FusionSound
$ ./autogen.sh
$ make
$ sudo make install

OBS: Dentro da pasta “interfaces” modificar os arquivos Makefile.am de forma que todos os LIBADD’s das interfaces contenham a variável $(DFB_LIBS).

Por exemplo: libifusionsoundmusicprovider_mad_la_LIBADD = $(DFB_LIBS) $(MAD_LIBS)

4.8 – Lua

$ wget http://www.lua.org/ftp/lua-5.1.4.tar.gz
$ tar -xvvzf lua-5.1.4.tar.gz$
$ cd lua-5.1.4
$ make linux
$ sudo make install
$ cd ..
$ wget http://luaforge.net/frs/download.php/2664/luasocket-2.0.2.tar.gz
$ tar -xvvzf luasocket-2.0.2.tar.gz$ cd luasocket-2.0.2
$ make
$ sudo make install
$ sudo ln -s /usr/local/lib/lua/5.1/socket/core.so /usr/local/lib/lua/5.1/socket/libcore.so

5 – Instalação Ginga-NCL

6 – Solução de Possíveis erros durante instalçao Ginga-NCL

Anúncios

3 comentários

  1. Olá,

    Não consegui instalar o FFmpeg. A principio o repositório apresentado aqui estava inacessível, então utilizei outra url (git://github.com/FFmpeg/FFmpeg.git). Com o repositório baixado, ao fazer o ./configure, ele me apresenta o seguinte erro:

    Unknown option “–enable-libfaad”.
    See ./configure –help for available options.

    O que preciso fazer?
    Obrigado

  2. Olá Wesley

    $ git clone git://git.ffmpeg.org/ffmpeg/
    $ cd ffmpeg
    $ git clone git://git.ffmpeg.org/libswscale/
    $ ./configure –enable-shared –enable-gpl –enable-nonfree –enable-pthreads –enable-libfaad –enable-postproc

    Abs

  3. Então Fredim, o esquema é que ao dar o git clone eu tenho o seguinte:

    wesley-pilsener@pilsener:~$ git clone git://git.ffmpeg.org/ffmpeg/
    Cloning into ffmpeg…
    fatal: The remote end hung up unexpectedly

    []’s

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s