Corre Feather Wallet en Android (en tu teléfono móvil)

A partir de la versión 2.2.2 Feather Wallet es compatible con Raspberry Pi y arquitecturas Linux ARM64, esto quiere decir, entre otras cosas, que podremos ejecutar esta billetera incluso en dispositivos móviles Android que cumplan con éstas características de hardware sin rootear nuestro móvil.

Para ello debemos tener instalado previamente un sistema operativo Linux, preferiblemente Ubuntu ya que es relativamente fácil de usar y muy amigable al usuario nuevo. Tranquilo, todo esto lo explicaremos en esta guía.

Requisitos que debe cumplir tu teléfono móvil

  • Móvil con el sistema operativo Android
  • Compatible con la arquitectura ARM64
  • Suficiente espacio en memoria interna (10GB aprox)
  • Conexión a Internet para descargar el SO y demás archivos
  • En versiones Android 12+ será necesario un ordenador para deshabilitar el PHANTOM PROCESS KILLER en tu dispositivo.

Aplicaciones necesarias antes de comenzar

  • Termux
  • VNC viewer

Es importante mencionar que no descargues Termux de la PlayStore de Google, ya que está desactualizada desde hace varios años y no nos servirá. En su lugar, utiliza F-Droid o descarga el archivo .apk directamente de su repositorio de GitHub.

Mas adelante te voy a mostrar cómo instalo éstas aplicaciones, así que puedes seguir leyendo la guía sin problemas.

¿Que arquitectura utiliza mi Android?

Los chips que utilizan los dispositivos móviles y tablets Android por norma general utilizan 3 tipos de arquitecturas de procesador:

  • ARM: Utilizada en la mayoría de dispositivos antiguos.
  • ARM64 (aarch64): Actualización de la arquitectura anterior (ARM) compatible con 64 bits. Una de las mas utilizadas actualmente en dispositivos móviles y tablets.
  • X86: Poco utilizada pero con gran potencia y consumo de batería.

Para ello puedes utilizar aplicaciones como Device Info HW o Droid Hardware Info, ambas son herramientas que te darán información muy detallada sobre los componentes de hardware de tu dispositivo.

Instalar F-Droid y Termux

Primero vamos a proceder a instalar F-Droid, para ello:

  1. Vamos al sitio web https://f-droid.org/es/ y le damos a descargar.
  1. Una vez descargado, deberás habilitar la opción para instalar apps desconocidas, para ello:
    1. Ve a los ajustes del sistema.
    2. Seguridad y Privacidad
    3. Busca la opción instalar apps desconocidas
    4. Activalo en Mis archivos y F-Droid
    5. Instala F-Droid
  1. Con esto ya tendremos instalado y configurado nuestro F-Droid.

El siguiente paso es instalar Termux para ello haremos lo siguiente:
1. Ve a F-Droid y busca Termux
2. Instala Termux

Instalar y configurar Ubuntu

Una vez tenemos Termux instalado en nuestro dispositivo, el siguiente paso es instalar proot Ubuntu.

Proot es un programa que implementa una funcionalidad similar a chroot, permitiendo a un usuario sin privilegios ejecutar programas con un directorio raíz alternativo, muy parecido a una “cárcel” chroot. Esto es muy útil en los casos en que un chroot no es posible debido a la falta de privilegios root (como en nuestro caso)

Hacerlo de esta forma es lo mas seguro y fácil sin necesidad de que “rootees” tu dispositivo móvil o tablet.

Actualización de repositorios Termux

Lo primero que debemos hacer es actualizar los repositorios de termux y así evitar posibles fallos. Así que abre Termux y ve metiendo los siguientes comandos.

pkg update -y

Instalar Proot y Ubuntu

Lo segundo será instalar proot y luego Ubuntu

pkg install proot-distro

Para instalar Ubuntu simplemente ejecuta el siguiente comando:

proot-distro install ubuntu

Una vez instalado, simplemente nos logeamos dentro de Ubuntu. Ten en cuenta que ahora mismo estamos en Termux, para acceder a Ubuntu debemos ejecutar el siguiente comando:

