
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, con las siguientes caracteristicas:
- Para un receptor especifico
- Para una version OpenAtv especifico
Nota
Los ejemplos de este articulo suponen que está utilizando un sistema Linux nativo que ejecuta una distribución reciente de Debian Linux. En este articulo vamos a ver como crear una compilacion de oscam asi ya como con paquete ipk simplemente para realizar su instalacion en el receptor.
Requisitos previos
- Tener instalado Debian: https://jungle-team.com/debian-sin-escritorio-instalacion-basica-y-configuracion-oscam/
1. Creando Entorno compilación OpenATV
Debe instalar paquetes esenciales en su maquina de compilación. El siguiente comando instala los paquetes de host basados en una distribución de Debian:
sudo apt-get update
sudo apt-get install -y autoconf automake bison bzip2 chrpath coreutils cpio curl cvs debianutils default-jre default-jre-headless diffstat flex g++ gawk gcc gcc-10 gcc-multilib g++-multilib gettext git git-core gzip help2man info iputils-ping java-common libc6-dev libegl1-mesa libglib2.0-dev libncurses5-dev libperl4-corelibs-perl libproc-processtable-perl libsdl1.2-dev libserf-dev libtool libxml2-utils make ncurses-bin patch perl pkg-config psmisc python3 python3-git python3-jinja2 python3-pexpect python3-pip python-setuptools qemu quilt socat sshpass subversion tar texi2html texinfo unzip wget xsltproc xterm xz-utils zip zlib1g-dev zstd fakeroot lz4
NOTA
Ademas de las instalación de los paquetes necesarios, deberemos realizar unas pequeñas configuraciones, para evitar futuros errores al realizar la construcción de la imagen, teniendo en cuenta que las ultimas versiones de Debian
Ejecutamos los siguientes comandos:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
sudo apt-get install -y locales
sudo locale-gen en_US.UTF-8
En el caso que observemos que no se ha podido cambiar al idioma en.US.UTF-8, podemos solucionarlo con el siguiente comando:
localedef -i en_US -c -f UTF-8 en_US.UTF-8
2. Clonar Git OE-ALLIANCE
Una vez que hemos completado las instrucciones de configuración para su máquina, debe obtener una copia del repositorio de OE-ALLIANCE de compilación. Use los siguientes comandos para clonar el repositorio.
- Creamos un directorio en nuestra maquina, el cual sera donde trabajaremos:
mkdir openatv_oscam
Ahora clonamos en dicho directorio el entorno de compilación de Oe-Alliance, donde debemos seleccionar sobre que version deseamos trabajar, donde existen diferentes entornos de desarrollo, como podemos observar en los branches de su git:
- 5.1 Se asemejaría a versiones 7.1 de openatv
- 5.2 se asemejaría a versiones 7.2 de openatv
En este ejemplo vamos a usar el entorno de compilacion 5.2, para ello:
Nos situamos en el directorio creado en este ejemplo:
cd openatv-oscam
Ahora clonamos el repositorio en nuestra maquina con Debian en el directorio creado, en este ejemplo 5.2 indica como hemos mencionado antes el entorno de compilación que vamos a utilizar:
git clone https://github.com/oe-alliance/build-enviroment.git -b 5.2
3. Receta compilación
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, la vamos a introducir en meta-local, que nos sirve para introducir recetas para compilaciones locales,su directorio es /home/jungle/openatv_oscam/build-enviroment/meta-local/recipes-local
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
4. 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.
5. Compilacion del paquete oscam
Ahora para finalizar vamos a ver como realizar la compilacion de nuestro paquete ipk con la compilacion del oscam que deseamos realizar:
cd build-enviroment
MACHINE=vuduo4kse DISTRO=openatv DISTRO_TYPE=release make init
- MACHINE=modelo de receptor
- DISTRO=openatv
Una vez finalizado ahora vamos a compilar oscam con creacion del ipk:
cd builds/openatv/release/vuduo4kse
source env.source
bitbake enigma2-plugin-softcams-oscam-latest
y esperamos a que termine, la primera vez tardara mas o menos 1 hora ya que se tienen que compilar otros paquetes necesarios para el entorno gcc para el receptor
6. Instalacion paquete creado
Ahora el paquete ipk de oscam en este ejemplo lo encontraremos en /home/jungle/openatv_oscam/build-enviroment/builds/openatv/release/vuduo4kse/tmp/deploy/ipk/cortexa15hf-neon-vfpv4
A continuacion vamos a proceder a instalar nuestra oscam en nuestro receptor con openatv, para ello introducimos el paquete ipk creado en /tmp
Ahora accedemos por terminal al receptor y en este caso ejecutamos:
opkg update
opkg install /tmp/enigma2-plugin-softcams-oscam-latest_1.20+svn11718-r1_cortexa15hf-neon-vfpv4.ipk
Ya podemos seleccionar para su arranque en el menu softcam