Logo Spiria

Installer un octo-boot sur un Mac (partie 1)

6 février 2020.

Contexte

En tant que directeur TI dans une entreprise de taille moyenne comme la nôtre, je dois accepter le fait que certains utilisateurs sont amenés à utiliser des produits Apple et qu’ils finiront très probablement par nous demander notre aide. Compte tenu de cela, nous devons disposer d’un appareil assez récent sur lequel est installé macOS, afin de pouvoir effectuer des tests ou des opérations de dépannage, mais la dernière fois que j’ai regardé, les conditions de licence d’Apple exigeaient que nous utilisions macOS à partir d’un produit Apple officiel. Récemment, j’ai récupéré un MacBook Pro 2015 lors d’une réparation gratuite pour un problème de batterie. Étant donné notre politique interne qui exige que nous remplacions le matériel tous les cinq ans, j’ai demandé à mon patron si je pouvais remplacer le disque interne du MacBook pour avoir une machine à triple démarrage à des fins TI (macOS, Microsoft et Linux). Il a accepté l’achat, à condition que je produise quelques articles de blogue sur mon expérience.

Mais après, j’ai commencé à réfléchir. Pourquoi pas quatre systèmes d’exploitation ? Et comme je manquais de sommeil ce jour-là, les choses ont fait boule de neige et j’ai fini par me convaincre d’avoir huit systèmes d’exploitation, parce que le mot “octuple” a un son plus cool et plus identifiable que le mot “nonuple” ou “septuple”. Alors, nous y voilà.

Avertissement ! Jouer avec les partitions, en particulier la partition de démarrage, n’est pas une activité pour les âmes sensibles ; cela peut même rendre votre appareil définitivement non démarrable. Ne faites pas ça à moins que vous ne soyez familier avec des trucs comme les partitions de disque, GRUB, EFI, etc.

Avertissement encore plus important !!! Les gens de TI se parlent à eux-mêmes... beaucoup... Nous prétendons que c’est un processus, mais en fait, nous ne sommes que des épaves en manque de sommeil.

Les bases

Octo-boot.

Les grandes lignes du projet

Officiellement, Apple supporte le double démarrage pour MacOS et Windows via Boot Camp, et la procédure est assez simple. Cependant, lorsqu’il s’agit de triple démarrage avec une distribution Linux, les choses commencent à se gâter. Ceux qui font ce genre de choses recommandent d’utiliser un gestionnaire de démarrage appelé “rEFInd”. Il doit être installé manuellement à partir d’une clé USB pendant le processus. J’avais une liste de distributions Linux que je voulais installer, mais j’ai dû la modifier un peu en cours de route. Au moment de la rédaction, j’ai pratiquement atteint mon objectif d’avoir huit distributions sur la même machine grâce à un excellent article que j’ai trouvé ici.

Les systèmes d’exploitation

En plus de Windows et de MacOS, nous avons installé une série de distributions Linux (ou distros en langage geek). Linux est le programme central, appelé noyau, auquel sont attachés une série d’outils et de programmes (environnement de bureau, système de fichiers, bibliothèques, etc.) afin de constituer un système d’exploitation complet.

