
Escrita · 9 mar 2020
Criar o meu próprio sistema operativo para tablet
Instalar e personalizar o Debian GNU/Linux no Surface Go
Há alguns anos que uso um tablet como computador principal, porque gosto da sua versatilidade. Mas a maioria dos tablets vem com um sistema operativo fechado, como o iPadOS, o Windows 10S ou o Android. Como gosto de fazer as coisas à minha (estranha) maneira, perguntei-me se conseguia fugir a estas “prisões de software” instalando um sistema operativo livre num tablet. É possível! Lê até ao fim para saberes como escapei!
Hardware: Surface Go
Se estás a pensar instalar outro sistema operativo num tablet, deves mesmo pesquisar primeiro sobre o hardware. Nem todos os tablets podem ser reinstalados com um sistema operativo à medida: alguns têm bootloaders bloqueados, chips proprietários ou outros obstáculos.

Apresento-te o Surface Go, um tablet relativamente pequeno (ecrã de 10"). Tem um processador Intel “normal” de 64 bits, tem um bootloader que se pode desbloquear e o seu hardware é bem conhecido, por ser semelhante ao do antigo “Surface Pro 6”. Hardware mais antigo é uma coisa boa quando se pensa em sistemas operativos livres. Quanto mais velho o hardware, maior a probabilidade de alguém já ter descoberto como o fazer funcionar com software livre, como o Debian GNU/Linux.
Primeiro, atualiza!
Antes de apagares o sistema operativo proprietário do tablet, deves usá-lo para atualizar o firmware. Atualizar o firmware a partir de outra coisa que não o Windows é praticamente impossível. O novo firmware do Surface corrigiu muitos erros e melhorou o desempenho do tablet: não queres perder isto!



Escolher um sistema operativo
Depois de escolheres o hardware do tablet, tens de escolher um sistema operativo. Por várias razões, recomendo que consideres escolher um sistema operativo livre. Com software livre és - literalmente - livre de o fazer funcionar como quiseres. Eu gosto do Debian, uma distribuição GNU/Linux.

A distribuição Debian GNU/Linux é das mais antigas que existem. É especial porque os seus responsáveis ratificaram um contrato social, um documento que garante que o Debian é aberto e livre. Pode ser instalado em quase todo o hardware, daí o seu slogan “o sistema operativo universal”.
Criar uma pen USB de arranque
O Debian instala-se a partir de uma pen USB de arranque. Usei outro computador para transferir os ficheiros de instalação de https://debian.org. Tens de criar um suporte de instalação para levar esses ficheiros até ao tablet.

Noutro portátil usei alguns comandos de terminal para criar a pen USB de arranque. Se usas Windows ou Mac, podes usar outras ferramentas para este trabalho, como o Utilitário de Discos, o Rufus ou o unetbootin.
Iniciar o instalador
Liga a pen USB de arranque ao tablet Surface; eu usei um adaptador de USB-C para ethernet e USB 3.0. A ligação de rede por cabo dá jeito durante a instalação, porque o Debian muitas vezes não consegue carregar o firmware/os controladores dos chips de WiFi proprietários.

A forma mais fácil de arrancar o tablet Surface a partir da pen USB é através das “Opções de arranque avançadas” nas Definições do Windows, que reiniciam o computador e oferecem diferentes opções de arranque e recuperação.


Escolhe “Utilizar um dispositivo” e depois seleciona “Linpus lite”. Com um pouco de sorte, serás recebido pelo menu do instalador do Debian GNU/Linux.

Avança com a instalação respondendo a perguntas como a língua que queres usar e a disposição do teclado. O instalador tentará reconhecer o teu hardware de rede. Infelizmente, muitos fabricantes mantêm os seus controladores (firmware) fechados, o que impede o Debian de os incluir na sua coleção normal de software (que tem de ser software livre).

Embora seja possível carregar esses controladores não livres a partir de (outra) pen USB, na minha experiência é difícil pré-carregar exatamente os controladores de que vais precisar. A minha estratégia é ligar o computador a uma rede por cabo durante a instalação e preocupar-me com os controladores em falta depois. É mais fácil acrescentá-los mais tarde se o sistema estiver online.

Interface gráfica
Muitas apps (navegação na web, edição de fotografias, desenho) só funcionam bem através de uma interface gráfica. Com software livre tens muitas opções à escolha. A primeira decisão é se queres um “ambiente de trabalho” completo ou apenas um “gestor de janelas”.
Ambiente de trabalho
Um ambiente de trabalho dá-te uma experiência de utilização completa, com painéis, menus de sistema e applets de estado. Vem com o seu próprio conjunto de aplicações (de sistema) e com o seu aspeto e comportamento. Embora a maioria dos ambientes de trabalho ofereça uma configuração padrão completa, muitos têm opções avançadas de personalização. Vê os seus sites, lê sobre os seus princípios de design e escolhe algo de que gostes. Ambientes de trabalho comuns no Debian são:
- GNOME: https://www.gnome.org e https://wiki.debian.org/Gnome
- Plasma da KDE: https://kde.org/plasma-desktop e https://wiki.debian.org/KDE
- XFCE: https://xfce.org e https://wiki.debian.org/Xfce
- LXDE: https://lxde.org e https://wiki.debian.org/LXDE
- MATE: https://mate-desktop.org e https://wiki.debian.org/MATE
Gestor de janelas
Ao contrário de um ambiente de trabalho completo, um gestor de janelas limita-se a gerir as janelas das aplicações. Escolhem-se por serem extremamente minimalistas, exigindo que todos os extras sejam acrescentados manualmente pelo utilizador. Se gostas de tomar as tuas próprias decisões, um gestor de janelas pode ser um bom ponto de partida para a tua interface gráfica. Os mais comuns são:
- awesome: https://awesomewm.org
- Openbox: http://openbox.org/
- i3wm: https://i3wm.org
- dwm: https://dwm.suckless.org
- xmonad: https://xmonad.org
Deves mesmo dar-te tempo para decidir, porque a escolha da base da interface gráfica influencia muito toda a experiência. É uma escolha pessoal, guiada pelas preferências e pela tua vontade de a ajustar à mão. A minha escolha, porque tenho anos de experiência com ele, é usar o gestor de janelas Openbox em combinação com algumas ferramentas extra que otimizam a minha experiência.
Otimizar a experiência
Este é um passo essencial quando instalas um sistema operativo livre num computador. Depois da instalação, as predefinições muitas vezes não estão adaptadas ao teu hardware, às tuas preferências e aos teus casos de uso.
Estas foram algumas das coisas que fiz por cima do gestor de janelas Openbox:
- Atualizei a versão “stable” padrão do Debian para o ramo mais recente, o ‘unstable’. Isto significa que recebes versões novas do software mais depressa, mas por vezes as coisas podem avariar. Eu gosto de software novo (sou programador); tu talvez prefiras repensar.
- Instalei vários controladores (firmware) não livres para pôr todos os componentes de hardware a funcionar; o Debian tem uma página detalhada sobre isto: https://wiki.debian.org/Firmware. Pode exigir alguma pesquisa e análise de registos para descobrir que firmware o teu computador requer.
- Usei o gnome-network-manager e o seu applet para ver o estado da WiFi e ligar-me rapidamente a diferentes redes sem fios
- Instalei o Sound on Debian para pôr a funcionar o altifalante do tablet. Verifica as opções de volume/silêncio antes de achares que o teu sistema de áudio está avariado (por predefinição está silenciado!)
- Instalei o Blueman para me ligar a vários dispositivos Bluetooth
- Usei o tint2 como barra de estado, barra de tarefas e barra de lançamento rápido (com atalhos para as apps mais usadas)
- Criei um script que roda automaticamente o ecrã quando rodo o tablet
- Instalei o tlp para melhorar drasticamente a duração da bateria
- Instalei o Compton para reduzir muito os soluços (e deixar tudo mais fluido) ao deslocar o conteúdo com o ecrã do tablet na vertical
- Instalei as minhas apps preferidas no Debian GNU/Linux: os navegadores Firefox e Chromium, a app de correio/calendário/contactos Evolution, o gestor de ficheiros Thunar, o emulador de terminal XFCE-terminal, o GIMP para manipulação de imagem, o Inkscape para edição de gráficos vetoriais, o Filezilla como cliente SFTP, o Libre Office e o Xournal para caneta/notas
- Instalei o onboard, um teclado virtual que permite escrever quando o teclado físico está desligado.
- Apliquei manualmente uma correção do kernel Linux para a Surface Pen funcionar com o kernel Linux mais recente, o que me obrigou a compilar o meu próprio kernel com a correção.
- Desativei o Secure Boot para o meu kernel Linux personalizado poder arrancar







Conclusão
Depois de muitas horas de experiências e afinações, criei uma experiência de sistema operativo para tablet que funciona. Consigo usá-lo para ler, desenhar, programar e fazer design.
A sensação de compreensão que desenvolves durante todo este processo de “constrói o teu próprio SO” é incrível, tanto do ponto de vista técnico como da interação com o utilizador. É uma ótima oportunidade para aprender e afiar as tuas competências!
Atualização:
Lê os meus artigos seguintes sobre:
- Como migrar e gerir a tua biblioteca de fotografias com software livre, que agora faço com o meu tablet “WillemOS”!
- Configurar uma sincronização de ficheiros perfeita entre o tablet e o smartphone com protocolos abertos e software livre.
- Aperfeiçoar o meu SO de tablet com o Surface Go 2, i3wm e 4G/LTE