Découvrez quel kernel GNU Linux est le meilleur ami des Surface!

Des performances accrues, un processeur qui ronronne à basse température, un écran tactile détachable qui fonctionne merveilleusement bien! Pas (encore) de caméra embarquée. Pour cela il faudra s’armer de patience et, en attendant, faire appel à une caméra externe.

Surface Book sous GNU Linux Ubuntu

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, on peut imaginer l’appliquer à n’importe quelle distribution Debian.

Nous l’avons testée avec succès sur UOS (le beau DeepIn OS). Les ajustements pour la Surface (marche à suivre ci-dessous) nous ont pris moins de 5 minutes chrono.
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

Les « contre »

  • Les caméras de la Surface ne fonctionnent pas sous Ubuntu, sauf pour les Surface Go et Go2 (des nouveaux patches de kernel sont en développement pour les Surface Book 2 et 3, et Surface Laptop 3 == 2020 == il faut s’armer de patience et, en attendant, utiliser des caméras externes / consulter https://github.com/jakeday/surface-cameras pour les patches Go et Go2 ainsi que pour les futures mises à jour sur les autres modèles)
  • Quelques applications (les navigateurs sur base chromium == dont Opera et Chromium == à contrario de Firefox qui ne présente pas ce problème == mais aussi Gimp) ont parfois désactivé sporadiquement le clavier, uniquement au moment de se retrouver sur ces applications-là, obligeant éventuellement à une fermeture / réouverture de session.

Avant de vous lancer dans l’aventure

Niveau de connaissances requis : 8/10. Ce qui veut dire avoir une bonne maîtrise de l’informatique. De la facilité dans la gestion des paquets Ubuntu (debian). Un doute? Nous vous conseillons plutôt 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 le vainqueur est… »



Selon nos tests, le meilleur kernel Linux pour la Surface est le 5.3.18

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 embarquées 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.3.18 fonctionnent. À l’inverse, un changement de protocole initié par Intel fait qu’un kernel des versions 5.4.x à 5.8.x n’est pas adéquat (aucune caméra, aucun tactile, surchauffe du processeur).


Il faut maintenant…

Importer la clé de sécurité publique qui permettra d’activer correctement le paquet kernel debian qui sera téléchargé deux étapes plus bas. L’importation de la clé se fait par l’invite suivante dans le terminal (sélectionner et copier le code ci-dessous, à coller dans le terminal par un clic droit de la souris, la combinaison des touches [Ctrl] + [V] ne fonctionnant pas dans le terminal)

Attention si vous retranscrivez manuellement l’invite ci-dessous. Dans  » -gO –  » il s’agit bien de la lettre O et non du chiffre 0.
wget -qO - https://raw.githubusercontent.com/linux-surface/linux-surface/master/pkg/keys/surface.asc \ | sudo apt-key add -

On vérifie la présence du paquet et on le tee pour la copie

Toujours en commande terminal bien sûr.
echo "deb [arch=amd64] https://pkg.surfacelinux.com/debian release main" | sudo tee /etc/apt/sources.list.d/linux-surface.list

Fait? Le temps est déjà arrivé de télécharger le paquet kernel debian et ses fichiers annexes depuis le navigateur Internet en cliquant sur le lien ci-dessous

https://github.com/linux-surface/linux-surface/releases/download/v5.3.18-1/linux-image-5.3.18-surface_5.3.18-surface-1_amd64.deb

Retrouver le paquet téléchargé en se servant de l’explorateur de fichiers. Cliquer deux fois sur le paquet. Le gestionnaire d’installation de paquet de Ubuntu s’occupe du reste.


Redémarrer l’ordinateur

Nous avons maintenant plusieurs kernel(s) puisque le 5.3.18 vient de s’ajouter à l’autre. Si on ne lui dit rien le système continue cependant d’ouvrir des sessions avec son premier kernel.

Au redémarrage de l’ordinateur, il faut donc choisir l’option intermédiaire du démarrage en Mode avancé (au lieu de simplement Ubuntu ou Windows, cette façon de démarrer l’OS en deux étapes n’est que temporaire).

Dans les options avancées, sélectionner le kernel 5.3.18 et ouvrir une session.

Si la session a bien été ouverte sous le kernel 5.3.18 le processeur ne surchauffe plus. En cas de non-fonctionnement du tactile on installe encore les paquets suivants, à commencer par le git au cas où le système n’en serait pas encore équipé.

Depuis le terminal. Il est possible que vous ayez à 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.

Nous copions ensuite le dépôt Surface depuis jakeday, sur notre ordinateur.

Encore par le terminal bien sûr
git clone https://github.com/jakeday/linux-surface.git ~/linux-surface

Une fois copié, nous lançons l’installation du dépôt.

Toujours dans le terminal
cd ~/linux-surface && sudo sh setup.sh

Suivre les informations et donner les autorisations (yes) pour chacune des invites, à l’exception de la dernière question qui concerne la mise à jour du kernel (à moins qu’on veuille utiliser une version autre que la 5.3.18 installée précédemment, au cas où celle-ci ne permettrait pas d’éviter le probleme de surchauffe).


Redémarrer l’ordinateur

Au redémarrage de l’ordinateur, choisir de nouveau le Mode avancé pour sélectionner le kernel 5.3.18 dans la liste, si c’est bien avec celui-ci que nous souhaitons travailler.


Effacer les images des kernel(s) inutilisés

L’invite terminal suivante suffira à purger l’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 des kernel(s) inutilisés soient encore présentes. L’invite terminal ci-dessous nous permettra de vérifier sur quel kernel Ubuntu travaille

Ce devrait en principe être la 5.3.18-surface
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 seuls images présentes sont la linux-image-5.3.18-surface et linux-image-5.3.18-surface (safe mode) alors aucune autre action n’est requise

La suppression des images de kernel(s) 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 5.3.18-surface on se comprend!)

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?

