Mi teléfono, Herramienta de doble filo...

Los dispositivos móviles se han convertido en una herramienta del día a día en la que compartimos mucha (por no decir que toda) información, esta información se puede catalogar en información sensible y no. Los desarrolladores de dispositivos móviles han diseñado tecnologías de software robustas y complejas que hoy en día se encuentran instaladas sobre nuestros teléfonos y de alguna manera "lo controlan todo"

Android es un buen ejemplo de estos Sistemas Operativos embebidos en nuestros dispositivos móviles.

Cuando Google libera una nueva versión de nuestro sistema Android, este se encuentra bajo algunas normatividades descritas por ellos ya que son una entidad que se encuentran bajo reglas gubernamentales y políticas de usuarios.

Siempre que adquirimos un dispositivo nuevo, independientemente del fabricante de hardware, este trae instalada una versión del Sistema Operativo Android que tambien ha sido modificada por el fabricante con una adicción de software brindada por ellos mismos un ejemplo de esto es Samsung y sus aplicaciones...

El mismo cuento se repite con nuestro operador de telefonia local, el cual tambien modifica el sistema y anexa software.

Todas estas entidades como Google, El fabricante de Hardware y nuestro operador de telefonía invaden nuestra privacidad instalando aplicaciones que posiblemente nos espían y nos controlan.

pensemos en el día que por nuestro dispositivo móvil, podamos ser rastreados durante 6 meses por una entidad gubernamental en la cual usa toda la evidencia de tu movimiento tomada durante ese periodo para acusarte de algún crimen. asi como fue hackeado el Iphone de una persona para ser capturada

Las comunidades desarrolladoras independientes han forkeado el repositorio de android y lo han limpiado de alguna manera de mucho software que posiblemente nunca usemos en nuestros teléfonos y realicen operaciones indebidas.

Con esta idea nace el proyecto LineageOS es cual es la versión Open source del proyecto Android libre de software no deseado.

LineageOS es el nuevo nombre del Sistema Operativo Cyanogenmod, no siendo mas que un renombre al proyecto y el desarrollo de las nuevas versiones.

Conociendo mi sistema.

Alerta!

Todo el software descrito a continuación es totalmente libre, si no te gusta no lo uses pero eso si, no lo critiques tampoco ya que no estas contribuyendo de ninguna manera a su desarrollo...

Sobre este post vamos a revisar el proceso de instalación de nuestro Sistema Operativo sobre nuestro dispositivo móvil, actualizando desde su Recovery hasta la versión del sistema Operativo Utilizado.

Herramientas

Hardware

  • SmartPhone Xiaomi Redmi 2 Pro (wt88047)
  • Laptop LG 13Z940 con
  • Cable USB

Software

Para SmartPhone
  • LineageOS nightly 14.1
  • Recovery TWRP
  • OpenGapps
  • su
  • SuperUser (Administrador de Su)
  • BusyBox
  • Bash

Para Laptop

  • Sistema Operativo Deepin 15.04 Desktop Basado en Debían GNU/Linux con versión de Kernel 4.9.0 para arquitectura X64
  • fastboot
  • adb

Descargando aplicaciones

Descargaremos el paquete de aplicaciones que utilizaremos para configurar nuestro dispositivo.

Creamos un directorio de trabajo sobre nuestro directorio principal o en algún lugar de nuestro sistema al cual podamos acceder.

# mkdir XiaomiRedmi2Pro && cd XiaomiRedmi2Pro

LineageOs 14.1 nightly

accedemos vía web a la URL donde actualmente se encuentra el sistema en su ultima versión https://download.lineageos.org/wt88047

copiamos la url de enlace al zip que contiene nuestro sistema operativo

lo descargamos sobre el directorio de trabajo

# wget https://mirrorbits.lineageos.org/full/wt88047/20170630/lineage-14.1-20170630-nightly-wt88047-signed.zip

TWRP 3.1.1-0 (wt88047)

Accedemos vía web a la URL https://dl.twrp.me/wt88047/ desde la cual descargaremos la imagen de nuestro Recovery y la copiamos.

descargamos la imagen del recovery sobre el directorio de trabajo

# wget https://dl.twrp.me/wt88047/twrp-3.1.1-0-wt88047.img.html

OpenGapps

Descargamos el paquete pico de aplicaciones de google el cual proveerán el correcto funcionamiento del dispositivo, URL: http://opengapps.org/

