(article mis à jour le 2 juin 2022)

Dans cet article nous expliquons comment installer le système d’exploitation GNU Linux Ubuntu en quelques étapes simples et sécuritaires, en parallèle à Windows, sur les ordinateurs Microsoft Surface (tel que testé sur des modèles parmi les éditions 2017 à 2020).

Cette marche à suivre affectant le Kernel des distributions Debian, et non Ubuntu en particulier.

Nous l’avons testée avec succès sur Mint Ubuntu et UOS (le beau DeepIn OS). Les ajustements pour la Surface (marche à suivre ci-dessous) nous ont pris moins de 5 minutes chrono.
Microsoft Surface Book Ubuntu Edition par Tell Handel Co
La qualité de fabrication de la Surface en fait un bon produit pour GNU Linux. À condition d’y installer une version de kernel qui lui convienne!

Les « pour »

  • Bien sûr sécurité numérique et respect de la vie privée [*]
  • Rapidité et grande performance du processeur
  • Température inférieure (à condition d’installer le bon kernel)
  • Meilleure autonomie de la batterie (kernel toujours)
  • L’accès en lecture / écriture à tous les fichiers Windows depuis l’environnement Ubuntu (à condition toutefois de ne pas chiffrer la partition Windows).
  • La confidentialité des fichiers Ubuntu depuis l’environnement Windows (la partition Ubuntu n’est pas visible / Même qu’une fois Bitlocker réactivé, votre espace Ubuntu est totalement caché, y compris au démarrage puisque le GRUB ne s’active pas)
  • Tout l’univers OpenSource à portée de main

Le « contre » (il se sent seul, le pauvre)

  • Les caméras. Les pilotes disponibles au moment d’écrire ces lignes ne rendent pas justice à l’excellente qualité matérielle des webcams Surface. Une marche à suivre étape par étape basée sur le projet libcamera pour l’installation des pilotes est disponible à partir d’un lien proposé en fin d’article.

    Né d’une concertation entre l’industrie de fabrication des ordinateurs et l’univers OpenSource, l’objectif de libcamera est d’étendre au plus grand nombre de marques et modèles les ordinateurs dont la webcam est supportée par Linux. Tous les détails sur https://libcamera.org/

Avant de vous lancer dans l’aventure

Niveau de connaissances requis : 8/10. Une maîtrise confortable de l’informatique est nécessaire (de la facilité dans la gestion des paquets debian). Un doute? Nous vous conseillons de faire appel à un intervenant Linux qualifié, du réseau Tell Handel par exemple.

Marche à suivre

Créer une clé USB contenant l’image ISO de la dernière version Ubuntu disponible.

Le téléchargement de l’image se fait à partir de https://ubuntu.com/download/desktop
Pour la création de la clé nous recommandons l’application https://www.balena.io/etcher/

Faire une sauvegarde de toutes les données importantes et créer un point de restauration Windows.

Principalement en raison de la désactivation du chiffrement qui suivra plus loin.

Modifier l’ordre / la séquence de démarrage et désactiver Bitlocker.

Pour ce faire, éteindre la Surface puis la rallumer en appuyant simultanément sur les boutons Volume+ et de mise en marche. Une fois dans le BIOS (Surface UEFI), ouvrir la section Boot Configuration > Configure Boot Device Order. Choisir la séquence de démarrage (cocher USB Storage et le placer en premier, au-dessus de Windows Boot Manager). L’ordre de démarrage pourra bien sûr être à nouveau modifié par la suite.

Se rendre dans la section Security > Secure Boot et désactiver Bitlocker (cela ne pose aucun risque, sauf en cas de vol de l’ordinateur. Bitlocker peut être réactivé par la suite à n’importe quel redémarrage (cependant, lorsqu’on souhaite démarrer sur la partition Ubuntu on ne peut le faire que quand Bitlocker est désactivé).

Si l’appareil fournit une clé de chiffrement à un moment ou un autre, prendre celle-ci en photo.

Quitter le BIOS (Surface UEFI) et redémarrer

Une fois dans Windows, désactiver le chiffrement du disque.

Avant de désactiver le chiffrement du disque il est fortement recommandé de procéder à une sauvegarde de sécurité des données et de créer un point de restauration Windows.

Ceci fait, on désactive le chiffrement en passant

A) par les > Paramètres > Mises à jour et sécurité Windows > Désactiver le chiffrement du disque

