Mar. 9, 2020

Creando mi propio sistema operativo para tablets

Instalación y modificación de Debian GNU/Linux en Surface Go

Desde hace algunos años utilizo una tableta como ordenador principal, me gusta su versatilidad. Pero, la mayoría de las tabletas vienen con un sistema operativo bloqueado, como iPadOS, Windows 10S o Android. Como me gustan las cosas a mi manera (rara), me pregunté si podría escapar de estas "cárceles de software" instalando un sistema operativo libre en una tableta. Es posible, ¡sigue leyendo para descubrir cómo escapé!

Hardware: Surface Go

Si estás considerando instalar otro sistema operativo en una tableta, definitivamente deberías investigar sobre el hardware de la tableta. No todas las tabletas se pueden reinstalar con un sistema operativo personalizado, algunas tienen cargadores de arranque bloqueados, chips propietarios u otros obstáculos.

Microsoft Surface Go - una tableta ultraportátil con pantalla táctil de 10
Microsoft Surface Go - una tableta ultraportátil con pantalla táctil de 10" (con teclado, lápiz y adaptador de USB-C a ethernet y USB 3.0)

Conoce la Surface Go, es una tableta relativamente pequeña (pantalla de 10"). Tiene un procesador Intel de 64 bits "normal", tiene un cargador de arranque que se puede desbloquear y su hardware es bien conocido, ya que es similar a la antigua "Surface Pro 6". El hardware antiguo es algo bueno si estás pensando en sistemas operativos libres. Cuanto más antiguo se vuelve el hardware, mayor es la probabilidad de que la gente haya encontrado maneras de hacerlo funcionar con software libre, como Debian GNU/Linux.

¡Actualizar primero!

Antes de borrar el sistema operativo propietario de la tableta, debes usarlo para actualizar el firmware. Actualizar el firmware desde cualquier cosa que no sea Windows es virtualmente imposible. El nuevo firmware para la Surface corrigió muchos errores y mejoró el rendimiento de la tableta; ¡no querrás perderte esto!

Comprobar actualizaciones manualmente usando Windows Update
Comprobar actualizaciones manualmente usando Windows Update
Tenga en cuenta las numerosas actualizaciones de firmware, solo puede instalarlas desde Windows
Tenga en cuenta las numerosas actualizaciones de firmware, solo puede instalarlas desde Windows
Puede llevar algún tiempo, sea paciente o tome fotos :-)
Puede llevar algún tiempo, sea paciente o tome fotos :-)

Elegir un sistema operativo

Una vez que hayas seleccionado el hardware de la tableta, debes elegir un sistema operativo. Por varias razones, te recomiendo que consideres elegir un sistema operativo libre. Con el software libre eres, literalmente, libre de hacerlo funcionar como quieras. Me gusta Debian, una distribución GNU/Linux.

Debian GNU/Linux - El sistema operativo universal
Debian GNU/Linux - El sistema operativo universal

La distribución Debian GNU/Linux se encuentra entre las distribuciones más antiguas disponibles. Es especial porque sus mantenedores han ratificado un contrato social, un documento que proporciona garantías de que Debian es abierto y libre. Se puede instalar en casi cualquier hardware, de ahí su lema "el sistema operativo universal".

Crear una memoria USB de arranque

La instalación de Debian se realiza mediante una memoria USB de arranque. Utilicé otra computadora para descargar los archivos de instalación desde https://debian.org. Debes crear un medio de instalación para llevar estos archivos de instalación a la tableta.

Puede usar otro ordenador para crear una memoria USB de arranque, yo usé mi ThinkPad X1
Puede usar otro ordenador para crear una memoria USB de arranque, yo usé mi ThinkPad X1

En otra computadora portátil, utilicé algunos comandos de terminal para crear la unidad USB de arranque. Si estás en Windows o Mac, puedes usar otras herramientas para realizar esta tarea, como la Utilidad de Discos, Rufus o unetbootin.

Iniciar el instalador

Conecta la unidad USB de arranque a la tableta Surface; yo utilicé un adaptador de USB-C a ethernet y USB 3.0. La conexión de red cableada es útil durante la instalación porque Debian a menudo no puede cargar el firmware/controladores para los chips WiFi propietarios.

Conectando la unidad USB de arranque a la tableta Surface usando el adaptador de USB-C a USB 3.0 y ethernet
Conectando la unidad USB de arranque a la tableta Surface usando el adaptador de USB-C a USB 3.0 y ethernet

La forma más fácil de arrancar la tableta Surface desde la unidad USB es a través de "Opciones de inicio avanzadas" en la Configuración de Windows; reiniciará tu computadora y te ofrecerá diferentes opciones de arranque y recuperación.

