Installation en dual boot sur iMac mi-2010
En espérant que cela serve à d'autres, je fais un bilan de mes diverses tentatives d'install de Linux en dual boot sur un iMac (modèle de mi-2010, Intel Core i3 à 3,06 GHz, écran de 21,5 pouces, macOS High Sierra 10.13.6, 4 Go de ram, disque dur de 500 Go, carte graphique ATI Radeon HD 4670 avec 256 Mo de ram). J'ai essayé de faire une présentation accessible au plus grand nombre, désolé si c'est redondant avec beaucoup de choses qu'on peut trouver par ailleurs.
Comme je le détaille à la fin, Opensuse 15.1 est la seule distribution avec laquelle j'ai pu aboutir à une install viable.
Je précise que j'ai fait l'install en anglais.
1. Introduction
Prévoir avant coup pour l'install :
- Cela va sans dire : un média, CD/DVD, clé ou disque dur USB (USB 2 de préférence ; USB 3 n'est pas pris en charge par ce modèle).
- Un cable éthernet (à moins que vous installiez à partir du DVD sans connexion ; je n'ai jamais testé cela mais pas de raison que ça ne marche pas). Le pilote Wifi semble reconnu au tout début du démarrage mais le paramétrage n'est pas du tout intuitif pour le béotien que je suis ; de plus on est alors dans un mode très basique avec un clavier qwerty, pas évident pour taper le mot de passe... Au premier lancement du système après l'install, la carte wifi est activée et prête à l'emploi dans l'environnement choisi.
- Un clavier et une souris USB (le plus basique sera le mieux) car le matos bluetooth d'origine d'Apple n'est pas reconnu à l'install par Opensuse. Attention sur un point : il y a de petites différences entre l'agencement du clavier mac et l'Azerty du clavier fr basique au niveau des caractères spéciaux et certains raccourcis notamment, donc anticiper de possibles difficultés avec les mots de passe lors de l'installation.
Dans certains cas (que je n'ai pas relevés), il se peut que faire un simple reboot ne fonctionne pas pour prendre en compte les changements. Si cela se produit alors il faut éteindre complètement la machine puis la rallumer.
2. Préparation du média d'installation
Télécharger l'iso d'installation d'Open suse (iso DVD ou netinstall). Vous pouvez soit la graver sur un disque (la netinstall tient sur un CD) en faisant clic droit sur l'iso > Graver sur le disque, soit flasher une clé USB. Sous macOS j'utilise l'utilitaire de disque de mac OS et le logiciel Etcher pour ce faire. Voir tuto ici.
3. Démarrer en mode rescue ou relancer mac OS X après avoir perdu Refind
J'ai mis du temps pour comprendre une chose : mac OS tout seul n'utilise pas par la partition EFI (elle existe bien comme sda1 de 200 Mo mais OS X démarre directement sans passer par celle-ci ; c'est uniquement lorsqu'on installe Refind ou grub sur sda que la partition EFI devient active, si j'ai bien compris).
Au démarrage (ou redémarrage), pour accéder au mode rescue le raccourci est touche windows + r (cmd + r avec le clavier mac), à faire pendant la petite musique. Par contre, si vous faites plutôt alt + r au même moment, vous avez la possibilité de choisir sur quoi démarrer : la partition mac OS, la partition EFI (si elle a été activée), la partition rescue mode de mac OS et éventuellement un autre média connecté (CD/DVD ou périphérique USB).
La deuxième manip est très utile car elle permet de rebooter sur mac OS et de réinstaller Refind à volonté.
Vous n'avez donc normalement pas à craindre de perdre votre boot mac OS X tant que vous n'avez pas touché à la partition système et à la partition de récupération (sda2 et sda3, voir plus loin paragraphe 7).
4. Redimensionnement de la partition mac OS X
Une fois que vous avez fait de la place pour Linux (système, données et swap), il faut ensuite redimensionner la partition OSX. Comme c'est la partition système de Mac on ne peut pas y toucher "à chaud". Il faut donc faire un redémarrage en mode rescue, puis choisir Utilitaire de disques une fois la session ouverte. Ne touchez surtout pas à la partition OS X Base System (la partition de récupération). Cliquez sur la partition Macintosh HD et choisissez "créer partition" en haut, puis sur "+" (en dessous du schéma du disque). Réservez de l'espace pour Linux et créez une nouvelle partition (peu importe le format, on reformatera tout cela proprement au moment de l'install). Lorsque vous êtes satisfait, appliquez votre choix. Le redimensionnement prend un certain temps, puis on passe à l'étape suivante.
5. Désactiver le sip
On profite d'être en rescue mode pour désactiver le sip, ce qui nous permettra d'installer Refind.
Voir tutos (tous deux équivalents) avec capture d'image ici et ici.
En résumé : en session rescue, ouvrez un terminal (dans la barre en haut : Utilitaires > Terminal) et tapez "sudo csrutil disable". Tapez votre mdp et c'est joué.
Penser à le réactiver plus tard avec "sudo csrutil enable" (toujours en mode rescue).
6. Installer (et réinstaller) Refind
Ce n'est pas ce que j'ai fait mais il semble tout à fait possible en théorie de n'installer Refind qu'après l'install Linux (pensez juste à désactiver le sip avant et voyez le paragraphe 3 pour le reboot), C'est même plus simple et ça parait plus logique après coup (pourquoi installer Refind si l'on sait qu'il va être écrasé par Linux à l'install ?).
On redémarre une session normale OSX. On va chercher Refind. Le binaire est accessible ici sur sourceforge.
On l'installe. Pour cela, décompressez le fichier zip, ouvrez le dossier créé, ouvrez un terminal (Applications > Utilitaires > Terminal) et glissez-y avec la souris le refind—install pour y recopier le chemin du fichier, appuyer sur Entrée puis donner le mot de passe root de mac OS comme on le demande :
$ sudo /Users/Utilisateur/refind-bin-0.12.0/refind-install
Password:
ShimSource is none
Installing rEFInd on macOS....
Installing rEFInd to the partition mounted at /Volumes/ESP
Copied rEFInd binary files
[...]
Installation has completed successfully.
Une nouvelle partition nommée EFI est visible dans le finder. C'est là que vous trouverez notamment le fichier de configuration refind.conf où vous pourrez personnaliser votre démarrage (entrée par défaut, temps d'attente avant le lancement auto... parmi bien d'autres choses).
Pour rétablir Refind après l'install de Linux, il suffira de faire la même chose en redémarrant une session normale OS X (alt + r au démarrage > HD Macintosh, voir paragraphe 3).
7. Installation d'Opensuse 15.1
De façon classique, on redémarre avec le média d'installation inséré ; il est reconnu par Refind qui permet de booter dessus ; allez y.
Le menu de démarrage s'affiche, il faut alors taper sur "e" (edit entry) pour passer en mode édition, et rajouter "nomodeset" (sans les guillemets) à la troisième ligne, celle commencant par linuxefi (attention le clavier passe en qwerty, taper sur la touche virgule pour faire le m). Sans cela l'install se gèle à l'étape suivante et ont est condamné au hard reboot.
On valide par F10 et on démarre l'install proprement dite.
Pour le choix de l'environnement de bureau, j'ai testé le bureau générique minimal, qui donnait vraiment de mauvais rendus graphiques, KDE Plasma et Gnome qui semblent s'en sortir correctement tous les deux même si ce n'est pas très fameux (le problème de la carte graphique persiste). Par goût personnel j'ai finalement opté pour KDE.
Arrivé à Disk (choix des partitions), le partitionnement par défaut (Guided setup) proposé par Opensuse semble ok (vérifiez qu'il ne touche pas à sda2 et sda3 si vous faites ce choix). Pour ma part j'ai préféré choisir "Expert Partitionner" > "Start with existing partitions" pour avoir plus de latitude.
Cliquez sur "sda" à gauche puis "Partitions" en haut à droite.
Vous voyez alors ces quatre partitions :
- sda1 de 200 Mo en Fat, la partition EFI (à l'origine inactive et contenant à présent Refind) ;
- sda2, la partition contenant Mac OS X que vous avez réduite pour créer sda4 ;
- sda3, la partition de récupération de Mac OS de 0,61 Go ;
- sda4, la partition que vous avez créée pour Linux.
sda2 et sda3 sont vues comme des partitions "Linux native" par l'installeur d'Opensuse, faites attention. Encore une fois on ne touche pas à ces deux partitions.
Par défaut, Linux "écrasera" Refind en montant sda1 au point /boot/efi. Après l'install, il suffit alors de relancer une session mac OS et de réinstaller Refind comme expliqué plus haut (paragraphes 3 et 6). Il mettra en place tout seul un dual boot Linux / Os X .
Si vous reformatez sda1 lors de l'install Linux (en la montant comme partition EFI), vous perdrez Refind et n'aurez que grub sans dual boot par défaut au démarrage. Vous aurez toujours la possibilité de lancer OS X (voir § 3), mais Refind refusera de se réinstaller car il ne reconnaîtra pas la nouvelle partition sda1 comme EFI. Pas de panique, il vous suffit de réinstaller Refind depuis Linux (plusieurs méthodes possibles voir le site officiel ; j'ai testé avec succès le rpm sous Opensuse), il s'installera comme nouveau boot manager et vous retrouverez le dual boot Linux / Mac OS au démarrage.
Supprimez sda4 puis faites votre choix de partition sur l'espace libre (vous n'êtes pas limité à 4 partitions primaires, profitez-en).
Pour ma part, avec une partition sda2 réduite à 100 Go, j'ai choisi :
- sda4 : / partition racine pour Opensuse de 25 Go en Btrfs ;
- sda 5 : /home partition de données utilisateur de 300 Go au format ext4 (pour pouvoir la partager avec d'autres linux, tous ne reconnaissant pas le Btrfs en natif il me semble ;
- sda6 : swap de 8 Go (pour une ram de 4 Go, que je pense étendre à 12 voire 16 Go prochainement) ;
- Un espace pour l'instant non partitionné de 38 Go, pour permettre un partage de fichiers depuis mac OS en Fat32 ou tenter d'autres installs Linux ultérieurement.
On poursuit l'install. Si vous avez toujours le sda1 original, un message d'erreur nous indique qu'il manque une partition EFI d'au moins 256 Mo (sda1, montée par défaut, ne faisant que 200 Mo) mais on peut continuer malgré tout, et la fin de l'install se déroule (presque toujours ) sans encombre.
Au redémarrage, le nomodeset reste activé par défaut dans grub, le démarrage s'effectue correctement mais la carte graphique n'est pas prise en charge. Sans nomodeset ça plante. Plus de détails dans mon post ici.
8. Autres distributions Linux testées
J'ai essayé d'installer plusieurs autres distributions (Manjaro, Fedora 31, Fedora 32, Bodhi Linux 5.1, Mageia 7.1, Linuxmint 17, Linux Lite 4.8, et d'autres) mais je n'ai réussi à finaliser l'install qu'avec Debian 10, Ubuntu 20 et Opensuse 15.1. Même en activant le nomodeset, et sauf erreur de ma part, les autres distribs bloquent dès le lancement de l'install. Pour ce qui est de Debian (j'ai testé 10.3 et 10.4, ainsi que les versions non-officielles non free) et d'Ubuntu, l'install se déroule proprement, mais le premier démarrage aboutit lui aussi très vite à un écran noir gelé, que l'option nomodeset soit activée ou non.
9. Problèmes persistants
- Le plus gênant : la carte graphique n'est pas utilisée (voir post). Pas d'accélération graphique, des couleurs pas terribles, visionnage de vidéos laborieux, la ram et la swap me semblent beaucoup utilisées, pour un rendu relativement médiocre.
- Le son n'est pas terrible non plus (on dirait qu'il y a un problème de reconnaissance du périphérique, voir le post sur la carte graphique).
- Impossible de sortir de veille (l'écran reste désespéramment noir) ou d'hibernation (l'ordinateur s'éteint simplement, et on retombe sur Refind ; une conséquence inévitable du multiboot ?).
- ILe clavier mac est reconnu par les utilitaires bluetooth fournis par les environnements de bureau (il n'a vraiment été bien paramétré qu'après un reboot), mais pas de clavier au démarrage, il faut attendre que le bureau s'affiche, pas possible de naviguer dans les menus de grub et de refind, obligé d'attendre que le timeout se termine et de lancer l'OS par défaut... Attention, il faut débrancher le clavier USB avant l'ouverture de la session sinon le clavier bluetooth est apparemment identifié comme un pavé numérique. En ce qui concerne la souris on dirait que ça fonctionne aussi, mais la mienne est en mauvais état et ne marchait plus très bien déjà, je ne l'ai plus utilisée depuis des années.