Ou B) Il se peut que ce soit le chiffrement BitLocker qui est activé, auquel cas le chiffrement doit être désactivé en passant par Dossier jaune > Ce PC) > clic de droite sur le disque C: > Gérer BitLocker > Désactiver BitLocker

Éteindre la Surface. Insérer la clé USB Ubuntu précédemment créée. Rallumer la Surface. Suivre les étapes d’installation de Ubuntu en prenant soin de bien sélectionner la première option (Installer Ubuntu à côté de Windows) puis, lorsque demandé, de choisir bien sûr la partition du disque que le logiciel d’installation aura précédemment créé pour Ubuntu (en principe une partition d’environ 44 à 50 Go situé à droite du schéma des partitions présentées à l’écran).

Une fois l’installation terminée Ubuntu propose de redémarrer l’ordinateur. Durant le processus de redémarrage il est demandé de retirer la clé USB Ubuntu (ne pas la retirer avant l’invite).

Redémarrer la Surface sur Ubuntu (plusieurs lignes s’affichent désormais au démarrage / ce sont les options pour le système d’exploitation, la première ligne étant pour démarrer Ubuntu et la dernière étant pour démarrer Windows / cet ordre pourrait être modifié par la suite en éditant le GRUB mais nous le déconseillons puisque la moindre erreur d’enregistrement du fichier GRUB == dont un codage non-adéquat par exemple, ce qui est fréquent == compromettrait alors le démarrage de l’ordinateur).

Une fois dans Ubuntu, installer un kernel qui soit adapté à la Surface (puisqu’à ce stade le tactile de l’écran n’est pas reconnu et le processeur chauffe).

« Et les vainqueurs sont… »



Selon nos tests, les meilleurs kernel Linux pour les Surface sont le 5.3.18 puis les versions à partir de la 5.10.xx

Le kernel, c’est ce qui constitue le noyau du système. Il « explique » à l’ordinateur comment les différentes composantes doivent communiquer entre elles. Quand on installe Ubuntu sur une Surface, le kernel Linux par défaut autour duquel Ubuntu s’articule ne permet pas au cœur du système de reconnaître les caméras internes ni le tactile de l’écran. De plus, le processeur chauffe, pour ne prendre que ces trois exemples.

Dans le cas des Surface des années 2017 à 2020, les versions de kernel 5.1.15 à 5.4.16-surface fonctionnent. Un changement de protocole initié par Intel fait qu’un kernel de version 5.5.x à 5.8.x peut ramener les problèmes de surchauffe etc. L’une des versions 5.10.xx-surface sera parfaite.

Notons que le kernel 5.11.2-surface (mars 2021) ne fonctionnera pas à moins d’installer d’abord une version non-surface plus récente (le 5.4.0.66-generic par exemple).

Les utilisateurs de modèles Surface des années 2019 et antérieures voudrons certainement éviter les versions 5.15.xx (écran tactile qui ne s’active pas, température excessive du processeur, trop de ralentissements et d’erreurs système) pour se tourner plutôt vers la version 5.14.16-surface ou à partir de la 5.17.9-surface (juin 2022)

Installation du kernel

La première étape consiste à appliquer la clé de chiffrement qui permettra l’installation du kernel et de ses futures mises à jour.

Attention si vous retranscrivez manuellement l’invite ci-dessous. Dans  » -qO –  » il s’agit bien de la lettre O et non du chiffre 0. Dans le Terminal
wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \ | gpg --dearmor | sudo dd of=/etc/apt/trusted.gpg.d/linux-surface.gpg

Nous allons ensuite spécifier les emplacements des dépôts :

echo "deb [arch=amd64] https://pkg.surfacelinux.com/debian release main" \ | sudo tee /etc/apt/sources.list.d/linux-surface.list

Et cloner l’emplacement du dépôt pour le téléchargement des paquets kernel debian et ses dépendances (ce qui inclut l’iptsd pour l’écran tactile) par la commande suivante :

git clone https://github.com/linux-surface/linux-surface ~/linux-surface

Ce qui permet de lancer l’installation du dépôt :

cd ~/linux-surface && sudo sh setup.sh
sudo apt install linux-image-surface linux-headers-surface

Par la suite on pourra, autant que souhaité, installer éventuellement de nouvelles versions du kernel Surface et de ses headers en téléchargeant les paquets .deb disponibles sur la page suivante du github (relire les notes en bleu et rouge plus haut dans cet article sur les versions de kernel à éviter)

https://github.com/linux-surface/linux-surface/releases/

