---
title: "Fabriquer mon propre système d'exploitation pour tablette"
date: 2020-03-09
language: fr
topics: ["Freedom", "design", "experiment", "hacking", "linux", "minimal", "tablet"]
source_url: https://willem.com/fr/2020-03-09_fabriquer-mon-propre-systeme-d-exploitation-pour-tablette/
---
# Fabriquer mon propre système d'exploitation pour tablette

*Installer et personnaliser Debian GNU/Linux sur la Surface Go*

> Depuis quelques années, j'utilise une tablette comme ordinateur principal : j'aime sa polyvalence. Mais la plupart des tablettes sont livrées avec un système d'exploitation verrouillé, comme iPadOS, Windows 10S ou Android. Comme j'aime faire les choses à ma façon (un peu bizarre), je me suis demandé si je pouvais échapper à ces « prisons logicielles » en installant un système d'exploitation libre sur une tablette. C'est possible, lis la suite pour savoir comment je me suis évadé !

## Le matériel : Surface Go

Si tu envisages d'installer un autre système d'exploitation sur une tablette, tu dois absolument te renseigner sur le matériel. Toutes les tablettes ne se laissent pas réinstaller avec un système personnalisé : certaines ont un bootloader verrouillé, des puces propriétaires ou d'autres obstacles.