Configuracion:

  • Plataforma: ARM
  • Android: 7.1
  • Variante: Pico
  • Aplicaciones Instaladas:

movemos el archivo descargado sobre el directorio de trabajo

# mv ../../Downloads/open_gapps-arm-7.1-pico-20170707.zip .

Rooteando el teléfono
SU

Accedemos a la web desde donde descargaremos el paquete necesario para nuesta arquitectura.
https://download.lineageos.org/extras

Bajamos el archivo al directorio local

# wget https://mirrorbits.lineageos.org/su/addonsu-14.1-arm-signed.zip 

Configurando el entorno

Para poder trabajar sobre el dispositivo, vamos a utilizar dos herramientas base, el cual son FastBoot y ADB.

Con estas dos herramientas, podremos administrar todo nuestro dispositivo logrando realizar el trabajo requerido.

Instalando herramientas

fastboot y adb desde los repositorios de nuestra distribución.

# sudo apt-get update && sudo apt-get install fastboot adb

Y LOS DRIVERS????????

+1para linux: El Kernel Linux en su estructura interna, se puede decir que contiene "todos los drivers del mundo" por esto no es necesario instalar controladores para poder conectarse al dispositivo y realizar las operaciones necesarias, estándares abiertos de hardware son totalmente soportados en su estructura, ya que los fabricantes de la tecnología de hardware que existe sobre el desarrollador Xiaomi liberan de alguna manera sus componentes y controladores de hardware siendo posible que los que construyen el kernel linux puedan anexar su debido driver a su Nucleo y ser cargado al detectar el dispositivo en una conexión USB.

Instalación

Montando el Recovery.

TWRP es la versión del Recovery escogida para ser instalada sobre este teléfono, ya que tiene un soporte directo para este modelo de hardware y es totalmente libre.

Activamos FastBoot sobre nuestro dispositivo presionando VolumenAbajo + BotonEncendido durante 3 segundos, encenderá e indicara el modo de conexión.

Conectamos nuestro el dispositivo por USB directamente a la Laptop y verificamos la conexión de este sobre nuestro GNU/Linux

# sudo dmesg

listamos los dispositivos USB conectados y verificamos la conexión vía FastBoot con este.

# lsusb -v

Ejecutamos fastboot previamente instalado consultando la existencia de algún dispositivo

# sudo fastboot devices

una vez detectado el dispositivo, podemos montar el recovery temporalmente en memoria y ejecutarlo para comprobar la correcta ejecución de este sobre el teléfono.

# sudo fastboot boot twrp-3.1.1-0-wt88047.img

si todo ha sido correcto, cargara temporalmente el recovery.

Confirmado que funciona, el paso siguiente sera plasmarlo en memoria flasheando el dispositivo, lo reiniciamos en modo fastboot o bootlader de nuevo y repetimos el siguiente comando.

# sudo fastboot flash recovery twrp-3.1.1-0-wt88047.img

Apagamos el dispositivo y lo reiniciamos en modo Recovery pulsando la mismo tiempo las teclas VolumenArriba + VolumenAbajo + BotonEncendido y evidenciamos que arranca correctamente.

Apagamos el dispositivo de nuevo.

Sobre una microSD vamos a copiar los archivos pertenecientes al Sistema Operativo, OpenGapps y el binario de SU.
confirmamos el directorio de la MemoriaSD instalada

# df -h

pasamos los archivos descargados al directorio adecuado

# cp lineage-14.1-20170630-nightly-wt88047-signed.zip open_gapps-arm-7.1-pico-20170707.zip addonsu-14.1-arm-signed.zip /media/heberth/MICROSD/

Extraemos la memoria de forma segura y la montamos sobre el dispositivo

Iniciamos el teléfono nuevamente en modo Recovery pulsando las tres teclas,
lo desbloqueamos e ingresamos a la opción Limpiar o Wipe, Seleccionamos todo menos MicroSDCard ni USB-OTG

Nos devolvemos al inicio de la aplicación y montamos el sistema Operativo almacenado previamente en la memoria microSD











Reiniciamos el equipo y confirmamos que el Sistema Operativo arranque sin problema.






Podemos habilitar la terminal y revisar el kernel instalado sobre el sistema.

Al montar este sistema sobre nuestro teléfono, logramos sentir la fluidez de este sobre el hardware ya que no ejecuta muchas aplicaciones en memoria.
Esperamos que esta documentación sea útil para entender el funcionamiento de Linux bajo los dispositivos móviles.