player-tv-armbian

Alternativa barata a Raspberry Pi con un Player TV con Linux

Hoy vamos a ver cómo instalar Linux en una distribución Armbian en un player TV con Android de bajo coste, como una alternativa barata a mini ordenadores con Linux con Raspberry Pi.

Ante la subida del precio y escasez que estamos viviendo con las Raspberry Pi, resulta cada vez más habitual preguntarse por alternativas más económicas. Dentro de estas posibles alternativas una de las que más destacan es usar un TV Box con Android.

Usar un TV Player con Android como reemplazo a de un mini ordenador con Linux supone con precios muy inferiores debido a que son artículos de consumo. Por tanto, son fabricados en tiradas largas, lo que les permite mantener su precio comedido aunque haya aumentado, por ejemplo, de procesadores, demanda de procesadores.

De hecho, no es una idea para nada alocada. Por ejemplo, si buscáis consolas retro, veréis que muchas tienen exactamente el mismo hardware que un Player TV con Android. Simplemente se les ha añadido una capa de hardware adicional, e instalado una distribución como Retropie, EmuELEC, o similar.

consola-retro

Pues bien, en algunos de estos Player TV con Android se puede instalar la distribución de Linux llamada Armbian. Tenéis la página web del proyecto en https://www.armbian.com/.

Armbian es una distribución de Linux ligera basada en Debian y adaptada para procesadores de ARM. Os habréis encontrado con Armbian, por ejemplo, si habéis trabajado con alternativas a Raspberry Pi como Banana Pi o Orange Pi, porque es precisamente el SO que recomiendan.

armbian-logo

Además, hay que resaltar que en la mayoría de ROMS no vamos a perder la distribución de Android. Tras la instalación de Armbian tendremos un arranque dual Linux Android, lo cuál es una gran ventaja respecto a, por ejemplo, Raspberry Pi. Simplemente si durante el arranque tenemos insertada la tarjeta SD con la ROM arrancaremos en el sistema de Linux, y en Android si arrancamos sin la tarjeta SD.

En cuanto al modelo de Player TV a elegir, por supuesto, debemos que elegir uno que sea compatible y que tenga una ROM desarrollada. Para comprobarlo, lo mejor es comprobar en el foro de Armbian, que tiene una sección especifica para TV Boxes en este enlace.

Sin embargo, como cualquier foro tecnológico especializado, entrar en el Foro de Armbian es un poco abrumador al principio por la gran cantidad de información disponible. Hay muchas entradas, muchas ROMs, información a veces contradictoria, y es difícil ponerse al dia.

Además, hay que tener en cuenta que existe una gran variedad de Players TV y es que las denominaciones empleadas por todos los vendedores no son siempre homogéneas (por no decir que algunas son directamente incorrectas). Por tanto lo que debemos mirar es los detalles del hardware. En particular, debemos mirar el modelo de procesador o chipset que monta.

h96

En el momento de redactar esta entrada, los tres procesadores principales de Players TV que nos interesan son el Amlogic S905X, Rockchip RK3328 y Allwinner H6, todos ARM Cortex A53 de cuatro núcleos y 64 bit. Para estos procesadores, por lo menos, hay versiones de Armbian funcionando con mayor o menor compatibilidad.

Ejemplo X96 Mini S905W

A continuación vamos a ver un ejemplo de cómo instalar Armbian en un Player TV con Android X96 Mini, con CPU S905W, porque es el modelo que yo tengo. Este es modelo muy popular y barato que podemos encontrar por 25-30€. No obstante, el procedimiento es más o menos similar para los otros tipos de Player TV. x96

Las características técnicas del X96 mini son las siguientes.

  • CPU: Amlogic S905W, Quad-Core, Cortex-A53
  • ROM: eMMC 16GB
  • SDRAM: DDR3 1/2/4 GB
  • GPU: Penta-Core Mali-450
  • Salida de vídeo HD: SD/HD máx. 1920 x 1080 píxeles
  • Ethernet: estándar 10/100M, Gigabit RJ-45
  • WiFi: 2,4 G
  • Sistema operativo: Android 11.0

A continuación vamos a ver cómo instalar la distribución Armbian en nuestro Player TV X96 Mini. Tener dos buenos tutoriales al respecto este enlace y este enlace

Al final de la entrada os dejo un recopilatorio con más referencias a tutoriales sobre instalación para instalar Armbian en distintos modelos de Players TV.

Básicamente, de forma resumida, en primer lugar descargamos la imagen a instalar del foro de Armbian. A mi, por ejemplo, me ha dado buenos resultados esta ROM.

A continuación usamos Balena Etcher para instalar la ROM en una tarjeta SD. Ya vimos como emplear Balena Etcher en esta entrada sobre Raspberry Pi. Por lo que, si tienes alguna duda sobre su uso, te recomiendo que leas nuestra entrada.

Una vez escrita la ROM en la tarjeta SD, deberemos acceder a ella y realizar ciertas modificaciones en la configuración, antes de poderla insertar en nuestro Player TV. La conectamos con un lector de tarjetas y realizamos los siguientes pasos.