proot-distro login ubuntu

Actualización de repositorios e instalación de programas necesarios en Ubuntu

Una vez dentro de Ubuntu vamos a proceder a actualizar todos los repositorios y a instalar algunos programas que nos facilitarán la vida. Para ello ejecuta el siguiente comando:

apt update

Esperamos a que actualice todo y luego:

apt install sudo nano

El siguiente paso es crear un usuario local, ya que nos será mas fácil de usar en lugar del usuario root. Para ello utilizaremos el comando adduser, recuerda poner el nombre de usuario que tu desees, en mi caso lovera.

adduser lovera

Nos pedirá una contraseña y luego simplemente dale todo a aceptar en los campos de nombre completo, teléfono de trabajo, etc.

Vamos a hacerlo root, para ello introducimos el siguiente comando:

nano /etc/sudoers

Se nos abrirá una especie de “documento” bajamos hasta encontrar root, nos posicionaremos justo debajo y colocaremos nuestro usuario tal cual como está root. Luego guardamos y cerramos.

Ahora nos logueamos con el usuario recien creado, en mi caso lovera:

su lovera
cd

Instalamos udisks2 y le añadimos hold

sudo apt install udisks2

Luego ejecutamos los siguientes comandos uno por uno:

sudo rm /var/lib/dpkg/info/udisks2.postinst
echo "" >> /var/lib/dpkg/info/udisks2.postinst
sudo apt-mark hold udisks2

Instalación del entorno gráfico

Vamos a instalar un entorno gráfico rápido y ligero pero con muchas posibilidades, fácil de usar y visualmente atractivo. Para ello simplemente introduce los siguientes comandos:

sudo apt install xfce4 xfce4-terminal xfce4-whiskermenu-plugin

instalación de Chromium, gedit y otros programas necesarios

Vamos a instalar Chromium para poder descargar de forma sencilla y fácil Feather wallet y otros programas que deseemos. Comencemos con Chromium:

Vamos a añadir el repo debian (ejecuta uno por uno)

sudo apt install gnupg

echo "deb http://ftp.debian.org/debian buster main" >> /etc/apt/sources.list
cat /etc/apt/sources.list
sudo apt update

Probablemente te aparezcan algunos errores de llaves, si es así haremos los siguiente:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv-keys 648ACFD622F3D138

Si te fijas, lo que he hecho es añadir la llave que nos aparece error como ausente. Deberás hacerlo con cada una de las que te aparece errores.

Hacemos un update y verificamos:

sudo apt update

Si todo marcha bien, procedemos a instalar Chromium:

sudo apt install chromium

Luego ejecuta el siguiente comando:

sudo sed -i 's/chromium %U/chromium --no-sandbox %U/g' /usr/share/applications/chromium.desktop

El resto de programas lo podemos instalar de la siguiente forma:

sudo apt install gedit vlc dbus-x11 tigervnc-standalone-server

Con esto hemos acabado.

Opcional: Cambiar prefijo para iniciar Ubuntu

De forma totalmente opcional podemos cambiar la forma en que iniciamos Ubuntu en Termux. Como podrás haberte dado cuenta, para iniciar Ubuntu debemos ejecutar el comando: proot-distro login ubuntu sin embargo con el siguiente comando podremos cambiar la forma de hacerlo para que sea mas rápido y fácil.

echo "proot-distro login --user lovera" >> $PREFIX/bin/ubuntu
chmod +x $PRFEIX/bin/ubuntu
nano $PREFIX/bin/ubuntu añadimos "ubuntu" al final para podernos logear con nuestro usuario escribiendo simplemente Ubuntu. Así:

Listo. Para logearnos en ubuntu ahora simplemente tenemos que escribir ubuntu en Termux.

Configurar VNC server

Para conectarnos a Ubuntu con una interfaz gráfica utilizaremos VNC server + VNC viewer. Es decir, ejecutaremos VNC server en nuestro sistema Ubuntu recién instalado para luego conectarnos a el mismo utilizando VNC Viewer desde Android.

