¿Cómo está el panorama de sistemas operativos para smartphones? Pues según las estadísticas del International Data Corporation (IDC) Android dominaría el mercado con una cuota del 82.8%, le seguiría bastante lejos iOS con un 13.9% y luego Windows Phone con un 2.6%. El porcentaje de BlackBerry OS es minúsculo comparado con el de hace unos años, tan sólo alcanza un 0.3%. Por último, quedaría un 0.4%, suma de otros sistemas operativos. Dentro de este popurrí, una pequeña pizca se la llevarían los últimos móviles con Ubuntu. Seguramente estos porcentajes cambien un poco a lo largo de los próximos meses. Supongo que con la salida de Windows 10 para smartphones y tablets, los nuevos Lumia de gama alta (que salen en noviembre) consigan arañar un poco de cuota a Android y iOS (¿desaparecerá BlackBerry OS?). Pero en España no podemos olvidarnos de Ubuntu porque la marca BQ ya comercializa dos modelos con este sistema operativo: el BQ Aquaris E4.5 y el nuevo BQ Aquaris E5 HD.
Los más puristas del software libre rechazarían Ubuntu Phone por usar vanilla linux (el kernel estándar que incluye algunos drivers privativos), por las aplicaciones propietarias que se pueden encontrar en la tienda de aplicaciones o por el software con marca propietaria de Mozilla (recordad que los programas que desarrolla Mozilla como Firefox o Thunderbird son libres pero no los son las marcas registaradas).
En esta entrada me centraré exclusivamente en la instalación, en particular en la instalación en un Nexus 4 aunque supongo que el procedimiento será muy similar (si no igual) en los demás móviles compatibles. Lo primero que tenemos que tener claro es que instalar Ubuntu no es como instalar una app. Vamos a flashear la memoría de nuestro móvil así que perderemos todas las aplicaciones, configuraciones y datos por lo cual debemos hacer una copia de seguridad antes de toquetear nada. Lo más fácil es usar adb para hacer una copia completa y poder restaurar luego nuestro Android. Pero si luego vais a aprovechar para reinstalar Cyanogenmod u otra ROM podéis hacer una copia sin más de las fotos y demás documentos que queráis conservar y listo. Eso ya depende de vosotros. Para hacer la copia completa necesitamos instalar la herramienta adb (en Chakra podríamos hacer ccr -S adb) y habilitar el USB debugging en el móvil (si no sabéis cómo se hace esto, en unos párrafos más abajo lo explico. Echadle un ojo y luego volved aquí.). Esta herramienta la vamos a utilizar luego así que aunque no queráis hacer la copia de seguridad completa, instaladla. Conectaríamos el móvil por usb al ordenador y comprobaríamos que está disponible en adb con el siguiente comando:
$ adb devices
Deberíais ver vuestro dispositivo. Si tenéis algún problema por estos pasos dejad un comentario a ver si os puedo ayudar. Luego para hacer la copia de seguridad bastaría con ejecutar el siguiente comando:
$ adb backup -apk -shared -all
En el móvil saldría una ventana pidiendo confirmación y ofreciéndonos la posibilidad de cifrar la copia con una contraseña. Todos los datos se almacenan en el archivo backup.ab, que para los más curiosos es un archivo comprimido TAR con el algoritmo DEFLATE y con una capa AES si decidiéramos cifrarlo. En la web de Ubuntu también recomiendan anotar algunos datos de nuestro móvil antes de continuar. En realidad, si ya has instalado otras ROMs antes sabrás de sobra las imágenes que tendrás que descargar si quieres volver a Android, así que este paso podríamos omitirlo. De todas formas aquí os lo dejo. Los siguientes comandos nos mostarían el tipo de imagen, el tipo de dispositivo y la ID de la build que tenemos instalada.
$ adb shell grep ro.product.name /system/build.prop $ adb shell grep build.id /system/build.prop $ adb shell grep ro.product.device /system/build.prop
Si tenéis algún recovery instalado en vuestro móvil (TWRP, por ejemplo) otra opción es hacer una copia de seguridad completa con la herramienta de backup que incluye el propio recovery. Esto es lo más práctico si después de probar Ubuntu queréis recuperar el teléfono exáctamente como lo dejasteis. Aunque también es verdad que si venís de una ROM oficial de Google y no tenéis el bootloader desbloqueado, esta opción no está disponible para vosotros.
Para instalar el nuevo sistema operativo utilicé una máquina virtual en VirtualBox con Ubuntu 15.04. Instalar esta máquina virtual no debería llevaros demasiado tiempo ni causaros muchos problemas, aunque de nuevo si tenéis alguna duda dejad un comentario e intentaré ayudaros. Tras instalar y actualizar Ubuntu, lo siguiente será instalar algunos paquetes que vamos a necesitar.
$ sudo apt-get install android-tools-adb android-tools-fastboot ubuntu-device-flash
Si estás usando Ubuntu ya estarías listo pero si, como yo, estás usando una máquina virtual antes vamos a instalar las guest additions para poder compartir el usb sin problemas. No necesitamos usar el instalador que incluye VirtualBox, sino que podemos utilizar el gestor de paquetes de Ubuntu:
$ sudo apt-get install virtualbox-guest-x11 virtualbox-guest-dkms virtualbox-guest-utils
Bueno, a partir de ahora voy a suponer que ya tenemos una máquina virtual con Ubuntu actualizada, con las herramientas de android instaladas y con la capacidad de compartir los dispositivos usb. Antes de iniciar Ubuntu vamos a las opciones USB. Conectamos el móvil al ordenador y habilitamos la depuración por adb. Para hacer esto tenemos que acceder a las opciones de desarrollo. Si no os aparece esta entrada en el menú de ajustes, antes tenéis que entrar en “Información del teléfono”, bajar hasta el “Número de compilación” y pulsar encima siete veces. De esta forma habilitaréis las opciones de desarrollo (no toqueéis cosas en ese menú si no sabéis lo que hacéis). Muy bien, pues ahora en el menú de VirtualBox añadiríamos un filtro usb seleccionando nuestro móvil, que debería estar visible. Pero aún tenemos que añadir un filtro más. Durante la instalación de Ubuntu, el móvil pasará de este modo (adb) a otro que se llama fastboot y este filtro no servirá, así que lo que vamos a hacer es acceder al bootloader y crear un filtro para este otro modo. Abrimos una terminal y usamos el comando que puse antes para ver los dispositivos conectados (adb devices). Si antes lo visteis para crear la copia de seguridad, ahora debería seguir visible. Ahora le decimos al móvil que se reinicie en el modo bootloader:
$ adb reboot bootloader
Volvemos al menú de VirtualBox y añadimos un segundo filtro. En la captura podéis ver cómo me quedó a mí. Los nombres pueden variar de un dispositivo a otro, pero es importante tener los dos filtros activados. Ahora desconectamos el móvil del ordenador y arrancamos la máquina virtual. Una vez termine de arrancar Ubuntu volvemos a conectar el cable usb. Ya estamos listos para iniciar la instalación. Abrimos una terminal y escribimos el siguiente comando:
$ ubuntu-device-flash touch --channel=ubuntu-touch/devel/ubuntu --bootstrap
El proceso de instalación empieza de inmediato, primero descargando todo lo que necesita y luego ya instalando las imágenes en el móvil. Debemos permanecer atentos al proceso de instalación y si vemos que en algún momento se detiene ir al menú de dispositivos compartidos por usb del VirtualBox (con la máquina arrancada podemos acceder al menú en la parte inferior de la pantalla) y seleccionar nuestro dispositivo. A pesar de haber establecido los filtros, a veces falla el montaje automático (de las tres veces que instalé Ubuntu en el móvil me paso en dos ocasiones). Otra cosa importante es no toquetear nada en el móvil durante la instalación. Prácticamente desde el principio, el móvil pasará del bootloader al recovery de Ubuntu donde podremos movernos con los botones del volumen. Si seleccionamos “Reboot system” pensando que la instalación ha finalizado, la instalación fallará y tendremos que empezar de nuevo (me pasó la primera vez).
Si os fijáis, en el comando de instalación que os puse hay una opción para escoger el channel de instalación. Básicamente hay dos ahora mismo, el estable y el de desarrollo. Yo opté por el segundo porque el estable me dio más problemas. Es un sistema operativo en pleno desarrollo así que el canal stable no va a ser precisamente estable. Aún así, si queréis usar el otro canal sólo tendríais que cambiar “devel” por “stable”.
No hay demasiada documentación ni entradas en otros blogs acerca de la instalación de este sistema operativo. En algún sitios incluso podréis leer que es necesario realizar la instalación desde Android KitKat 4.4.4 de Google o la instalación fallará. Eso no es verdad, yo probé desde la ROM de Google Lollipop 5.1.1, también desde KitKat 4.4.4 y desde Cyanogenmod 12.1 basada en 5.1.1 y en ningún caso tuve problemas. En realidad, si lo pensamos, no debería importar la ROM que tenemos instalada porque en el proceso de instalación se borra todo.
En la siguiente entrada os comentaré un poco qué me ha parecido este sistema operativo, las apps que os podéis encontrar y los famosos scopes que introduce Ubuntu. Espero que con esta entrada os haya aclarado un poco el proceso de instalación. Si os animáis a probar Ubuntu Phone, comentad qué tal fue la instalación y vuestras primeras impresiones
+ Ubuntu Phone