En primer lugar, copiamos el archivo ‘meson-gxl-s905w-p281.dtb’ de la carpeta /dtb/amlogic/ a la carpeta raíz de la Micro SD, y lo renombramos como ‘dtb.img’

Por otro lado, editamos el archivo uEnv.txt en la raíz de la Micro SD para adaptarlo a nuestro hardware. En concreto, descomentamos la línea correspondiente con nuestro hardware ‘meson-gxl-s905w-p281’ quedando de la siguiente forma,


## aml s9xxx

#FDT /dtb/amlogic/meson-g12a-x96-max-no-cvbs.dtb

#FDT /dtb/amlogic/meson-g12b-ugoos-am6-no-cvbs.dtb

#FDT /dtb/amlogic/meson-g12b-odroid-n2.dtb
FDT /dtb/amlogic/meson-gxl-s905w-p281.dtb
APPEND=root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0

Finalmente insertamos la tarjeta SD en la Box TV. Lo reiniciamos, manteniendo pulsado el botón de RESET, que en el caso del X96 se encuentra dentro de la entrada de audio.

armbian-x96-mini-ssh

Ahora, iniciamos sesión una primera vez con monitor, teclado, y ratón conectado. Las credenciales por defecto son las siguientes,

Usuario: root
Clave: 1234

A partir de ahí haríamos como cualquier otro ordenador con Linux, cambiando las credenciales, usando SSH, VNC en LXDE/, o el resto de tutoriales como hemos visto en la sección de tutoriales de Raspberry Pi y Linux

armbian-x96-mini-vnc

Conclusión

Hemos visto cómo instalar la distribución de Linux Armbian en un Player TV con Android. Esto nos permite tener una alternativa de muy bajo coste a mini ordenadores con Linux como Raspberry Pi, teniendo en muchas ocasiones la misma potencia (o incluso más).

Para ilustrar el proceso hemos explicado los detalles con un X96 Mini, que es el que yo tengo (de hecho tengo varios, asi que lo tengo bastante bien probado). El X96 Mini es un modelo muy popular para instalar Armbian porque el proceso es muy sencillo, y la buena compatibilidad que se ha obtenido en las ROMs.

El X96 Mini no es el único Player TV en el que podemos instalar Armbian, existen otros modelos también compatibles. Para ello, debemos fijarnos muy bien en las características técnicas y, sobre todo, en el CPU/Chipset que montan. Con eso, debemos encontrar una ROM adecuada para nuestro dispositivo, generalmente en el foro de Armbian.

En cuanto al funcionalidad y rendimiento, en mis pruebas el funcionamiento de Armbian es más que correcto. SSH, VNC, un servidor web, Python, NodeJs, hasta instalar NET6 o hacer programas con Raylib. En general, me ha funcionado todo lo que he probado, incluso a veces con un rendimiento superior a una Raspberry Pi 4.

Tampoco he notado demasiados problemas con la estabilidad. Aunque, no me fiaría para hacer una aplicación en producción. Para mi esto es más una solución de experimentación y aprendizaje. Pero vamos, que tampoco me fiaría de poner una aplicación en una Raspberry Pi (¿cómo, ¿que has dicho?.. sí, yo no me fiaría de una Rpi).

Por otro lado, hay que tener en cuenta la ventaja de tener Android en el mismo dispositivo, y poder cambiar entre Linux y Android simplemente retirando la tarjeta SD antes del arranque. Así tenéis dos plataformas para testear desarrollos en un único dispositivo de bajo coste.

No obstante, usar un Player TV con Armbian, hay que reconocer su uso no es tan sencillo como, por ejemplo, usar directamente una Raspberry Pi. Estaríamos ante una solución orientada a usuarios medios o usuarios avanzados y con experiencia previa en sistemas con Linux. No es un entorno apropiado para aprender solos y desde cero.

Por ultimo, tener en cuenta que la mayoría de estas ROM son mantenidas por un número reducido de personas (incluso una única persona). Por lo que es muy fácil que en algún momento desaparezcan, queden obsoletos o dejen de funcionar por cambios en el software o el hardware.

Así que si podéis, y en la medida de lo posible, ayudad a este tipo de proyectos. Bien sea directamente contribuyendo con código, o vuestras ROMs, o simplemente participando en los foros o compartiendo los proyectos. De esta forma contribuís a que estos interesantes proyectos continúen vivos.


Referencias:

Aquí os dejo un recopilatorio de tutoriales y entradas de interés para otros modelos de player y/o procesadores. Si en algún momento alguno encuentra alguno más, podéis comentármelo para añadirlos

Amlogic S905w (Tanix TX3 Mini, X96Mini) https://i12bretro.github.io/tutorials/0316.html https://amirsafe.com/publicaciones/instalar-linux-en-tv-box-armbian/

Amlogic S912 (Nexbox A95x A2) https://i12bretro.github.io/tutorials/0185.html

Amlogic S912 (Tanix TX9s) https://i12bretro.github.io/tutorials/0094.html

Allwinner H6 (Tanix TX6) https://i12bretro.github.io/tutorials/0008.html

Rockchip RK3288 https://i12bretro.github.io/tutorials/0091.html