À l’aide du gestionnaire de paquets habituel

Une liste de plusieurs kernel

Nous avons maintenant plusieurs kernel(s) installés sur notre machine puisque le 5.4.16 ou un autre — en fonction de notre choix précédent — est venu s’ajouter à celui d’origine.

L’application Grub Customizer, disponible dans le magasin d’application, nous permettra de modifier l’ordre des kernel dans le but de mettre la version Surface en première ligne.

Au redémarrage de l’ordinateur, il faut donc choisir temporairement l’option Mode avancé (au lieu de simplement Ubuntu par exemple) pour sélectionner le kernel Surface le plus récent de la liste, avec lequel on va désormais travailler.

Dans les options avancées, on sélectionne le kernel 5.4.16 ou autre et on ouvre une session.

Si la session a bien été ouverte sous le kernel 5.4.16 par exemple, le processeur ne devrait plus surchauffer. En cas de non-fonctionnement du tactile on peut essayer l’alternative suivante

Depuis le terminal on préférera peut-être saisir ces commandes de façon individuelle. Ex. sudo apt update pour une commande, puis sudo apt upgrade pour la seconde et finalement sudo apt install… pour la 3ème.
sudo apt update && sudo apt upgrade && \ sudo apt install git curl wget sed

Donner les autorisations (O/n) pour chacune des invites à l’exception de la première et de la dernière question (mise à jour du kernel).

L’écran tactile

Deux options s’offrent à nous pour activer le tactile. Soit par les deux commandes Terminal suivantes :

sudo systemctl enable iptsd
iptsd libwacom-surface

Ou, si cette première façon de faire ne fonctionne pas, en procédant avec les commandes ci-dessous (une commande par ligne) :

git clone https://github.com/linux-surface/iptsd
cd iptsd
meson build
ninja -C build
sudo ./build/iptsd
ls -l /dev/ipts/
sudo ninja -C build install
sudo systemctl daemon-reload
sudo systemctl enable --now iptsd

Script d’écran tactile

Ensuite, à moins que le tactile ne fonctionne déjà, on exécutera encore la commande suivante depuis une fenêtre terminal :

systemctl start iptsd.service

Ou, si cela ne fonctionne pas, avec :

cd iptsd && sudo ./build/iptsd && systemctl deamon-reload && systemctl enable --now iptsd

D’autre part, si le tactile se désactive après chaque redémarrage on pourra créer un fichier contenant le script suivant :

#!/bin/bash

### BEGIN INIT INFO
# Provides:          tactile
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: Activation du tactile
### END INIT INFO

PATH=/home/votre-id/iptsd/

cd /home/votre-id/iptsd/ && ./build/iptsd && systemctl daemon-reload && systemctl start iptsd

Fichier qui pourra être enregistré par exemple sur le Bureau sous le nom tactile et qu’on rendra exécutable (par un clique de droit sur le fichier > Propriétés > Permissions > Autoriser l’exécution du fichier comme un programme ou) avec la commande Terminal suivante :

sudo chmod +x /Bureau/tactile

On le déplacera ensuite dans le répertoire /etc/init.d/ (en utilisant l’explorateur de fichiers sudo nautilus ou) par la commande Terminal ci-dessous :

sudo mv ~/Bureau/tactile /etc/init.d

Pour terminer on initiera le fonctionnement de / et démarrera notre nouveau script avec les commandes Terminal suivantes :

sudo systemctl deamon-reload && systemctl enable iptsd
sudo systemctl start iptsd


Suppression des images kernel inutilisés

L’invite terminal suivante permettra de purger notre OS des paquets devenus inutiles

Pour autant que nous soyons avec une version 18.04 de Ubuntu, ou plus récente
sudo apt-get autoremove

Il se peut toutefois que certaines images kernel inutilisés soient encore présentes. L’invite Terminal ci-dessous nous permettra de vérifier avec quel kernel notre machine travaille

uname -r

Nous allons maintenant afficher la liste des kernel(s) éventuellement présents sur notre ordinateur, en utilisant la commande terminal…

dpkg --list | grep linux-image
La commande ci-dessus doit nous donner à peu près ce résultat. Si les seules images présentes sont notre choix linux-image-5.3.18-surface et linux-image-5.3.18-surface (safe mode) / ou linux-image-5.10.xx-surface et linux-image-5.10.xx-surface (safe mode) aucune action n’est requise

La suppression des images kernel en trop se fait comme suit