Nos logueamos en Ubuntu e introducimos los siguientes comandos uno por uno:

echo "vncserver -geometry 1600x900 -xstartup /usr/bin/startxfce4" >> /bin/vncstart
echo "vncserver -kill :1" >> /bin/vncstop
chmod +x /bin/vncstart
chmod +x /bin/vncstop

Listo, con esto ya tendremos VNC configurado en nuestro Ubuntu. Iniciaremos con vncstarty mataremos el proceso con vncstop

Ejecutamos por primera vez vncstart y nos pedirá que configuremos una contraseña para nuestra estancia VNC. Escribimos nuestra contraseña de preferencia y ya podremos conectarnos utilizando un VNC viewer de tu preferencia.

Solucionar problema crash Termux

Después de instalar Ubuntu proot-distro en Termux, abres Real VNC Viewer para conectarte al vncserver, sin embargo ves un mensaje que dice: La conexión se cerró inesperadamente. Entonces vuelves a Termux, ves un mensaje Proceso completado (señal 9) – pulsa Enter y Termux es forzado a salir.

Eso significa que los procesos Termux son asesinados por Android OS. Esto ocurrirá en dispositivos Android 12+. Afortunadamente esto puede ser resuelto mediante la ejecución de algunos comandos.

Utilizaremos un ordenador y un cable USB para conectar nuestro dispositivo al PC.

  1. Activa en Android las opciones de desarrolladores. Para ello ve a ajustes – acerca del móvil/tableta y haz varios taps sobre el número de compilación hasta que te sea solicitado tu PIN. Una vez ingresado ya podrás usar el modo dev.
  2. Ve a las opciones de USB Debuggin y actívalo
  3. Conecta tu dispositivo móvil a tu ordenador a través del cable USB
  4. Vamos a descargarnos las herramientas de plataforma del siguiente enlace: https://developer.android.com/studio/releases/platform-tools?hl=es-419
  1. Lo descomprimes en tu carpeta de preferencia. En mi caso directamente en el disco C
  2. Hacemos click en inicio y buscamos “Edit enviroment variables” y buscamos el apartado de variables de environment
  3. Añadimos la ruta donde se encuentra nuestros archivos recién descargado y descomprimido.
  1. Ejecutamos cmd
  2. Corremos el comando adb devices y deberíamos ver una información como la que te muestro ahora:
  1. Por último ejecuta los siguientes comando uno por uno:

adb shell "/system/bin/device_config set_sync_disabled_for_tests persistent”

adb shell "/system/bin/device_config put activity_manager max_phantom_processes 2147483647”

adb shell settings put global settings_enable_monitor_phantom_procs false

LISTO!!! con esto debería ser suficiente para solucionar el problema.

Conectarse a Ubuntu a través de VNC viewer

En el paso anterior ejecutamos vncstart en nuestro Ubuntu. Ahora podemos minimizar Termux y conectarnos directamente desde cualquier visor de VNC, en mi caso utilizo VNC viewer.

Dirección: localhost:1
Nombre: Lo que quieras (Ubuntu Por ejemplo)
Contraseña: La que utilizaste

Te recomiendo cambiar la calidad de imagen a alta!

Listo

Ahora puedes instalar Feather Wallet sin problemas.

Instalar Feather Wallet

El último paso es instalar Feather Wallet. Como ya hemos instalado Chromium, simplmente accedemos a:
https://featherwallet.org/files/releases/linux-arm64/

Descargaremos la versión standalone ya que personalmente la appimage no me ha funcionado.

Abrimos la terminal y nos posicionamos en el mismo sitio donde hemos descargado Feather Wallet y escribimos los siguientes comandos:

chmod +x feather
./feather

SI te pide algun tipo de librería quizas sea la libxcb. Para ello instalamos:

sudo apt-get install libxcb-cursor0 sudo apt-get install libxcb-xinput0

Para descomprimir:

sudo apt-get install zip gzip tar
unzip feather-2.2.3-linux-arm64.zip