Avant d’entrer dans le vif du sujet, la question se pose. En effet, nous avons tous entendu cette déclaration d’une manière ou d’une autre, que Linux, 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, lui-même basé sur Unix) 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.

Les ensembles d’outils d’optimisation des systèmes sont le fléau de la terre. 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.

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 deux lignes plus haut, dont les codes demeurent inaccessibles).


Alors… elle est pas belle la vie?

4 thoughts on “Découvrez quel kernel GNU Linux est le meilleur ami des Surface!

  1. Bonjour,
    Merci beaucoup pour cet article qui m’a permis d’installer linux sur ma surface go, tout fonctionne parfaitement. Toutefois, j’aurai une question concernant la gestion des températures, en vérifiant celles-ci avec sensors j’ai remarqué que la carte réseau (pci adapter) était à 75 degrés  ; est-ce une température normal pour la surface go ?
    En vous remerciant par avance,
    Bien cordialement,
    Nicolas

    1. Bonjour Nicolas, nous sommes heureux que notre marche à suivre vous ait été utile. Il est tout-à-fait normal qu’il y ait un peu de surchauffe lors de streaming (par exemple vous passez une soirée sur Youtube). Il faut alors veiller à ce que votre Surface soit dans un environnement bien aéré et frais, quitte à la poser sur un support adapté à cette fin. La température à l’extérieur du boîtier de la Surface Go avoisine facilement les 46 degrés en son point le plus chaud. Avec Windows la température moyenne du processeur se situe à 62 degrés. Microsoft se contente de dire que la Surface Go peut devenir « très chaude » et qu’elle est dotée d’un système de régulation qui la mettrait en veille si la température devenait trop élevée (réf. https://answers.microsoft.com/en-us/surface/forum/surfgo-surfperf/high-temperature-issues/ ). Selon nos tests lorsqu’on installe le bon kernel, la température moyenne du processeur sous Linux peut s’établir à moins de 40 degrés soit 22° de moins qu’avec Windows. Nous ne comprenons pas que Sensors ait pu vous donner cette information de « carte réseau (pci adapter) ». Pouvez-vous nous donner des détails sur la version de l’app. Sensors que vous utilisez (s’agit-il du paquet lm-sensors, ou de psensor)? Quelle distribution de Linux utilisez-vous? Bien cordialement.

      1. Bonjour et merci pour votre réponse détaillée,
        J’utilise Ubuntu 20.04 et le paquet que j’utilise est lm-sensors. Voici le retour de la commande sensors pour une utilisation basique (consultation de mails et surf sur internet sans aucun streaming vidéo), les températures sont très bonnes sauf pour « ath10k_hwmon-pci-0100 » qui indique +76.0°C (j’ai installé psensor pour comparer et il me donne exactement les mêmes chiffres). Dès que le wifi est activé la température plafonne à 75/76 degrés et cela indépendamment de l’utilisation plus ou moins intensive qui est faite de la surface go (le visionnage d’une vidéo sur youtube ne fait pas augmenter cette température, à la différence par exemple de la température du processeur qui augmente un peu). La température n’a jamais dépassé les 76 degrés. J’ai des résultats similaires que ce soit avec le kernel 5.3.18 ou avec le kernel 5.4.0-48 de base. Étant débutant dans l’utilisation de Linux, que pensez-vous de ces résultats ?

        ath10k_hwmon-pci-0100
        Adapter: PCI adapter
        temp1: +76.0°C

        coretemp-isa-0000
        Adapter: ISA adapter
        Package id 0: +34.0°C (high = +100.0°C, crit = +100.0°C)
        Core 0: +33.0°C (high = +100.0°C, crit = +100.0°C)
        Core 1: +32.0°C (high = +100.0°C, crit = +100.0°C)

        BAT1-acpi-0
        Adapter: ACPI interface
        in0: 7.72 V
        curr1: 406.00 mA

        pch_skylake-virtual-0
        Adapter: Virtual device
        temp1: +31.5°C

        acpitz-acpi-0
        Adapter: ACPI interface
        temp1: +29.0°C

        En vous remerciant par avance,
        Bien cordialement,
        Nicolas

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.