Aquí está mi versión de LineageOS 22 Android TV para Raspberry Pi 4 Modelo B, Pi 400 y Módulo de Cómputo 4. Es no oficial y no está soportada por el equipo de LineageOS. Es solo para usuarios avanzados. Se requiere un modelo Pi 4 con al menos 2GB de RAM para ejecutar esta versión.
¡Importante! Esta imagen incluye partes que están licenciadas bajo una licencia no comercial (Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International). Puedes usar esta versión libremente en uso personal/educativo/etc. ¡El uso comercial no está permitido con esta versión! Puedes contactarme por correo electrónico para discutir la creación de versiones personalizadas de Android para fines comerciales.
¡No copies mis construcciones! Por favor, publica un enlace a esta página en su lugar.
lineage-22.0-20241217-UNOFFICIAL-KonstaKANG-rpi4-atv.zip
https://dlupload.com/filedetail/88945361
md5:49765b2e9dd7628d85363b346858c543
lineage-22.0-20241217-UNOFFICIAL-KonstaKANG-rpi4-atv-ota.zip (paquete OTA flasheable de TWRP)
https://dlupload.com/filedetail/1051359819
md5:f7b6399d4502fa7d2f26d7029d031749
Trabajando:
- Audio (HDMI, conector de 3.5mm, micrófonos USB, altavoces/auriculares bluetooth, etc)
- DAC de audio (usando DACs GPIO, por ejemplo, Hifiberry DAC+)
- Bluetooth (y anclaje bluetooth)
- Cámara (usando módulos de cámara Pi oficiales y webcams USB UVC)
- GPIO
- GPS (usando módulos USB externos, por ejemplo, U-Blox 7)
- Ethernet
- Gráficos acelerados por hardware (V3D, OpenGL y Vulkan)
- Decodificación y codificación de video por hardware (decodificación H.265, decodificación y codificación H.264)
- Pantalla HDMI (y HDMI-CEC)
- I2C
- Mando a distancia IR (usando módulos IR GPIO externos, por ejemplo, TSOP4838)
- RTC (usando módulos I2C GPIO externos, por ejemplo, DS3231)
- Sensores (usando módulos I2C GPIO externos, por ejemplo, MPU6050, LSM6DS3, LSM303DLHC, BME280/BMP280, y acelerómetro APDS9930, giroscopio, magnetómetro, temperatura, presión, humedad, luz ambiental y proximidad)
- Consola serie (usando adaptadores de consola serie GPIO externos, por ejemplo, PL2303)
- SPI
- Pantalla táctil/multi-táctil (pantalla táctil oficial de 7”, pantallas táctiles USB, pantallas táctiles SPI de Waveshare)
- USB (ratón, teclado, almacenamiento, etc)
- USB-C (ADB, MTP, PTP, anclaje USB)
- Wifi (y anclaje wifi)
Problemas:
- La funcionalidad de Chromecast no es compatible con dispositivos Android TV no certificados
- Varios problemas con los módulos de cámara CSI
- SELinux está en modo permisivo
- No se admite la encriptación de datos de usuario
- y más…
Fuentes:
Gracias:
- Roman Stratiienko y el proyecto GloDroid
- Peter Yoon y el proyecto android-rpi
- Desarrolladores de la placa de referencia AOSP (dragonboard, hikey, yukawa)
- Proyecto Android-x86
- Equipo de LineageOS y todos los que han contribuido a LineageOS 22
Cómo instalar:
También puedes actualizar a versiones más nuevas utilizando paquetes OTA flashables de TWRP. Las actualizaciones OTA enviadas a través de la aplicación Updater integrada se almacenan en /data/lineageos_updates/.
- Descarga lineage-22.0-xxxxxxxx-UNOFFICIAL-KonstaKANG-rpi4-atv-ota.zip y guárdalo en el almacenamiento interno de tu dispositivo o usa una unidad USB externa
- Inicia en la recuperación TWRP (ver FAQ)
- Instala lineage-22.0-xxxxxxxx-UNOFFICIAL-KonstaKANG-rpi4-atv-ota.zip desde el almacenamiento que seleccionaste
- (Flashea Magisk/u otros complementos que habías instalado previamente)
- Sal de la recuperación (ver FAQ)
Cambios que son respaldados y restaurados al flashear OTAs:
- Configuraciones específicas del dispositivo cambiadas usando Configuración -> Sistema -> Configuraciones de Raspberry Pi
- Cambios manuales en /boot/resolution.txt y /boot/rc_keymap.txt
- Configuración de arranque USB en /boot/config.txt
- Opciones específicas del usuario en /boot/config_user.txt
- GApps
Cambios que no están respaldados y restaurados al flashear OTAs:
- Cambios manuales en /boot/config.txt (y cualquier otro cambio manual en la partición /boot)
- Magisk
- Widevine
Preguntas Frecuentes:
Q: ¿Cómo encontrar varias opciones de configuración específicas de Raspberry Pi?
A: Configuración -> Sistema -> Configuración de Raspberry Pi
La mayoría de las opciones en este menú requieren que reinicies tu dispositivo para que la configuración tenga efecto.
Q: ¿Cómo habilitar las opciones de reinicio avanzado?
A: Configuración -> Sistema -> Botones -> Reinicio avanzado
Q: ¿Cómo habilitar las opciones de desarrollador?
A: Configuración -> Sistema -> Acerca de -> Haz clic en 'Número de compilación' varias veces.
Q: ¿Cómo habilitar el acceso root?
A: LineageOS ya no tiene gestión de root incorporada para aplicaciones. Puedes tener acceso root a través de ADB después de habilitar Configuración -> Sistema -> Opciones de desarrollador -> Depuración con root, SSH (ver FAQ a continuación), o consola serial. También es posible instalar Magisk siguiendo las instrucciones más adelante en la FAQ.
Q: Mi pantalla no está funcionando. Solo puedo ver la pantalla de arcoíris pero no la animación de arranque de Android. ¿Qué debo hacer?
A: Esta versión solo admite pantallas HDMI que informan las resoluciones compatibles utilizando EDID. La resolución 1920x1080 se utiliza por defecto con esta versión. Puedes cambiar el valor en /boot/resolution.txt para usar una resolución diferente que tu pantalla soporte. Eliminar /boot/resolution.txt utilizará la resolución preferida de tu pantalla.
Q: ¿Cómo usar las pantallas táctiles DSI?
A: Puedes habilitar las configuraciones necesarias utilizando una opción de configuración que se encuentra en Configuración -> Sistema -> Configuración de Raspberry Pi -> Pantalla DSI. Necesitas desconectar cualquier pantalla HDMI al usar la pantalla DSI.
Q: Raspberry Pi no tiene un botón de encendido. ¿Cómo apagar/reiniciar el dispositivo?
A: Las siguientes teclas del teclado funcionan como botones de Android: F1 = Inicio, F2 = Atrás, F3 = Multitarea, F4 = Menú, F5 = Encendido, F11 = Volumen abajo, y F12 = Volumen arriba. También puedes usar una de las muchas aplicaciones de reinicio de terceros.
Q: ¿Cómo crear un botón de encendido de hardware DIY?
A: Puedes enviar eventos del botón de encendido conectando GPIO21 a tierra.
Puedes habilitar la función utilizando una opción de configuración que se encuentra en Configuración -> Sistema -> Configuración de Raspberry Pi -> Botón de encendido.
También puedes usar el botón de encendido DIY para iniciar el dispositivo en la recuperación TWRP. Mantén presionado el botón mientras enciendes el dispositivo hasta que veas la pantalla de TWRP.
Q: ¿Cómo habilitar el audio a través de HDMI?
A: El conector de 3.5 mm se utiliza para audio por defecto. Puedes seleccionar el dispositivo de audio que deseas usar mediante una opción de configuración que se encuentra en Configuración -> Sistema -> Configuración de Raspberry Pi -> Dispositivo de audio.
Q: ¿Cómo usar el control remoto IR?
A: Puedes habilitar la función utilizando una opción de configuración que se encuentra en Configuración -> Sistema -> Configuración de Raspberry Pi -> Control remoto por infrarrojos.
Puedes colocar un keymap para tu control remoto como /boot/rc_keymap.txt para que se cargue automáticamente al iniciar. Consulta keymaps disponibles como referencia. Puedes usar ir-keytable -p all -t
en una shell con acceso root para averiguar los keycodes del control remoto que estás utilizando.
Q: ¿Cómo usar RTC?
A: Puedes habilitar la función utilizando una opción de configuración que se encuentra en Configuración -> Sistema -> Configuración de Raspberry Pi -> Reloj en tiempo real.
El tiempo del sistema se lee y se establece automáticamente desde el RTC al arrancar una vez que has habilitado la función. Necesitas escribir el tiempo del sistema que deseas usar en el RTC en una shell con privilegios de root:
Q: ¿Cómo usar SSH?
A: Puedes iniciar/detener el servidor SSH integrado utilizando una opción de configuración que se encuentra en Configuración -> Sistema -> Configuración de Raspberry Pi -> SSH.
Android no tiene cuentas de usuario con contraseñas, por lo que se utiliza la autenticación basada en claves con SSH en su lugar. Las claves necesarias se generan en el primer arranque y necesitas transferir la clave privada a tu computadora (o alternativamente puedes enviar tus propias claves generadas previamente al dispositivo). Ve a Configuración -> Sistema -> Acerca de -> Estado -> Dirección IP para la dirección IP de tu dispositivo (se asume que es 192.168.0.100). Habilita la depuración de Android y la depuración con acceso root en Configuración -> Sistema -> Opciones de desarrollador.
adb connect 192.168.0.100
adb root
adb pull /data/ssh/ssh_host_ed25519_key my_private_key
chmod 600 mi_clave_privada
ssh -i mi_clave_privada [email protected]
Se recomienda deshabilitar adb después de esto.
Q: ¿Cómo arrancar desde un dispositivo USB?
A:
#dtoverlay=android-sdcard
dtoverlay=android-usb
#dtoverlay=android-nvme
- Conecta el dispositivo USB/NVME a tu Raspberry Pi, quita cualquier tarjeta SD y arranca.
Q: ¿Cómo iniciar en la recuperación TWRP?
A: Puedes iniciar en TWRP seleccionando Configuración -> Sistema -> Energía y energía -> Reiniciar -> Recuperación después de habilitar las opciones de reinicio avanzado.
Si el cursor del ratón no aparece, intenta volver a conectar tu ratón.
Q: ¿Cómo salir de la recuperación TWRP?
A: Puedes salir de la recuperación simplemente seleccionando la opción reiniciar al sistema en TWRP.
Q: Mi dispositivo sigue iniciando en la recuperación TWRP. ¿Qué debo hacer?
A: Si tienes GPIO21 conectado a tierra (o si tienes algo consumiendo energía de él), tu dispositivo siempre iniciará en la recuperación TWRP (consulta la sección de preguntas frecuentes sobre el botón de encendido DIY). Si tienes una falla de hardware en GPIO21, puedes editar /boot/config.txt para eliminar la lógica relacionada con GPIO21 (consulta las secciones 'Ramdisk' y 'Aceleración gráfica').
Q: Configuración -> Almacenamiento muestra un tamaño total del sistema de 7 GB. Hay espacio no asignado en mi tarjeta SD. ¿Qué debo hacer?
A: Esta es una imagen de 7 GB, el espacio restante en tu tarjeta SD permanecerá no asignado.
- Descarga KonstaKANG-rpi-resize.zip (md5:31a1d26e80cf4544a1fcd689e8799d7b) y guárdalo en el almacenamiento interno de tu dispositivo o usa una unidad USB externa
- Inicia en la recuperación TWRP (ver FAQ)
- Instala KonstaKANG-rpi-resize.zip desde el almacenamiento que seleccionaste
- Sal de la recuperación (ver FAQ)
Q: ¿Cómo instalar Widevine L3?
A:
- Download KonstaKANG-rpi-widevine-15.zip (md5:3de5b04da3262fd3e0aa382b30915591) y guárdalo en el almacenamiento interno de tu dispositivo o usa una unidad USB externa
- Arranca en la recuperación TWRP (ver FAQ)
- Instala KonstaKANG-rpi-widevine-15.zip desde el almacenamiento que seleccionaste
- Sal de la recuperación (ver FAQ)
Q: ¿Cómo instalar Magisk?
A:
- Descarga KonstaKANG-rpi-magisk-v28.0.zip (md5:754565dbf60e8527784a7676838b6a66) y guárdalo en el almacenamiento interno de tu dispositivo o usa una unidad USB externa
- Descarga Magisk-v28.0.apk
- Inicia en la recuperación TWRP (ver FAQ)
- Instala KonstaKANG-rpi-magisk-v28.0.zip desde el almacenamiento seleccionado
- Sal de la recuperación (ver FAQ)
- Instala Magisk-v28.0.apk usando el administrador de archivos integrado de Android/
adb install
/etc. - Ignora las sugerencias para reinstalar Magisk dentro de la aplicación y/o la advertencia sobre el método de instalación
Q: ¿Cómo instalar aplicaciones de Google?
A:
- Descarga MindTheGapps-15.0.0-arm64-ATV-xxxxxxxx theGapps/15.0.0-arm64-ATV/releases/latest y guárdalo en el almacenamiento interno de tu dispositivo o usa una unidad USB externa
- Inicia en la recuperación TWRP (ver FAQ)
- Instala MindTheGapps-15.0.0-arm64-ATV-xxxxxxxx theGapps/15.0.0-arm64-ATV/releases/latest.zip desde tu almacenamiento seleccionado
- Borrar -> ¡Restablecimiento de fábrica!
- Sal de la recuperación (ver FAQ)
'Commits fusionados no mencionados en el registro de cambios.'
17.12. registro de cambios:
- lanzamiento inicial de LineageOS 22
- mejoras en la configuración de Raspberry Pi
- usar diseño leanback en Android TV
- agregar soporte para más DACs de audio
- agregar soporte para más pantallas DSI
- cambiar a AIDL graphics allocator HAL y gralloc5 mapper
- cambiar a AIDL HWC3 graphics composer HAL
- cambiar a AIDL bluetooth HAL
- cambiar a AIDL USB gadget HAL
- actualizar a libcamera master/v0.3.2, libpisp v1.0.7
- actualizar a alsa-lib/alsa-utils v1.2.13
- actualizar a FFmpeg 7.0.2, AOSP dav1d 1.5.0
- actualizar a Mesa 24.3.1
- actualizar al kernel de Linux 6.6.60 y parchear vulnerabilidades conocidas (CVE-xxxx-xxxx, y más)
- nivel de parche de seguridad de Android: 5 de noviembre de 2024
Versiones anteriores: