lunes, 13 de febrero de 2012

Compilando drivers TBS a la Debian

Lo primero que vamos a hacer es descargar el último driver (a la fecha)
Una vez descargado, lo descomprimimos.
unzip -e tbs-linux-drivers_v120212.zip
y descomprimimos los drivers
tar xjvf linux-tbs-drivers.tar.bz2
Nos movemos al directorio linux-tbs-drivers:
cd linux-tbs-drivers

En este punto, algo muy importante: La elección correcta de los archivos para el kernel. Ejecutamos...
  • Si estamos utilizando un kernel 2.6 32 bits: ./v4l/tbs-x86.sh
  • Si utilizamos un kernel 3.x 32 bits: ./v4l/tbs-x86_r3.sh
  • Y si tenemos un kernel 3.x 64 bits: ./v4l/tbs-x86_64.sh
Habiendo realizadoel punto anterior, procedemos a compilar:
make
De no haber errores, el paso siguiente es crear algunos directorios que faltan:
mkdir -p /lib/modules/3.2.0-1-amd64/kernel/drivers/media/video/m5mols/
mkdir -p /lib/modules/3.2.0-1-amd64/kernel/drivers/media/common/saa716x/
mkdir -p /lib/modules/3.2.0-1-amd64/kernel/drivers/media/dvb/ddbridge/
mkdir -p /lib/modules/3.2.0-1-amd64/kernel/drivers/media/../linux/drivers/media/
y ahora sí, con permisos de superusuario:
checkinstall -D
Lo importante en este paso es establecer correctamente la versión. Opción 3. Lo que hay que tener en cuenta es que la versión comience con un número. Para no errarle, suelo poner el mismo que tiene el driver, en este caso 20120212.
Checkinstall, lo que hace, es generar un paquete .deb (puede realizar también .rpm), lo que nos va a permitir instalarlo y/o desinstalarlo usando las herramientas para paquete de Debian.
En este punto nos va a dar un errror porque el paquete intenta sobreescribir archivos que ya están en el kernel, por lo que debemos indicar explicitamente que queremos sobreescribir esos archivos:
dpkg --force-overwrite -i linux-tbs_20120212-1_amd64.deb
(linux-tbs_20120212-1_amd64.deb es el paquete que nos generó checkinstall)
Finalizada la instalación, procedemos a reiniciar
shutdown -r now
y listo! ya podemos disfrutar de nuestros dispositivos TBS.