Creare il mio sistema operativo per tablet

Scrittura · 9 mar 2020

Creare il mio sistema operativo per tablet

Installare e modificare Debian GNU/Linux su Surface Go

Da qualche anno uso un tablet come computer principale, mi piace la sua versatilità. Ma la maggior parte dei tablet ha un sistema operativo chiuso, come iPadOS, Windows 10S o Android. Siccome mi piacciono le cose a modo mio (e strane), mi sono chiesto se potevo scappare da queste "prigioni software" installando un sistema operativo libero su un tablet. Si può fare: leggi e scopri come sono evaso!

Hardware: Surface Go

Se pensi di installare un altro sistema operativo su un tablet, devi assolutamente informarti sull'hardware. Non tutti i tablet si possono reinstallare con un sistema operativo diverso: alcuni hanno bootloader bloccati, chip proprietari o altri ostacoli.

Microsoft Surface Go: un tablet touch da 10" ultraportatile (con cover tastiera, penna e adattatore da USB-C a ethernet e USB 3.0)
Microsoft Surface Go: un tablet touch da 10" ultraportatile (con cover tastiera, penna e adattatore da USB-C a ethernet e USB 3.0)

Ecco Surface Go, un tablet relativamente piccolo (schermo da 10"). Ha un normale processore Intel a 64 bit, ha un bootloader che si può sbloccare e il suo hardware è ben conosciuto, perché è simile a quello del vecchio "Surface Pro 6". Un hardware più vecchio è una buona cosa se pensi ai sistemi operativi liberi. Più l'hardware è vecchio, più è probabile che qualcuno abbia trovato il modo di farlo funzionare con il software libero, come Debian GNU/Linux.

Prima l'aggiornamento!

Prima di cancellare dal tablet il sistema operativo proprietario, usalo per aggiornare il firmware. Aggiornare il firmware da qualsiasi sistema diverso da Windows è praticamente impossibile. Il nuovo firmware di Surface ha corretto molti bug e migliorato le prestazioni del tablet: non vuoi perdertelo!

Controllare gli aggiornamenti a mano con Windows Update
Controllare gli aggiornamenti a mano con Windows Update
Nota i tanti aggiornamenti del firmware: si possono installare solo da Windows
Nota i tanti aggiornamenti del firmware: si possono installare solo da Windows
Ci può volere un po' di tempo, abbi pazienza o fai delle foto :-)
Ci può volere un po' di tempo, abbi pazienza o fai delle foto :-)

Scegliere un sistema operativo

Dopo aver scelto l'hardware del tablet, devi scegliere un sistema operativo. Per vari motivi ti consiglio di scegliere un sistema operativo libero. Con il software libero sei, letteralmente, libero di farlo funzionare come preferisci. A me piace Debian, una distribuzione GNU/Linux.

Debian GNU/Linux, il sistema operativo universale
Debian GNU/Linux, il sistema operativo universale

La distribuzione Debian GNU/Linux è tra le più vecchie in circolazione. È speciale perché i suoi manutentori hanno ratificato un contratto sociale, un documento che garantisce che Debian è aperta e libera. Si può installare su quasi qualsiasi hardware, da cui lo slogan "il sistema operativo universale".

Creare una chiavetta USB avviabile

Debian si installa da una chiavetta USB avviabile. Io ho usato un altro computer per scaricare i file di installazione da https://debian.org. Devi creare un supporto di installazione per portare questi file sul tablet.

Puoi usare un altro computer per creare la chiavetta USB avviabile, io ho usato il mio ThinkPad X1
Puoi usare un altro computer per creare la chiavetta USB avviabile, io ho usato il mio ThinkPad X1

Su un altro laptop ho usato alcuni comandi da terminale per creare la chiavetta USB avviabile. Se usi Windows o Mac puoi usare altri strumenti, come Utility Disco, Rufus o unetbootin.

Avviare l'installer

Collega la chiavetta USB avviabile al tablet Surface: io ho usato un adattatore da USB-C a ethernet e USB 3.0. La connessione di rete via cavo torna utile durante l'installazione, perché Debian spesso non riesce a caricare il firmware/i driver dei chip WiFi proprietari.

Collego la chiavetta USB avviabile al tablet Surface con l'adattatore da USB-C a USB 3.0 ed ethernet
Collego la chiavetta USB avviabile al tablet Surface con l'adattatore da USB-C a USB 3.0 ed ethernet

Il modo più semplice per avviare il Surface dalla chiavetta USB è passare da "Opzioni di avvio avanzate" nelle Impostazioni di Windows: riavvia il computer e offre diverse opzioni di avvio e ripristino.

"Opzioni di avvio avanzate" nelle Impostazioni di Windows permette di usare una chiavetta USB come supporto di avvio
"Opzioni di avvio avanzate" nelle Impostazioni di Windows permette di usare una chiavetta USB come supporto di avvio
Scegli "Linpus Lite" per avviare l'installer
Scegli "Linpus Lite" per avviare l'installer

Scegli "Usa un dispositivo" e poi seleziona "Linpus lite". Con un po' di fortuna ti accoglierà il menu dell'installer di Debian GNU/Linux.

Il menu dell'installer di Debian GNU/Linux su Surface Go: io, contento
Il menu dell'installer di Debian GNU/Linux su Surface Go: io, contento

Procedi con l'installazione rispondendo a domande come la lingua che vuoi usare e il layout della tastiera. L'installer proverà a riconoscere l'hardware di rete. Purtroppo molti produttori tengono chiusi i loro driver (firmware), e così Debian non può includerli nella sua raccolta standard di software (che deve essere software libero).

Senza il firmware, l'hardware è inutilizzabile durante l'installazione
Senza il firmware, l'hardware è inutilizzabile durante l'installazione

Si possono caricare questi driver non liberi da un'altra chiavetta USB, ma per esperienza è difficile precaricare esattamente i driver che ti serviranno. La mia strategia è collegare il computer a una rete cablata durante l'installazione e occuparmi dei driver mancanti dopo. È più facile aggiungerli più tardi, se il sistema è online.

Installazione in corso: nota il cavo di rete collegato
Installazione in corso: nota il cavo di rete collegato

Interfaccia grafica

Molte app (navigare sul web, ritoccare foto, disegnare) funzionano bene solo con un'interfaccia grafica. Con il software libero hai molte opzioni. La prima scelta da fare è se vuoi un "ambiente desktop" completo o solo un "window manager".

Ambiente desktop

Un ambiente desktop ti dà un'esperienza d'uso completa, con pannelli, menu di sistema e applet di stato. Viene con il suo insieme di applicazioni (di sistema) e il suo aspetto. La maggior parte degli ambienti desktop offre una configurazione standard completa, ma molti hanno anche opzioni avanzate di personalizzazione. Guarda i loro siti, leggi i loro principi di progettazione e scegli quello che ti piace. Gli ambienti desktop più comuni per Debian sono:

Window manager

A differenza di un ambiente desktop completo, un window manager offre solo un modo per gestire le finestre delle applicazioni. Si sceglie un window manager perché è estremamente minimale, e tutto il resto va aggiunto a mano dall'utente. Se ti piace prendere le tue decisioni, un window manager può essere un buon punto di partenza per la tua interfaccia grafica. I più comuni sono:

Prenditi davvero il tempo di decidere in autonomia, perché la base dell'interfaccia grafica influisce moltissimo sull'esperienza complessiva. È una scelta personale, guidata dalle tue preferenze e dalla voglia di sistemarlo a mano. La mia scelta, visto che lo uso da anni, è il window manager Openbox insieme ad alcuni strumenti extra che ottimizzano la mia esperienza.

Ottimizzare l'esperienza

È un passo essenziale quando installi un sistema operativo libero su un computer. Dopo l'installazione, le impostazioni predefinite spesso non sono adatte al tuo hardware, alle tue preferenze e ai tuoi casi d'uso.

Queste sono alcune delle cose che ho fatto sopra al window manager Openbox:

  • Ho aggiornato la versione 'stable' standard di Debian al ramo più all'avanguardia 'unstable'. Significa che ottieni prima le nuove versioni del software, ma ogni tanto qualcosa può rompersi. A me piace il software nuovo (sono uno sviluppatore), tu potresti ripensarci.
  • Ho installato vari driver (firmware) non liberi per far funzionare tutti i componenti hardware. Debian ha una pagina dettagliata: https://wiki.debian.org/Firmware. Può servire un po' di ricerca e di analisi dei log per capire quale firmware richiede il tuo computer.
  • Ho usato gnome-network-manager e il suo applet per vedere lo stato del WiFi e collegarmi in fretta a reti wireless diverse
  • Ho installato Sound on Debian per far funzionare l'altoparlante del tablet. Controlla bene le opzioni di volume/muto prima di pensare che l'audio sia rotto (per impostazione predefinita è disattivato!)
  • Ho installato Blueman per potermi collegare a vari dispositivi Bluetooth
  • Ho usato tint2 come barra di stato, barra delle applicazioni e barra di avvio rapido (con scorciatoie alle app usate più spesso)
  • Ho creato uno script che ruota automaticamente lo schermo per ruotarne il contenuto quando ruoto il tablet
  • Ho installato tlp per migliorare drasticamente la durata della batteria
  • Ho installato Compton per ridurre molto gli 'scatti' (e rendere più fluido lo scorrimento) con il display del tablet in verticale
  • Ho installato le mie app preferite su Debian GNU/Linux: i browser Firefox e Chromium, l'app di posta/calendario/contatti Evolution, il file manager Thunar, l'emulatore di terminale XFCE-terminal, GIMP per le immagini, Inkscape per la grafica vettoriale, il client SFTP Filezilla, Libre Office, Xournal per penna/appunti
  • Ho installato onboard, una tastiera virtuale per scrivere quando la tastiera fisica è scollegata.
  • Ho applicato a mano una correzione del kernel Linux per far funzionare la Surface Pen con l'ultimo kernel Linux, e quindi ho dovuto compilare un mio kernel con la patch.
  • Ho disattivato Secure Boot per poter avviare il mio kernel Linux personalizzato
Compilazione del mio kernel Linux personalizzato
Compilazione del mio kernel Linux personalizzato
Compilare il kernel Linux su un Surface Go richiede qualche ora
Compilare il kernel Linux su un Surface Go richiede qualche ora
La tastiera virtuale 'onboard'
La tastiera virtuale 'onboard'
La penna funziona con il mio kernel Linux personalizzato e l'app Xournal
La penna funziona con il mio kernel Linux personalizzato e l'app Xournal
Uso il sistema operativo personalizzato sul tablet per creare i contenuti di questo blog
Uso il sistema operativo personalizzato sul tablet per creare i contenuti di questo blog
Leggere un articolo sul tablet in verticale
Leggere un articolo sul tablet in verticale
Il Surface Go personalizzato (a destra) usato per programmare, come faccio con un iPad Pro (a sinistra)
Il Surface Go personalizzato (a destra) usato per programmare, come faccio con un iPad Pro (a sinistra)

Conclusione

Dopo molte ore di prove e di messa a punto ho creato un'esperienza di sistema operativo per tablet che funziona. La uso per leggere, disegnare, programmare e progettare.

La sensazione di capire come funziona tutto, che si sviluppa durante questa avventura di "costruirsi il proprio sistema operativo", è incredibile, sia dal punto di vista tecnico sia da quello dell'interazione con l'utente. È un'ottima occasione per imparare e affinare le tue competenze!

Aggiornamento:

Leggi i miei articoli successivi su:

← Altri scritti