Antes de hacer cualquier cosa con este aparato del demonio, primero tienes que aprender a cómo flashear un sistema operativo a su eMMC. Hay muchas formas de hacerlo, las cuales están más o menos bien documentadas en la wiki oficial de FriendlyElec, pero la que no está bien documentada es cómo hacerlo desde linux, cuando la pendejada esta ya tiene un sistema operativo flasheado que quieres reemplazar y no tienes una microSD porque… ¿acaso no has visto el precio de esas cosas?

  1. Instala rkdeveloptool. Está empaquetado en nix y en el AUR. Si no está empaquetado en tu distro de preferencia, siempre puedes compilarlo tú mismo o usar alguno de los muchos proyectos que hay para correrlo en el navegador o en un contenedor de docker, pero como no usé ninguno de estos proyectos, no puedo asegurar su efectividad.

  2. Antes de conectar nada, debes configurar el autosuspendido de los puertos USB de tu máquina así:

    sudo sh -c 'echo -1 > /sys/module/usbcore/parameters/autosuspend'

    Si no haces esto, la comunicación entre tu computadora y el CM3588 va a interrumpirse constantemente.

  3. Mientras el aparato está apagado, mantén presionado el botón de Mask y luego presiona el botón de encendido para prenderlo en modo hacker.

  4. Conecta el CM3588 a tu computadora utilizando su puerto USB-C. La wiki especifica que uses un cable de tipo C a tipo A, yo usé uno de tipo C a tipo C y funcionó.

  5. Al correr sudo rkdeveloptool ld deberías ver tu dispositivo enlistado en modo Maskrom y otras mamadas sin importancia más.

  6. Después es necesario flashear el bootloader necesario para que rkdeveloptool pueda hablar libremente con la pendejada. Corre sudo rkdeveloptool db MiniLoaderAll.bin, en donde MiniLoaderAll.bin es este archivo proveniente de una URL sin dominio. Si te preguntas porqué viene de una URL tan sketchy, pregúntales a FriendlyElec, es un link extraído de la wiki oficial

  7. Ahora vamos a limpiar el eMMC corriendo sudo rkdeveloptool ef

  8. Cuando eso termine, flashea tu imagen de preferencia con sudo rkdeveloptool wl 0 <archivo.img|archivo.raw>

Selección de imágenes

Algunas imágenes que podrían interesarte son:

Consideraciones importantes

A fecha de la última edición de este artículo, se requiere un driver especial para hacer uso de la NPU de esta pendejada (por ejemplo, para aceleración por hardware de Immich). Driver que sólo está presente en el kernel proveído por FriendlyElec. Esto significa que, por ejemplo, la imagen de nixos no podrá usar la NPU, y si usas las imágenes de Armbian, deberás usar las que tengan el kernel vendor 6.1.x. GRACIAS ROCKCHIP!!!

Por otro lado, las imágenes que decidas flashear deberán tener el bootloader predefinido en sus primeros sectores. Si no tienes idea de qué significa lo que acabas de leer, pregúntale al maintainer de la imagen que estás pensando en flashear, así aprendes algo nuevo y le ayudas a ese maintainer a sentir que su trabajo no es en vano.