![Microsoft Surface Go : une tablette tactile ultraportable de 10 pouces (avec clavier, stylet et adaptateur USB-C vers Ethernet et USB 3.0)](https://willem.com/global/images/ab9c8e745c92.webp)

Voici la Surface Go, une tablette relativement petite (écran de 10 pouces). Elle a un processeur Intel 64 bits « normal », un bootloader qu'on peut déverrouiller, et son matériel est bien connu, car il ressemble à celui de la « Surface Pro 6 », plus ancienne. Un matériel ancien, c'est *une bonne chose* si tu penses aux systèmes d'exploitation libres. Plus le matériel vieillit, plus il y a de chances que des gens aient trouvé comment le faire fonctionner avec des logiciels libres, comme Debian GNU/Linux.

## D'abord, la mise à jour !

Avant d'effacer le système propriétaire de la tablette, utilise-le pour mettre à jour le firmware. Mettre à jour le firmware depuis autre chose que Windows est pratiquement impossible. Le nouveau firmware de la Surface a corrigé beaucoup de bugs et amélioré les performances de la tablette : tu ne veux pas rater ça !

![Vérifie les mises à jour à la main avec Windows Update](https://willem.com/global/images/382661906f53.webp)

![Regarde tous ces firmwares à mettre à jour : on ne peut les installer que depuis Windows](https://willem.com/global/images/c9eda8928a1e.webp)

![Ça peut prendre du temps, sois patient ou prends des photos :-)](https://willem.com/global/images/af71b0cde6d9.webp)

## Choisir un système d'exploitation

Une fois le matériel choisi, il faut choisir un système d'exploitation. Pour plusieurs raisons, je te recommande de réfléchir à choisir_un_système_d'exploitation_libre (https://willem.com/en/2018-07-20_helping-people-with-free-software/). Avec un logiciel libre, tu es, au sens propre, libre de le faire marcher comme tu veux. Moi, j'aime Debian (https://debian.org), une distribution GNU/Linux.

![Debian GNU/Linux : le système d'exploitation universel](https://willem.com/global/images/61767ebbcabc.webp)

La distribution Debian GNU/Linux compte parmi les plus anciennes. Elle est spéciale, car ses mainteneurs ont ratifié un contrat social, un document qui garantit que Debian est ouverte et libre. On peut l'installer sur presque n'importe quel matériel, d'où leur slogan « le système d'exploitation universel ».

## Créer une clé USB bootable

Debian s'installe à partir d'une clé USB bootable. J'ai utilisé un autre ordinateur pour télécharger les fichiers d'installation depuis https://debian.org. Il faut créer un support d'installation pour amener ces fichiers jusqu'à la tablette.

![Tu peux utiliser un autre ordinateur pour créer une clé USB bootable, j'ai pris mon ThinkPad X1](https://willem.com/global/images/96a301b9ec66.webp)

Sur un autre ordinateur portable, j'ai créé la clé USB bootable avec quelques commandes dans le terminal. Si tu es sous Windows ou Mac, tu peux utiliser d'autres outils, comme Utilitaire de disque, Rufus (https://rufus.ie) ou unetbootin (http://unetbootin.github.io).

## Lancer l'installateur

Branche la clé USB bootable à la tablette Surface. J'ai utilisé un adaptateur USB-C vers Ethernet et USB 3.0. La connexion réseau filaire est bien pratique pendant l'installation, car Debian ne peut souvent pas charger le firmware ou les pilotes des puces WiFi propriétaires.

![Branchement de la clé USB bootable à la tablette Surface avec l'adaptateur USB-C vers USB 3.0 et Ethernet](https://willem.com/global/images/8646d08e6a22.webp)

Le plus simple pour démarrer la tablette Surface depuis la clé USB, c'est de passer par « Options de démarrage avancées » dans les paramètres de Windows : l'ordinateur redémarre et te propose différentes options de démarrage et de récupération.

![« Options de démarrage avancées » dans les paramètres de Windows : pour démarrer depuis une clé USB](https://willem.com/global/images/1aba81e0731b.webp)

![Choisis « Linpus Lite » pour lancer l'installateur](https://willem.com/global/images/9021f73fd09d.webp)

Choisis « Utiliser un appareil », puis sélectionne « Linpus lite ». Avec un peu de chance, tu verras apparaître le menu de l'installateur Debian GNU/Linux.

![Menu de l'installateur Debian GNU/Linux sur la Surface Go : moi, tout content](https://willem.com/global/images/da801a0461f7.webp)

Poursuis l'installation en répondant aux questions : quelle langue tu veux utiliser, quelle disposition de clavier tu as. L'installateur essaie de reconnaître ton matériel réseau. Malheureusement, beaucoup de fabricants gardent leurs pilotes (firmware) fermés, ce qui empêche Debian de les inclure dans sa collection standard de logiciels (qui doivent tous être libres).

![Sans le firmware manquant, le matériel est inutilisable pendant l'installation](https://willem.com/global/images/ab59c48e114c.webp)

On peut charger ces pilotes non libres depuis une (autre) clé USB, mais d'après mon expérience, il est difficile de précharger exactement ceux dont tu auras besoin. Ma stratégie : brancher l'ordinateur à un réseau filaire pendant l'installation et m'occuper des pilotes manquants après. C'est plus facile de les ajouter plus tard si le système est en ligne.

![Installation en cours : remarque le câble réseau branché](https://willem.com/global/images/d917bfda53e6.webp)

## Interface graphique

Beaucoup d'applis (navigation web, retouche photo, dessin) ne fonctionnent bien qu'avec une interface graphique. Avec les logiciels libres, tu as beaucoup d'options. Le premier choix à faire : un « environnement de bureau » complet ou juste un « gestionnaire de fenêtres ».

### Environnement de bureau

Un environnement de bureau t'offre une expérience globale : des panneaux, des menus système et des applets d'état. Il vient avec ses propres applications (système) et son propre style visuel et ses propres habitudes d'usage. La plupart des environnements de bureau proposent une configuration standard complète, et beaucoup offrent des options avancées de personnalisation. Va voir leurs sites, lis leurs principes de conception, et choisis ce qui te plaît. Les environnements de bureau courants pour Debian sont :

- **GNOME** : https://www.gnome.org et https://wiki.debian.org/Gnome

- **Plasma** de KDE : https://kde.org/plasma-desktop et https://wiki.debian.org/KDE

- **XFCE** : https://xfce.org et https://wiki.debian.org/Xfce

- **LXDE** : https://lxde.org et https://wiki.debian.org/LXDE

- **MATE** : https://mate-desktop.org et https://wiki.debian.org/MATE

### Gestionnaire de fenêtres

Contrairement à un environnement de bureau complet, un gestionnaire de fenêtres sert uniquement à gérer les fenêtres des applications. On le choisit parce qu'il est extrêmement minimal : tout le reste, c'est à l'utilisateur de l'ajouter à la main. Si tu aimes prendre tes propres décisions, un gestionnaire de fenêtres est peut-être un bon point de départ pour ton interface graphique. Les plus courants :

- **awesome** : https://awesomewm.org

- **Openbox** : http://openbox.org/

- **i3wm** : https://i3wm.org

- **dwm** : https://dwm.suckless.org

- **xmonad** : https://xmonad.org

Prends vraiment ton temps pour décider : la base de l'interface graphique pèse énormément sur toute l'expérience. C'est un choix personnel, guidé par tes préférences et par ta volonté de tout régler à la main. Mon choix, parce que je le pratique depuis des années, c'est le gestionnaire de fenêtres Openbox, avec quelques outils en plus qui optimisent *mon* expérience.

## Optimiser l'expérience

C'est une étape essentielle quand tu installes un système d'exploitation libre sur un ordinateur. Après l'installation, les réglages par défaut ne sont souvent pas adaptés à ton matériel, à tes préférences et à tes usages.

Voici certaines des choses que j'ai faites par-dessus le gestionnaire de fenêtres Openbox :

- Passer de la version « stable » standard de Debian à sa branche « unstable (https://wiki.debian.org/DebianUnstable) », plus à la pointe. Ça veut dire que tu reçois les nouvelles versions des logiciels plus vite, mais que des choses peuvent parfois casser. J'aime les logiciels récents (je suis développeur), à toi de voir si tu veux faire pareil.

- Installer divers pilotes non libres (firmware) pour que tous les composants matériels fonctionnent. Debian a une page détaillée à ce sujet : https://wiki.debian.org/Firmware. Il faut parfois un peu de recherche et d'analyse de fichiers de log pour trouver quel firmware ton ordinateur demande.

- Utiliser gnome-network-manager (https://wiki.gnome.org/Projects/NetworkManager/) et son applet pour voir l'état du WiFi et me connecter rapidement à différents réseaux sans fil

- Installer Sound_on_Debian (https://wiki.debian.org/Sound) pour faire marcher le haut-parleur de la tablette. Vérifie bien les options de volume et de sourdine avant de croire que ton système audio est cassé (par défaut, il est muet !)

- Installer Blueman (https://packages.debian.org/sid/blueman) pour pouvoir me connecter à différents appareils Bluetooth

- Utiliser tint2 (https://gitlab.com/o9000/tint2/) comme barre d'état, barre des tâches et barre de lancement rapide (avec des raccourcis vers les applis les plus utilisées)

- Créer_un_script_qui_fait_pivoter_automatiquement_l'écran (https://linuxappfinder.com/blog/auto_screen_rotation_in_ubuntu) quand je tourne la tablette

- Installer tlp (https://linrunner.de/en/tlp/tlp.html) pour améliorer radicalement l'autonomie de la batterie

- Installer Compton (https://github.com/chjj/compton) pour réduire fortement les saccades (et gagner en fluidité) quand je fais défiler en mode portrait

- Installer mes applis préférées sur Debian GNU/Linux : les navigateurs web Firefox (https://www.mozilla.org/en/firefox) et Chromium (https://www.chromium.org/Home), l'appli de courrier, calendrier et contacts Evolution (https://wiki.gnome.org/Apps/Evolution/), le gestionnaire de fichiers Thunar (https://docs.xfce.org/xfce/thunar/start), l'émulateur de terminal XFCE-terminal (https://docs.xfce.org/apps/terminal/start), GIMP (https://gimp.org) pour la retouche d'images, Inkscape (https://inkscape.org) pour les graphiques vectoriels, le client SFTP FileZilla (https://filezilla-project.org), Libre_Office (https://www.libreoffice.org), et Xournal (http://xournal.sourceforge.net) pour écrire au stylet et prendre des notes

- Installer onboard (https://packages.debian.org/sid/gnome/onboard), un clavier virtuel qui permet de saisir du texte quand le clavier physique est débranché.

- Appliquer_à_la_main_un_correctif_du_noyau_Linux (https://bugzilla.kernel.org/show_bug.cgi?id=206259) pour que le stylet de la Surface fonctionne avec le noyau Linux le plus récent, ce qui m'a obligé à compiler mon propre noyau patché.

- Désactiver_Secure_Boot (https://surfacetip.com/configuring-surface-go-uefi-bios-settings/) pour que mon noyau Linux personnalisé puisse démarrer

![Compilation de mon noyau Linux personnalisé](https://willem.com/global/images/8631db9f2712.webp)

![Compiler le noyau Linux sur une Surface Go prend quelques heures](https://willem.com/global/images/416d53ff1e62.webp)

![Le clavier virtuel « onboard »](https://willem.com/global/images/5a77b988dded.webp)

![Le stylet fonctionne avec mon noyau Linux personnalisé et l'appli Xournal](https://willem.com/global/images/126e903aa197.webp)

![J'utilise le système personnalisé sur la tablette pour créer du contenu pour ce blog](https://willem.com/global/images/adba635a29f9.webp)

![Lecture d'un article sur ma tablette en mode portrait](https://willem.com/global/images/947d3ad6683a.webp)

![La Surface Go personnalisée (à droite) pour programmer, comme je le fais avec un iPad Pro (à gauche)](https://willem.com/global/images/df660a485a36.webp)

## Conclusion

Après de longues heures d'expérimentations et de réglages, j'ai créé une expérience de système d'exploitation pour tablette qui fonctionne. Je peux m'en servir pour lire, dessiner, programmer et concevoir.

Le sentiment de comprendre ce qui se passe, tout au long de ce « fabrique ton propre OS », est incroyable, aussi bien sur le plan technique que sur celui de l'interaction avec l'utilisateur. C'est une belle occasion d'apprendre et d'affûter tes compétences !

### Mise à jour :

Lis mes articles suivants sur :

- Comment_migrer_et_gérer_ta_photothèque_avec_des_logiciels_libres (https://willem.com/en/2020-08-31_free-from-the-icloud-escaping-apple-photos/) : j'utilise maintenant ma tablette « WillemOS » pour ça !

- Mettre_en_place_une_synchronisation_de_fichiers_transparente_entre_ta_tablette_et_ton_smartphone_avec_des_protocoles_ouverts_et_des_logiciels_libres (https://willem.com/en/2020-09-16_syncing-files-seamlessly-between-smartphone-and-tablet/).

- Affiner_mon_système_pour_tablette_avec_Surface_Go_2,_i3wm_et_4G/LTE (https://willem.com/en/2020-09-28_refining-my-tablet-os-experience/)
