Post-Image

Integración de dispositivos SDM845 en openSUSE

Los dispositivos SDM845 se denominan así por el procesador que utilizan Snapdragon 845, dispositivos de 8 núcleos con GPU Adreno 630, un procesador de 10 nanómetros de finales de 2017. Algunos de los dispositivos que integran este procesador son el Pocophone F1, Oneplus 6/6T, Shift 6mq, Google Pixel 3/3XL,… entre otros.

¿Por que estamos hoy aquí hablando de estos dispositivos? Porque gracias a la comunidad se ha ido integrando este procesador en el Kernel de GNU/Linux lo que permite portar distribuciones a estos dispositivos, al igual que ocurre con dispositivo con un soporte nativo se puede instalar un SO GNU/Linux en estos dispositivos.

Lo que ocurre es que no todo es procesador, para que una distribución completa funcione hay que trabajar en los drivers de cada dispositivo y dado que los fabricante tienen como premisa no liberar el codigo fuente de ningun elemento de sus smartphones la comunidad ha estado haciendo reversing de los drivers que se usan en Android para poder portarlos, en muchos casos como binarios, para poder hacer uso de ellos.

¿Con toda esta información a donde se ha podido llegar? Pues actualmente los dispositivos mencionados anteriormente parece que ya pueden arrancar GNU/Linux teniendo los elementos básico para poder utilizarlos, algunos de ellos incluso pueden llegar a utilizarse como dispositivo funcional, yo en la actualidad dispongo de un Pocophone F1 con un “dual boot” casero que me permite arrancar en Android o PostmarketOS, aunque esto lo dejaremos para comentar en otra ocasión.

Tras comprobar que efectivamente se puede disponer de dispositivos funcionales he procedido a trabajar en la imagen de openSUSE para este tipo de smartphones y dado que dispongo de uno de pruebas para esto es con el que he empezado, actualmente existe una imagen de openSUSE para el Pocophone F1, dado que el Kernel es el mismo para el resto de dispositivos crear una imagen para los demás va a ser relativamente sencillo, por lo que se publicarán en un futuro próximo.

LA publicación de imágenes no puede hacer en el servicio de Open Build Service dado que estás tienen que ser sparse image y necesitamos eliminar particiones y cambiar ciertos elementos, para continuar intentando seguir el estándar de openSUSE usamos Kiwi y Open Build Service para crear las imágenes y luego con una serie de scripts extraemos el rootfs y el bootloader para posteriormente flashearlos via Fastboot.

Imágen de openSUSE en un PocoPhone F1.

PocoPhone F1 running openSUSE

Link de descarga de imágenes: https://swiftobjectstorage.eu-madrid-1.oraclecloud.com/v1/axvje53kuldk/opensuse-mobile-releases/index.html

Para flasear tu dispositivo tan solo tienes que ponerlo en modo fastboot y ejecutar.

1
2
3
fastboot flash boot openSUSE-Tumbleweed-ARM-PHOSH-<device>.aarch64.boot.img
fastboot -S 100M flash userdata openSUSE-Tumbleweed-ARM-PHOSH-<device>.aarch64.root.img
fastboot erase dtbo