Voici la liste des systèmes d’exploitation que j’ai fini par installer, avec la taille des partitions et la raison de l’installation :

  • macOS
    • Taille : 256 Go.
    • OS : Duh... (basé sur FreeBSD).
    • Raison : en avoir un pour l’équipe et mettre à l’épreuve des outils de gestion d’entreprise prévus.
  • Windows 10 Pro
    • Taille : 256 Go répartis entre le disque C: pour l’OS et le D: qui est partagé entre les OSs.
    • Environnement de bureau : MS Windows.
    • Raison : faire tourner Crysis.
  • Linux Mint
    • Taille : 64 Go.
    • Environnement de bureau : Cinnamon Desktop, basé sur Ubuntu.
    • Raison : LinuxMint est généralement ma distribution de référence pour l’implémentation de l’environnement de bureau et, comme je la connais bien, c’est aussi ma “référence de contrôle” dans cette expérience.
  • Suse Linux
    • Notes :
      • J’avais l’intention d’utiliser une distro basée sur Gentoo, mais elles sont connues pour être difficiles à utiliser et plus orientées vers les serveurs. Sabayon ne voulait même pas lancer le processus d’installation et Redcore n’arrivait pas à faire fonctionner le Wi-Fi (sans compter les dépôts basés en Russie).
      • Je suis passé à Suse Linux parce que sa principale base de développement se trouve en Allemagne et que tout le monde sait que tout ce qui est allemand est bien conçu (et cool).
    • Taille : 64 Go.
    • Environnement de bureau : KDE Plasma, basé sur Slackware.
    • Raison : l’Allemagne !!! Tester le système de fichiers Btrfs.
  • Manjaro
    • Taille : 64 Go.
    • Environnement de bureau : KDE, basé sur Arch Linux.
    • Raison : expérimentation de repo Arch (Pacman).
  • Fedora
    • Taille : 64 Go.
    • Environnement de bureau : Mate Desktop, basé sur Redhat.
    • Raison : cette distro basée sur RedHat est l’une des plus importantes distributions de Linux et utilise la gestion de repos YUM.
  • Kali Linux
    • Taille : 128 Go.
    • Environnement de bureau : GNOME Desktop, basé sur Debian.
    • Raison : les tests de sécurité. Cette distribution est préchargée avec un large éventail d’outils de sécurité pour le piratage éthique.
  • Ubuntu Studio
    • Taille : 128 Go.
    • Environnement de bureau : XFCE, basé sur Ubuntu, avec un noyau soi-disant à faible latence.
    • Raison : avoir une distro orientée vers les trucs artistiques et tester la fonctionnalité du noyau à faible latence si possible.

Objectifs d’après-installation

Les objectifs qui en découlent sont les suivants :

  • Tester une variété de distributions et d’interfaces utilisateurs :
    • Les distributions Linux sont plus ou moins réputées pour leur flexibilité.
    • Cela peut rendre le support quelque peu difficile et aléatoire dans certains cas en raison de la grande variété de matériel disponible.
    • Sur une distribution donnée, vous pouvez disposer d’un large éventail de gestionnaires de fenêtres.
    • J’ai essayé de choisir l’assortiment le plus large possible d’environnements de de bureau et de prendre ceux qui étaient fournis “prêts à l’emploi” avec l’installation de la distro.
      • Vous pouvez généralement choisir le bureau de votre choix après avoir installé le bureau “par défaut”.
      • J’ai choisi de prendre ceux qui étaient “officiellement” pris en charge pendant la phase d’installation afin de réduire les problèmes.
  • Disposer d’une partition de disque partagée par tous les systèmes d’exploitation :
    • Je le fais généralement avec toute machine à double démarrage que j’utilise, afin de faciliter l’accès à divers fichiers tels que les photos, les fichiers musicaux, les vidéos, etc.
    • Comme Windows n’a traditionnellement jamais pris en charge les systèmes de fichiers autres que FAT et NTFS, j’ai toujours partagé un disque “D:” formaté en NTFS.
  • Faire en sorte que les éléments suivants soient testés et fonctionnent :
    • Caméra ;
    • Emplacement pour carte SD ;
    • Moniteur externe ;
    • Gestion de l’alimentation ;
    • Fonctions spéciales ;
      • Grâce à une combinaison de touches contrôle, option et commande, vous pouvez contrôler divers aspects de la machine, tels que la luminosité et le volume.
      • Toutes les fonctionnalités doivent être présentes dans tous les systèmes d’exploitation.
    • Casque externe USB ;
    • Casque externe 3,5 ;
    • Carte d’interface réseau filaire ;
    • Réseau Wi-Fi ;
    • Boîtier externe basé sur USB.
  • Tests de différentes applications et tests de charge :
    • Navigateur Firefox.
      • Trouver un site web/application qui soit exigeant en ressources et obtenir des statistiques.
    • Navigateur Chrome.
      • Installer et lancer la version officielle de Google.
    • Système de fichiers.
      • Copie de fichiers.
      • “Zipper” avec NTFS et avec le système de fichiers propre à chaque OS.
      • Documenter chaque système de fichiers.
    • Logiciel pour tests vidéo et audio.
      • Afin de comparer les performances, trouver un outil qui convertit des fichiers vidéo/audio dans un autre format et qui peut être utilisé sur toutes les plateformes.
    • Outil de compilation.
      • À déterminer. Idéalement, un outil multiplateforme accompagné de quelque chose à compiler qui soit assez lourd pour prendre au moins cinq minutes sous macOS.
      • Je demanderai à mes collègues de m’aider sur ce point.
    • Wi-Fi/filaire, téléchargement/latence.
      • Trouvez un outil qui peut être utilisé avec tous les systèmes d’exploitation et qui fournit une multitude de statistiques.
    • Outil de rendu 3d.
      • Test avec Blender.

