---
title: "Criar o meu próprio sistema operativo para tablet"
date: 2020-03-09
language: pt
topics: ["Freedom", "design", "experiment", "hacking", "linux", "minimal", "tablet"]
source_url: https://willem.com/pt/2020-03-09_criar-o-meu-proprio-sistema-operativo-para-tablet/
---
# 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.

![Microsoft Surface Go: um tablet de ecrã tátil de 10" ultraportátil (com capa-teclado, caneta e adaptador de USB-C para ethernet e USB 3.0)](https://willem.com/global/images/ab9c8e745c92.webp)

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!

![Verifica manualmente as atualizações com o Windows Update](https://willem.com/global/images/382661906f53.webp)

![Repara nas muitas atualizações de firmware: só as consegues instalar a partir do Windows](https://willem.com/global/images/c9eda8928a1e.webp)

![Pode demorar algum tempo: tem paciência ou tira fotografias :-)](https://willem.com/global/images/af71b0cde6d9.webp)

## 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 (https://willem.com/en/2018-07-20_helping-people-with-free-software/). Com software livre és - literalmente - livre de o fazer funcionar como quiseres. Eu gosto do Debian (https://debian.org), uma distribuição GNU/Linux.

![Debian GNU/Linux: o sistema operativo universal](https://willem.com/global/images/61767ebbcabc.webp)

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.

![Podes usar outro computador para criar uma pen USB de arranque; eu usei o meu ThinkPad X1](https://willem.com/global/images/96a301b9ec66.webp)

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 (https://rufus.ie) ou o unetbootin (http://unetbootin.github.io).

## 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 ligar a pen USB de arranque ao tablet Surface com o adaptador de USB-C para USB 3.0 e ethernet](https://willem.com/global/images/8646d08e6a22.webp)

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.

![As “Opções de arranque avançadas” nas Definições do Windows permitem usar uma pen USB como suporte de arranque ](https://willem.com/global/images/1aba81e0731b.webp)

![Escolhe “Linpus Lite” para arrancar o instalador](https://willem.com/global/images/9021f73fd09d.webp)

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.

![Menu do instalador do Debian GNU/Linux no Surface Go: eu todo contente](https://willem.com/global/images/da801a0461f7.webp)

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).

![A falta de firmware deixa o hardware inutilizável durante a instalação](https://willem.com/global/images/ab59c48e114c.webp)

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.

![Instalação em curso: repara no cabo de rede ligado](https://willem.com/global/images/d917bfda53e6.webp)

## 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 (https://wiki.debian.org/DebianUnstable)’. 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 (https://wiki.gnome.org/Projects/NetworkManager/) e o seu applet para ver o estado da WiFi e ligar-me rapidamente a diferentes redes sem fios

- Instalei o Sound_on_Debian (https://wiki.debian.org/Sound) 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 (https://packages.debian.org/sid/blueman) para me ligar a vários dispositivos Bluetooth

- Usei o tint2 (https://gitlab.com/o9000/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ã (https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu) quando rodo o tablet

- Instalei o tlp (https://linrunner.de/en/tlp/tlp.html) para melhorar drasticamente a duração da bateria

- Instalei o Compton (https://github.com/chjj/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 (https://www.mozilla.org/en/firefox) e Chromium (https://www.chromium.org/Home), a app de correio/calendário/contactos Evolution (https://wiki.gnome.org/Apps/Evolution/), o gestor de ficheiros Thunar (https://docs.xfce.org/xfce/thunar/start), o emulador de terminal XFCE-terminal (https://docs.xfce.org/apps/terminal/start), o GIMP (https://gimp.org) para manipulação de imagem, o Inkscape (https://inkscape.org) para edição de gráficos vetoriais, o Filezilla (https://filezilla-project.org) como cliente SFTP, o Libre_Office (https://www.libreoffice.org) e o Xournal (http://xournal.sourceforge.net) para caneta/notas

- Instalei o onboard (https://packages.debian.org/sid/gnome/onboard), um teclado virtual que permite escrever quando o teclado físico está desligado. 

- Apliquei manualmente_uma_correção_do_kernel_Linux (https://bugzilla.kernel.org/show_bug.cgi?id=206259) 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 (https://surfacetip.com/configuring-surface-go-uefi-bios-settings/) para o meu kernel Linux personalizado poder arrancar

![A compilar o meu kernel Linux personalizado](https://willem.com/global/images/8631db9f2712.webp)

![Compilar o kernel Linux num Surface Go demora algumas horas](https://willem.com/global/images/416d53ff1e62.webp)

![O teclado virtual ‘onboard’](https://willem.com/global/images/5a77b988dded.webp)

![A caneta funciona com o meu kernel Linux personalizado e a app Xournal](https://willem.com/global/images/126e903aa197.webp)

![A usar o sistema operativo personalizado no tablet para criar conteúdo para este blogue](https://willem.com/global/images/adba635a29f9.webp)

![A ler um artigo no tablet na vertical](https://willem.com/global/images/947d3ad6683a.webp)

![O Surface Go personalizado (à direita) usado para programar, tal como trabalho com um iPad Pro (à esquerda)](https://willem.com/global/images/df660a485a36.webp)

## 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 (https://willem.com/en/2020-08-31_free-from-the-icloud-escaping-apple-photos/), 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 (https://willem.com/en/2020-09-16_syncing-files-seamlessly-between-smartphone-and-tablet/). 

- Aperfeiçoar_o_meu_SO_de_tablet_com_o_Surface_Go_2,_i3wm_e_4G/LTE (https://willem.com/en/2020-09-28_refining-my-tablet-os-experience/)
