
oscam es un software de código abierto (GPL) y el código fuente está disponible para que cualquiera lo modifique y/o compile bajo las reglas de la GPL.
Sobre el código base de oscam se realizan cambios con cierta habitualidad, en este articulo vamos a guiaros como realizar una compilación de oscam dentro del entorno OE-ALLIANCE enigma2.
Nota
Los ejemplos de este articulo suponen que está utilizando un sistema Linux nativo que ejecuta una distribución reciente de Ubuntu Linux. Si la máquina en la que desea usar OE-ALLIANCE para crear una imagen no es Ubuntu server, debera comprobar que la distribucion usada tiene los requisitos necesarios, para el articulo se va a usar OpenATV, aunque lo podeis realizar similar con cualquier distribucion que se halle dentro del entorno OE-ALLIANCE.
Requisitos previos
- Como crear entorno compilacion OE-ALLIANCE: https://jungle-team.com/desarrollo-con-oe-alliance-de-una-imagen-enigma2/
- Source publico Oscam: https://trac.streamboard.tv/oscam/browser/trunk
1. Receta compilación
Partimos de la base que hemos leido el articulo mencionado en requisitos previos sobre la creación de entorno de compilación y ya lo tenemos creado y en este caso para el ejemplo OpenATV.
1. Como en este caso OpenATV en su entorno de compilación no tiene recetas para softcam, en primer lugar deberemos crearlas, para mas facilidad en este caso os dejamos unas recetas validas y ya editadas que podeis descargar:
2. Una vez descargada la receta, vamos a crear en primer lugar una capa, en este ejemplo en build-enviroment/meta-oe-alliance/meta-oe/recipes-distros/openatv/ y a esta capa la vamos a llamar softcams (le podeis poner el nombre que querais)
3. Ahora en el interior de la capa creada introducimos los archivos de la receta:
Nota
Los archivos con extension .bb , se corresponden con la receta, que ese nombre luego se usara para realizar la compilacion del paquete, el resto de archivos son de configuracion de esta receta
2. Modificar receta de compilación
Abrimos la receta de compilación del paquete oscam (archivo .bb), en este ejemplo enigma2-plugin-softcams-oscam-latest.bb, en el cual en este caso nos indican los archivos incluidos que se van a usar:
¿ Como compilar una version concreta de Oscam ?
Para ello necesitamos editar el archivo oscam-trunk-latest.inc, en el cual tenemos dos posibilidades:
- Compilar automaticamente la ultima version
- Compilar una version concreta de oscam
El parametro para la version de oscam es SRCREV =
- SRCREV = «${AUTOREV}» —-> Compila la ultima version
- SRCREV = xxxxxx —–> xxx se sustituye por la version changeset de oscam, las versiones changeset las podemos ver en https://trac.streamboard.tv/oscam/changeset ejemplo SRCREV = «11710»
Con el parametro CAMNAME = «oscam-trunk» podemos insertar el nombre del binario oscam que se creara (si se cambia el nombre tener en cuenta que se tendran que modificar otros archivos de configuracion de la receta que hacen referencia al nombre del binario.
¿ Como puedo editar los modulos que se van a compilar ?
Oscam permite la compilación personalizada de modulos de oscam, para personalizar con cuales quieres que se compile y cuales no de los disponibles en el cmake, podemos obtener la lista en el siguiente enlace:
- https://trac.streamboard.tv/oscam/browser/trunk/config.sh
Una vez que ya conoces los modulos disponibles, puedes configurarlo en el archivo oscam-common.inc donde puedes habilitar o deshabilitar el modulo:
En la seccion Extra OECMAQUE puedes habilitar la compilacion con ese modulo con 1 y deshabilitarla con 0.
3. Compilacion del paquete oscam
Para realizar la compilacion es simple ya como se comento en el manual de OE-ALLIANCE que esta en requisitos para la compilacion de un paquete individual, en este caso simplemente:
source env.source
bitbake enigma2-plugin-softcams-oscam-latest
Una vez terminada la compilacion el paquete lo tendremos en build-enviroment/builds/openatv/release/dreamone/tmp/deploy/ipk
Oye, he estado haciendo esto con oe durante mucho tiempo, pero es más fácil con tuxbox
entorno oe y luego solo bitbake ncam o bitbake oscam