- 19 Mar 2007
- 9.176
- 1.168
- 0
En este artículo vamos a mostrar el mayor detalle posible cómo podemos hacer que un software desde cero y añadir lo que quieras.
A este proceso se llama compilación, lo que significa que cogemos el código fuente de enigma2, lo compilamos en nuestro ordenador y podemos añadir o quitar los componentes que deseemos, lo que ayuda en una configuración más rápida del receptor, ya que después de la instalación tendremos todos los plugins, addons, etc seleccionados en nuestro receptor.
Para comenzar con el proceso, lo único que se necesita es una distribución Linux en nuestro ordenador (sugerimos el Ubuntu 11.10, ya que es con el que he realizado el tutorial), una nota con los comandos de linux lo más importante de todo encontrar el código fuente de algún Team, en nuestro caso del SpazeTeam.
Una vez tenemos el Ubuntu, es recomendable actualizarlo, por lo que abres el terminal:
(el “-y” es para confirmar estos comandos y no tener que aceptarlos manualmente)
Tardara un rato en actualizar todo, y una vez que termine reinciamos:
Empezamos en nuestro sistema linux y comenzar a descargar los archivos necesarios para poder compilar (en negrita los que son imprescindibles):
Ahora abre el terminal de ubuntu, escribe sudo apt-get install y después el complemento necesario (por ejemplo sudo apt-get install automake).
Se puede instalar uno a uno todos los paquetes necesarios o también tenemos disponible una manera mucho más sencilla, que es la instalación de todos ellos con una sola línea de comandos, que es el siguiente:
Adicionalmente, siempre que estemos usando un PC con arquitectura de 32bits, para acelerar el bitbake, puedes instalar python-psyco:
Para comprobar que todo esta bien instalado, descargamos el archivo toolchecker.sh que adjunto al final del hilo. Desde la terminal estando en la carpeta donde lo tengas, primero le damos permisos de ejecucion chmod +x toolchecker.sh y despues lo ejecutamos con ./toolchecker.sh y pulsas enter, el te dirá si los tienes todos instalados o si te falta alguno.
Si por casualidad nos dijera que nos falta algún componente por instalar deberíamos instalar haciendo sudo apt-get install nombre_del_componente.
Ahora antes de continuar vamos a hacer unas comprobaciones para asegurarnos de que lo tenemos todo como debe de ser. Entra este comando en el terminal :
Si este comando nos devuelve /bin/sh -> dash está mal configurado, así que debemos proceder a corregir el problema para ello basta con poner en el terminal el siguiente comando:
Te aparecerá una ventana dándote a elegir entre Si o No, pues bien nosotros debemos elegir NO. Con esto resolvemos el problema anterior. Ahora para asegurarnos que todo está bien volvemos a escribir en el terminal:
Nos debería devolver /bin/sh -> bash si es así ya tenemos solucionado el problema.
Con esto tendrás instalado todo lo necesario para poder empezar a compilar imágenes de enigma 2 bajo el código fuente original de opendreambox. Tendras que hacer un reinicio, y empezamos con la segunda parte.
El próximo paso es encontrar el código fuente con el que queremos hacer el software. En nuestro caso usaremos el GIT del Spaze Team. Para descargar y compilar todo lo necesario, debes de enviar este comando mediante el terminal:
Una vez que termine el proceso, que durara varias horas (cuanto mas lento sea el PC mas tiempo tardara), puedes ir a la raiz del sistema de archivos de Ubuntu y en la siguiente ruta: spaze/azboxhd/build/tmp/deploy/images podras encontrar entre otros archivos la imagen que hemos compilado con el nombre: patch.e2
Estructura de los Directorios
bb/
La herramienta Bitbake nos va a permitir construir nuestro sistema a partir de aplicaciones o paquetes elementales denominados recipes o mas sencillo para nosotros y asi lo llamaremos a partir de ahora "Recetas". Su función es la de "decirle" al Bitbake como contruir cada paquete en particular, cada una de estos recetas puede contener uno o varios archivos que implementan una utilidad más o menos compleja.
openembedded/packages/
Aqui es donde encontraras las Recetas, las cuales incluyen todas las dependencias de cada paquete, donde buscar el codigo fuente, configuración, construccion, instalacion, etc para crear los diferentes paquetes incluyendo enigma2.
sources/
sources/cvs/
Aqui es donde tenemos el codigo fuente sin compilar, listo para crear nuestra imagen.
azboxhd/build/tmp/
Aqui es donde sucede todo. Puedes pinchar en el siguiente link OpenEmbedded User Manual para mas informacion.
azboxhd/build/tmp/cross/bin
Los binarios del compilador.
azboxhd/build/tmp/work
Aquí es donde se compilan y montan los paquetes, y donde ir trasteando con el código fuente si quieres probar algo.
azboxhd/build/tmp/rootfs/
The contents of the root partition of your newly-built azbox firmware image.
azboxhd/build/tmp/deploy/ipk/
Donde van los paquetes ipk.
azboxhd/build/tmp/deploy/images/
Aqui es donde ira a parar la imagen que creemos con la compilacion.
A este proceso se llama compilación, lo que significa que cogemos el código fuente de enigma2, lo compilamos en nuestro ordenador y podemos añadir o quitar los componentes que deseemos, lo que ayuda en una configuración más rápida del receptor, ya que después de la instalación tendremos todos los plugins, addons, etc seleccionados en nuestro receptor.
Para comenzar con el proceso, lo único que se necesita es una distribución Linux en nuestro ordenador (sugerimos el Ubuntu 11.10, ya que es con el que he realizado el tutorial), una nota con los comandos de linux lo más importante de todo encontrar el código fuente de algún Team, en nuestro caso del SpazeTeam.
Una vez tenemos el Ubuntu, es recomendable actualizarlo, por lo que abres el terminal:
Código:
sudo apt-get update -y && sudo apt-get upgrade –y
(el “-y” es para confirmar estos comandos y no tener que aceptarlos manualmente)
Tardara un rato en actualizar todo, y una vez que termine reinciamos:
Código:
sudo reboot
Empezamos en nuestro sistema linux y comenzar a descargar los archivos necesarios para poder compilar (en negrita los que son imprescindibles):
Código:
autoconf
automake
bison
bzip2
cvs
diffstat
flex
g++
gawk
gcc
gettext
git-core
gzip
help2man
ncurses-bin
ncurses-dev
libc6-dev
libtool make
texinfo patch
perl
pkg-config
subversion
tar
texi2html
wget
zlib1g-dev
chrpath
libxml2-utils
xsltproc
libglib2.0-dev
python-setuptools
Ahora abre el terminal de ubuntu, escribe sudo apt-get install y después el complemento necesario (por ejemplo sudo apt-get install automake).
Se puede instalar uno a uno todos los paquetes necesarios o también tenemos disponible una manera mucho más sencilla, que es la instalación de todos ellos con una sola línea de comandos, que es el siguiente:
Código:
sudo apt-get install -y autoconf automake bison bzip2 cvs diffstat flex g++ gawk gcc gettext git-core gzip help2man ncurses-bin ncurses-dev libc6-dev libtool make texinfo patch perl pkg-config subversion tar texi2html wget zlib1g-dev chrpath libxml2-utils xsltproc libglib2.0-dev python-setuptools
Código:
sudo apt-get install -y python-psyco
Para comprobar que todo esta bien instalado, descargamos el archivo toolchecker.sh que adjunto al final del hilo. Desde la terminal estando en la carpeta donde lo tengas, primero le damos permisos de ejecucion chmod +x toolchecker.sh y despues lo ejecutamos con ./toolchecker.sh y pulsas enter, el te dirá si los tienes todos instalados o si te falta alguno.
Si por casualidad nos dijera que nos falta algún componente por instalar deberíamos instalar haciendo sudo apt-get install nombre_del_componente.
Ahora antes de continuar vamos a hacer unas comprobaciones para asegurarnos de que lo tenemos todo como debe de ser. Entra este comando en el terminal :
Código:
ls -la /bin/sh
Si este comando nos devuelve /bin/sh -> dash está mal configurado, así que debemos proceder a corregir el problema para ello basta con poner en el terminal el siguiente comando:
Código:
sudo dpkg-reconfigure dash
Te aparecerá una ventana dándote a elegir entre Si o No, pues bien nosotros debemos elegir NO. Con esto resolvemos el problema anterior. Ahora para asegurarnos que todo está bien volvemos a escribir en el terminal:
Código:
ls -la /bin/sh
Nos debería devolver /bin/sh -> bash si es así ya tenemos solucionado el problema.
Con esto tendrás instalado todo lo necesario para poder empezar a compilar imágenes de enigma 2 bajo el código fuente original de opendreambox. Tendras que hacer un reinicio, y empezamos con la segunda parte.
El próximo paso es encontrar el código fuente con el que queremos hacer el software. En nuestro caso usaremos el GIT del Spaze Team. Para descargar y compilar todo lo necesario, debes de enviar este comando mediante el terminal:
Código:
git clone git://spaze.git.sourceforge.net/gitroot/spaze/spaze spaze
cd spaze
make download_sources
make -f Makefile image
Una vez que termine el proceso, que durara varias horas (cuanto mas lento sea el PC mas tiempo tardara), puedes ir a la raiz del sistema de archivos de Ubuntu y en la siguiente ruta: spaze/azboxhd/build/tmp/deploy/images podras encontrar entre otros archivos la imagen que hemos compilado con el nombre: patch.e2
Estructura de los Directorios
bb/
La herramienta Bitbake nos va a permitir construir nuestro sistema a partir de aplicaciones o paquetes elementales denominados recipes o mas sencillo para nosotros y asi lo llamaremos a partir de ahora "Recetas". Su función es la de "decirle" al Bitbake como contruir cada paquete en particular, cada una de estos recetas puede contener uno o varios archivos que implementan una utilidad más o menos compleja.
openembedded/packages/
Aqui es donde encontraras las Recetas, las cuales incluyen todas las dependencias de cada paquete, donde buscar el codigo fuente, configuración, construccion, instalacion, etc para crear los diferentes paquetes incluyendo enigma2.
sources/
sources/cvs/
Aqui es donde tenemos el codigo fuente sin compilar, listo para crear nuestra imagen.
azboxhd/build/tmp/
Aqui es donde sucede todo. Puedes pinchar en el siguiente link OpenEmbedded User Manual para mas informacion.
azboxhd/build/tmp/cross/bin
Los binarios del compilador.
azboxhd/build/tmp/work
Aquí es donde se compilan y montan los paquetes, y donde ir trasteando con el código fuente si quieres probar algo.
azboxhd/build/tmp/rootfs/
The contents of the root partition of your newly-built azbox firmware image.
azboxhd/build/tmp/deploy/ipk/
Donde van los paquetes ipk.
azboxhd/build/tmp/deploy/images/
Aqui es donde ira a parar la imagen que creemos con la compilacion.