À supposer que votre ordinateur ait un kernel obsolète qui porterait le nom linux-image-4.4.0-21-generic comme nous le voyons sur la capture d’écran en exemple, la commande serait
sudo apt-get --purge remove linux-image-4.4.0-21-generic

Et ainsi de suite pour chaque image de kernel non-utilisé (à l’exception du kernel avec lequel on travaille désormais on se comprend!)

Nous recommandons toutefois de garder au moins 1 kernel generic, en plus du kernel Surface qui aura été choisi. Le générique pourrait nous permettre de redémarrer notre Surface (via le mode avancé) en cas de problème majeur sur le kernel Surface.

Activation des caméras

Une marche à suivre étape par étape est proposée à partir du lien ci-dessous pour l’installation des pilotes caméras et leurs dépendances

https://github.com/linux-surface/linux-surface/wiki/Camera-Support

(au moment d’écrire ces lignes le projet est toujours en développement et va donc encore évoluer).

(re-)Chiffrer la partition Windows

Celles et ceux qui le souhaitent pourront chiffrer la partition Windows

En passant par Dossier jaune > Ce PC > clic de droite sur le disque C: > Gérer BitLocker > Activer BitLocker


*Linux, c’est une meilleure protection de ma vie privée. Vraiment?

N’oublions toutefois pas qu’en chiffrant la partition Windows celle-ci ne sera alors plus lisible depuis la partition GNU / Linux mais uniquement depuis Windows (par exemple pour y lire ou écrire des documents).

Linux le gardien de votre vie privée?

La question se pose. En effet, nous avons toutes et tous entendu cette déclaration d’une manière ou d’une autre, que Linux — tout comme MacOS lui aussi inspiré de Unix — c’est la garantie du respect de notre vie privée. Le fait est que cette déclaration n’est rien d’autre qu’un mythe.

Une autre idée fausse courante est que la vie privée est entièrement prise en charge par Linus Torvalds (qui est à l’origine de Linux) et son équipe de concepteurs.

En vérité, tous les systèmes d’exploitation, combinés aux personnes qui les utilisent, offrent de nombreux risques et vulnérabilités qui peuvent être exploités.

La bonne nouvelle est qu’il existe des mesures vraiment fondamentales à prendre pour tenter d’atténuer ces risques. Bien qu’il ne faille jamais se laisser bercer par un faux sentiment de sécurité, ces mesures peuvent apporter une plus grande tranquillité d’esprit.

Quelques simples actions à prendre

Le chiffrement de vos données, se protéger avec de vrais mots de passe mais aussi le fait d’avoir une machine légère présente de nombreux avantages. En ne conservant que les applications nécessaires, on assure une efficacité maximale. Cela réduit également le risque qu’une application mal écrite soit la porte magique qui exposera les vulnérabilités.

Après avoir vérifié les applications installées sur votre machine, vous pouvez utiliser un outil comme BleachBit pour effectuer un nettoyage en profondeur. Il peut rapidement supprimer les cookies, libérer votre cache et effacer les fichiers temporaires. Tout en libérant de l’espace disque.

Maison attention! Les ensembles d’outils d’optimisation des systèmes peuvent être un véritable fléau! Le moindre de vos soucis est d’assurer la performance de votre appareil, pas d’avoir un logiciel qui massacre la stabilité de votre machine, ce dont sont parfois responsables les logiciels de nettoyage.

Classé dans le Top 100 des outils de sécurité réseau, chkrootkit vérifie localement les signes d’un rootkit (un rootkit est un ensemble de logiciels informatiques, généralement malveillants, conçus pour permettre l’accès à un ordinateur ou à une zone de ses logiciels qui n’est pas autrement autorisé — par exemple, à un utilisateur non autorisé — et qui masque souvent son existence ou celle d’autres logiciels).

L’installation de chkrootkit se fait en mode d’invite terminal

sudo apt-get install chkrootkit

L’exécution aussi depuis le terminal

sudo chkrootkit

Nonobstant ces quelques points à surveiller, communs à tous les systèmes d’exploitation (Android, Chrome OS, iOS, iPadOS, Windows) l’avantage des distributions GNU Linux, dont Ubuntu fait partie, est que leur code est accessible, surveillé par toute la communauté des développeurs OS de Linux (contrairement aux systèmes d’exploitation propriétaires que sont ceux mentionnés entre parenthèses dans ce paragraphe, dont les codes demeurent inaccessibles).

Alors… elle est pas belle la vie?

About The Author