
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.

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!



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.

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.

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.

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.


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

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

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.

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:
- GNOME: https://www.gnome.org e https://wiki.debian.org/Gnome
- Plasma di 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
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:
- awesome: https://awesomewm.org
- Openbox: http://openbox.org/
- i3wm: https://i3wm.org
- dwm: https://dwm.suckless.org
- xmonad: https://xmonad.org
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







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:
- Come migrare e gestire la tua libreria di foto con software libero: ora uso il mio tablet "WillemOS" per farlo!
- Configurare una sincronizzazione dei file senza intoppi tra tablet e smartphone con protocolli aperti e software libero.
- Rifinire il mio sistema operativo per tablet con Surface Go 2 i3wm e 4G/LTE