"Opciones de inicio avanzadas" desde la Configuración de Windows le permite usar una unidad USB como medio de arranque
Elija
Elija "Linpus Lite" para arrancar el instalador

Elige "Usar un dispositivo" y luego selecciona "Linpus lite". Con un poco de suerte, serás recibido con el menú del instalador de Debian GNU/Linux.

Menú del instalador de Debian GNU/Linux en Surface Go - yo feliz
Menú del instalador de Debian GNU/Linux en Surface Go - yo feliz

Continúa con la instalación respondiendo preguntas como el idioma que deseas usar y la distribución del teclado que tienes. El instalador intentará reconocer tu hardware de red. Desafortunadamente, muchos proveedores mantienen los controladores de sus dispositivos (firmware) cerrados, lo que hace imposible que Debian los incluya con su colección estándar de software (que debe ser software libre).

La falta de firmware hace que el hardware no se pueda usar durante la instalación
La falta de firmware hace que el hardware no se pueda usar durante la instalación

Aunque es posible cargar estos controladores de dispositivos no libres desde (otra) unidad USB, mi experiencia es que es difícil precargar exactamente los controladores de dispositivos que necesitarás. Mi estrategia es conectar la computadora a una conexión de red cableada durante la instalación y preocuparme por los controladores faltantes después. Es más fácil agregarlos más tarde si tu sistema está en línea.

Interfaz gráfica de usuario

Muchas aplicaciones (navegación web, edición de fotos, dibujo) solo funcionan bien a través de una interfaz gráfica de usuario. Puedes elegir entre muchas opciones diferentes si usas software libre. La primera decisión que debes tomar es si deseas un "entorno de escritorio" completo o solo un "gestor de ventanas".

Entorno de Escritorio

Un entorno de escritorio te brinda una experiencia de usuario general, que incluye paneles, menús del sistema y applets de estado. Viene con su propio conjunto de aplicaciones (del sistema) y apariencia. Si bien la mayoría de los entornos de escritorio ofrecen una configuración estándar completa, muchos de ellos ofrecen opciones avanzadas de personalización. Consulta sus sitios web, lee sobre sus principios de diseño y elige algo que te guste. Los entornos de escritorio comunes para Debian son:

Gestor de Ventanas

A diferencia de un entorno de escritorio completo, un gestor de ventanas solo proporciona una forma de administrar las ventanas de las aplicaciones. Los gestores de ventanas se eligen porque son extremadamente mínimos y requieren que el usuario agregue manualmente todos los extras. Si te gusta tomar tus propias decisiones, elegir un gestor de ventanas podría ser un buen punto de partida para tu interfaz gráfica de usuario. Los más comunes son:

Realmente deberías tomarte tu tiempo para tomar tu propia decisión, ya que elegir la base para la interfaz gráfica de usuario tiene un gran impacto en la experiencia general. Es una elección personal, impulsada por las preferencias y tu disposición a ajustarla manualmente. Mi elección, porque tengo años de experiencia con él, es usar el gestor de ventanas Openbox en combinación con algunas herramientas adicionales que optimizan mi experiencia.

Optimizando la experiencia

Este es un paso esencial cuando instalas un sistema operativo libre en una computadora. Después de la instalación, la configuración predeterminada a menudo no se adapta a tu hardware, preferencias y casos de uso específicos.

Estas fueron algunas de las cosas que hice además del gestor de ventanas Openbox:

Instalación en curso - observe el cable de red conectado
Instalación en curso - observe el cable de red conectado
Compilando mi kernel de Linux personalizado
Compilando mi kernel de Linux personalizado
Compilar el kernel de Linux en una Surface Go lleva algunas horas
Compilar el kernel de Linux en una Surface Go lleva algunas horas
El teclado virtual 'integrado'
El teclado virtual 'integrado'
La entrada con lápiz funciona usando mi kernel de Linux personalizado y la aplicación Xournal
La entrada con lápiz funciona usando mi kernel de Linux personalizado y la aplicación Xournal
Usando el sistema operativo personalizado en la tableta para crear contenido para este blog
Usando el sistema operativo personalizado en la tableta para crear contenido para este blog
Leyendo un artículo en mi tableta en modo vertical
Leyendo un artículo en mi tableta en modo vertical

Conclusión

Después de muchas horas de experimentación y ajuste, creé una experiencia de sistema operativo para tableta que funciona. Puedo usarla para leer, dibujar, programar y diseñar.

La sensación de comprensión que desarrollarás durante todo el proceso de "construir tu propio sistema operativo" es increíble, tanto desde una perspectiva técnica como de interacción del usuario. ¡Es una gran oportunidad para aprender y perfeccionar tus habilidades!

Actualización:

Lee mis publicaciones de seguimiento sobre: