Ubuntu 12.10 sur mon Macbook Air

By on 26 janvier 2013, in Documentation, Informatique, Journal, Libre Software, Non classé, System administration, Ubuntu

Pour les googleurs et leurs amis: c’est un MacbookAir3,2 (donc « Late 2010 »), avec une carte graphique nVIDIA GeForce 320M.

Installation facile et ultra-rapide

Ubuntu 12.10 s’installe parfaitement bien depuis la clef USB officielle générée depuis OSX. C’est une réelle amélioration par rapport à la 12.04, qui m’avait donné pas mal de fil à retordre, notamment pour trouver qu’il faut tuer grub-mount plusieurs fois pendant la procédure, et d’autres joyeusetés.

Avec la 12.10, sans chargeur de démarrage comme rEFIt, ou mieux maintenant rEFInd son successeur, je peux toujours choisir mon OS : sans rien toucher, Ubuntu démarre. En pressant Alt, je peux choisir OSX. Plutôt bien, facile. Ubuntu par défaut, c’est ce que je veux.

Mais pas utilisable pour autant

Le problème, c’est que le pilote nouveau rend le système inutilisable une fois démarré :

  • l’image de démarrage est corrompue ; ce n’est pas génant fonctionnellement, mais c’est laid et peu engageant.
  • l’intérieur des fenêtres de Chromium et Firefox est totalement corrompu, le rendant illisible,
  • toute la pile graphique est instable : peu après l’ouverture de session (entre 30 sec et quelques minutes), X.org se bloque totalement, le curseur de souris bouge éventuellement de manière très saccadée (pas toujours), et éventuellement encore la session se ferme toute seule après un moment et revient à l’invite lightdm.
    • Si elle ne se ferme pas seule au bout de quelques dizaines de secondes, je n’ai pas d’autre choix que de redémarrer la machine si je veux la récupérer ; Control-Alt-F1 ne marche pas, pas plus que Control-Alt-Suppr. Je ne parle même pas des SysRq sur un clavier mac.
    • Dans le cas où la machine revient à l’invite, l’écran est partiellement corrompu, et lorsque je tente de réouvrir la session, unity et le dash n’apparaissent pas. Pourtant, les raccourcis clavier marchent : je peux ouvrir un terminal, mais il n’a aucune décoration de fenêtre.

Quand X.org est bloqué, la machine n’est pas plantée pour autant. Via SSH on peut se connecter et observer que le process X.org occupe 100% du CPU.

Le pilote propriétaire nVIDIA, mon sauveur

J’installe donc nvidia-current-updates. Je n’aime pas les logiciels propriétaires en général, mais nVIDIA nous pond un pilote de bonne qualité, et Ubuntu une installation automatisée. Une fois installé, le démarrage de la machine est parfait (bel écran « Ubuntu »), mais au moment d’avoir l’invite lightdm, ce n’est qu’un écran noir.

Une connexion ssh m’indique dans les journaux un beau Can't handle page fault at 0x... sur le module nvidia. J’essaie nvidia-current, nvidia-experimental-310, l’installation manuelle depuis le site web officiel. Rien. Je m’envoie en l’air sur le fil du rasoir de X.org, essaie nvidia-313 avec un noyau 3.7. Rien. Diverses combinaisons de tout cela. Rien. Un magnifique écran noir nécessitant sudo reboot via ssh.

Puis une nouvelle recherche sur le net me rappelle au bon souvenir du grub EFI64 qui s’est installé en lieu et place du Grub-PC classique. Tiens, j’ai déjà rencontré ce problème. Mais le chemin pour y arriver était assez différent, je n’y ai pas pensé de suite.

En fait non, c’est grub-pc mon sauveur

Je peux donc ré-installer grub-pc sur /dev/sda et /dev/sda4 (je ne savais pas trop alors j’ai fait les deux) via ssh, et désinstaller les éléments EFI 64bit restants.

Mais celà ne résoud pas le problème: le démarrage passe toujours par la partition /boot/efi/ubuntu, et le mode BIOS semble ne pas s’activer puisque j’ai toujours mon écran noir à la place de lightdm.

Pardon, c’est rEFInd mon sauveur

Je me résoud donc à installer rEFInd. Ma partition OSX étant entièrement cryptée avec Filevault 2, l’installation sur la partition ESP (FAT) est la seule voie possible. Je me lance donc dans la procédure manuelle pour OSX, car en lisant la doc j’ai manqué l’option esp du script install.sh qui m’aurait simplifié la vie ;-)

Finalement, c’est un retour en arrière qui m’a sauvé

Une fois rEFInd installé, je choisis « Linux from FAT (HD) », et ça démarre en mode texte, mais le noyau bloque au milieu de la pile USB. Idem en mode de récupération. J’essaie en revenant au noyau précédent (l’officiel de la 12.10), et là miracle : malgré un démarrage en mode texte (c’est mieux que rien), j’arrive à un lightdm, précédé d’un logo nVIDIA. Il me reste alors quelques bricoles à régler, mais tout fonctionne y compris la mise en veille et la sortie de veille. Ni la machine ni X.org n’ont bronché depuis. Pas de blocage, pas de plantage, rien. Le pied. Comme avant avec la 12.04, « mais en mieux™ ».

Le triplé gagnant, avec la procédure « en un coup »

En conclusion, je n’ai ni l’envie ni le temps de tester la procédure propre, maintenant que tout fonctionne parfaitement. Mais il semble que la bonne suite de manipulations soit la suivante :

  • installation via clef USB,
  • avant de redémarrer, remontage de la partition fraîchement installée, et remplacement du grub-efi64 par grub-pc,
  • au redémarrage, passer sous OSX et installer rEFInd,
  • démarrer Ubuntu via rEFInd en mode BIOS 32bit,
  • installer le pilote nVIDIA propriétaire, éventuellement installer le noyau lowlatency (je trouve le système plus réactif avec, même si c’est un sentiment plutôt qu’une démonstration),
  • si vous installez un nouveau noyau, il vous faudra redémarrer et recompiler les modules via DKMS, chez moi ça n’a pas été fait automatiquement lors de l’installation du nouveau noyau.
  • redémarrer et enjoyer définitivement, comme on dit chez eux.

Super simple, en fait ;-) Il suffit de savoir quoi faire, et le faire dans le bon ordre. Il ne me reste plus qu’à installer licorn-desktop et licorn-desktop-devel pour retrouver tout mon environnement de travail quelques minutes plus tard.

Pour les intéressés, il existe une version plus longue et plus compliquée, qui permet cependant de connaître tous les tenants et aboutissants de chaque manipulation, et de mieux comprendre le fonctionnement d’un démarrage EFI sur les Macs.

0

Reply