Matériel et installation initiale

Le disque du Mac Pro 2015 est relativement facile à accéder et remplacer tant que vous disposez des bons outils. Je n’entrerai pas dans les détails ici, mais sachez que les vis sont du type “pentalobe” et qu’elles sont faciles à enlever. J’ai commandé un disque NVMe chez OWC parce que je m’attends à ce qu’un disque NVMe ordinaire ne fonctionne pas comme prévu, ce que je vérifierai à la fin du projet. Ma première (semi)surprise a été de trouver un disque NVMe Samsung à l’intérieur d’un ordinateur portable Apple. Cela montre que si les deux sont en désaccord en public, ils se retrouvent dans le même lit en privé. La réinstallation du logiciel macOS et l’installation de Windows qui a suivi se sont déroulées sans problème avec Boot Camp. Je ne vais pas passer en revue tout le processus ici, car il est amplement couvert dans de nombreux autres articles.

Samsung S4LN058A01-8030.

NVMe SSD Samsung.

Le plaisir commence vraiment avec l’installation de Linux. En gros, chaque fois que vous installez une distribution Linux, elle installe GRUB (sauf SuSe), ce qui fait que macOS s’arrête de démarrer alors que tout le reste fonctionne encore. La solution que j’ai trouvée a été de réinstaller l’application rEFInd à chaque fois, mais j’ai ensuite réalisé que je devrais également réinstaller rEFInd à chaque fois qu’une distribution Linux reçoit un nouveau noyau dans sa mise à jour. J’ai essayé de trouver une solution en éditant manuellement le fichier GRUB avec quelques modifications suggérées par divers forums, mais en vain. Cela nécessitera quelques recherches. Un autre problème que j’ai rencontré était que Windows ne démarrait plus non plus, et j’ai dû désactiver la protection de l’intégrité du système (SIP).

En dehors de ces petits désagréments, j’ai été très surpris de constater que le Wi-Fi fonctionnait à peu près sans problème sur toutes les distros que j’ai fini par installer. C’était ma plus grande crainte. Les pilotes Wi-Fi sont généralement la composante la plus problématique dans l’installation d’une distribution Linux, étant donné que les puces Wi-Fi sont souvent liées à des pilotes fermés.

Le plus gros problème que j’ai rencontré a été l’affichage sur le portable, qui s’est avéré quelque peu inégal. Ça fonctionnait tout de suite dans certains cas, mais d’autres nécessitaient quelques réglages. Toutes les plateformes ont souffert de quelques bogues ici et là, provoqués par l’écran Retina de ce modèle de portable. Cet écran est certes très beau, mais quelques ajustements sont nécessaires pour qu’il soit utilisable. Habituellement, les problèmes ont été (principalement) résolus en cherchant sur Google les paramètres HiDPi pour les différentes plateformes. En fin de compte, le seul irritant qui restait était dans le gestionnaire de boot login de l’écran GRUB, sur lequel je ferai des recherches plus tard.

Et maintenant ?

Quelque part dans le processus, je me suis un peu emporté et j’ai oublié de prendre des notes sur les ajustements d’interface dans les environnements de bureau. Je crois que je vais simplement relancer les procédures d’installation et noter les détails de chaque distro dans la partie 2 ou 3 de cette série d’articles de blogue. Je dois faire quelques recherches sur la question de GRUB pour voir si je peux faire quelque chose à ce sujet ou si je dois simplement m’en tenir à “rEFInd”. Comme mentionné précédemment, jouer avec le bootloader est quelque peu risqué et la documentation sur le sujet est maigre. Chaque fois que je trouvais un article à ce sujet, il y avait toujours une restriction. Idéalement, j’aimerais avoir GRUB comme mon bootloader permanent et le faire fonctionner de manière continue et cohérente à travers les mises à jour du noyau Linux. Le plan B serait de supprimer l’installation par défaut de GRUB, puisque rEFInd peut détecter assez bien les nouveaux OS.