Le précédent billet était consacré à la préparation du Macbook Air 2011 13 pouces en vue d’y installer Ubuntu. Il abordait également la préparation de la clé USB bootable qui sera utilisée pour installer la distribution. Aujourd’hui c’est donc logiquement l’installation en elle-même qui est détaillée ci-dessous, suivi du premier démarrage sous Ubuntu qui peut potentiellement donner un peu de fil à retordre.
Installation
Contrairement à ce qu’on pourrait croire (surtout si l’on écoute les clichés qui tournent à propos de Linux), c’est cette phase en elle même qui est la moins compliquée. Il « suffit » de booter sur la clé fraichement préparée et de lancer le processus d’installation comme à l’accoutumée. Les difficultés rencontrées et contournées ci-dessous sont imputable à notre système un peu exotique. Il ne faut pas oublier qu’Apple ne cherche pas à simplifier l’installation d’un Système d’exploitation autre qu’OSX
Pour booter sur la clé, rien de plus simple. Une fois celle-ci préparée comme précisé dans le précédent billet et connectée à l’ordinateur, on démarre et rEFIt, qui a également été installé précédemment, propose le boot sur la clé.

On démarre donc sur la clé, et on arrive sur le live classique d’Ubuntu qui nous propose l’installation du système ou simplement l’essai.

L'essayer, c'est l'adopter !
Remarque : Il est possible, à cette étape, que le démarrage sur la clé n’aboutisse pas. Pour résoudre le problème, il faut éditer, dépuis Grub, les paramètres de boot, comme indiqué dans l’aide (on passe en mode édition en appuyant sur F6 et on ajoute « nomodeset » avant le — en fin de ligne). Sur mon Macbook Air le boot sur la clé s’est effectué sans que j’ai à éditer les paramètres de boot.
Un fois le système démarré sur le Live Ubuntu, on suit la procédure classique d’installation. Il y a juste un point sur lequel il faut être attentif, c’est sur le choix de la partition pour l’installation d’Ubuntu. Il faut bien choisir « autre chose » et ne surtout pas utiliser tout le disque (Ubuntu ne détecte pas OSX, il propose donc d’utiliser tout le disque pour lui). Au niveau du partitionnement c’est assez intuitif. On utilise l’espace précédemment libéré (l’espace est indiqué comme disponible ou FAT suivant ce qui a été fait depuis OSX pendant la préparation), on pourra utiliser (ou non, pas obligatoire avec 4Go de RAM) une partition de SWAP. J’en ai mis une de 2Go après une partition Système de 28Go en Ext4 montée sur la racine « / » (ne pas oublier de choisir la partition à monter sur « / », elle est obligatoire).

Le choix à ne surtout pas faire si l'on souhaite garder OSX en double boot
Ensuite, les différentes étapes consiste à configurer le système (fuseau horaire, langue…). Elles n’amènent pas de commentaire particulier. En ce qui concerne le choix du type de clavier, il faut choisir « Français (Macintosh) » pour avoir le bon mapping.
L’installation se poursuit ensuite avec la création du compte principale et la copie des fichiers. Cette partie peut se révéler assez longue si on a choisi de faire les mises à jour pendant l’installation (elles sont alors téléchargées et installées à ce moment là). Sans la mise à jour du système, l’installation est rapide.
Premier redémarrage
Alors qu’on pourrait croire (et qu’on souhaiterait) que le plus difficile soit derrière nous, il s’avère que le premier redémarrage ne se déroulement pas forcément comme prévu.
Dans mon cas, j’ai tout d’abord commencé par suivre scrupuleusement la page d’aide du wiki d’Ubuntu qui précise qu’à chaque modification des partitions du système, il faut resynchroniser rEFIt. Lors de l’installation d’Ubuntu les partitions sont bien évidemment modifiées (création partition EXT4 et éventuellement SWAP), on doit donc procéder à une resynchronisation de rEFIt. Cela se fait dans rEFIt au démarrage, par la petite icone en forme de disque dur qui affiche « Start partitioning tool » lorsqu’elle est sélectionnée.

La synchronisation de refit avec le MBR se fait depuis l'écran de Boot
Chez moi la synchronisation n’a pas fonctionné, rEFIt m’a précisé ne pas pouvoir l’effectuer à cause d’une erreur dont je n’ai plus l’intitulé exact. Dans ce cas, il faut installer cet utilitaire sous OSX pour régénérer le MBR comme précisé sur cette page.
Remarque : Je ne suis pas convaincu de la nécessité de cette étape, car avec ou sans cette regénération du MBR, le problème que je vais détailler par la suite s’est produit.
Une fois que le MBR est regénéré on peut revenir au premier démarrage d’Ubuntu. On reboot donc l’ordi, on sélectionne le petit pingouin dans rEFIt, et… ça marche pas ! (Phrase préférée des Admin Systèmes et Réseaux quand elle est prononcée par un utilisateur, sans donner plus de précision). Ecran violet -> ecran noir -> plus rien. D’après l’aide en ligne, c’est normal, il faut rajouter « nomodeset » aux paramètres de boot de l’entrée de Grub (qui est lancé après le passage par rEFIt) pour le premier démarrage (en attendant d’installer les drivers de la carte graphique). Ok, mais pour ça, encore faut-il voir Grub et accéder au mode édition ! Car là, rien ne s’affiche : Grub ne disposant que d’une entrée pour Ubuntu, il ne propose aucun choix au démarrage et boot directement (boot qui n’aboutit pas, rappelons le). Alors pour afficher Grub comment qu’on fait ? Et bien en théorie un simple appuie sur « Maj. » une fois que le pingouin de rEFIt disparaît devrait suffire pour forcer Grub à s’afficher. On lit également que l’utilisation des flèches « Haut » et « Bas » permettent d’arriver au même résultat. Chez moi rien n’y a fait. Grub refuse de s’afficher. Pourquoi ? Cela est du soit au démarrage de Grub en mode graphique, soit au laps de temps trop court pendant lequel Grub attends une pression de touche avant de booter Ubuntu. Il faut donc reconfigurer Grub, mais comment puisque cela se fait depuis Ubuntu ? La solution vient ici de la clé bootable. On va reconfigurer le Grub d’Ubuntu à partir d’une session sur la clé USB, de façon à ce qu’il démarre dorénavant en mode texte et en laissant quelques secondes à l’utilisateur pour se décider. On procède en plusieurs étape :
- Démarrer sur la clé
- Monter la partition Ubuntu
- Modifier le fichier de configuration de Grub : etc/default/grub
- Préparer le chroot
- Mettre Grub à jour
Le démarrage sur la clé ne pose pas de problème particulier, il suffit de procéder comme précédemment (penser au « nomodeset » si besoin).
On commence tout d’abord par monter la partition Ubuntu qui contient le Grub à modifier, ce qui est possible graphiquement en utilisant Nautilus (icône représentant la petite « maison » du dossier personnel), le navigateur de fichiers de gnome : il suffit de cliquer sur l’icône du disque correspondant, dans le panneau gauche, ce qui aura pour effet de le monter automatiquement et d’en afficher le contenu dans le panneau droit. On repère alors dans quel répertoire de « /media » le disque à été monté. Appelons le « /media/sdbX ».
Depuis un terminal, on se place dans ce répertoire :
$ cd /media/sdbX
Si vous êtes perdu sous Unity (l’interface graphique d’Ubuntu), le terminal peut se lancer depuis le tableau de bord (racourcis en haut à gauche) en commançant à taper « terminal » dans le champs de recherche. Le premier résultat trouvé doit alors être le bon.
La configuration de Grub se fait dans le fichier « etc/default/grub » de la partition Ubuntu. Il s’agit du fichier utilisé par la commande « update_grub » pour générer le fichier de conf utilisé par grub au démarrage (qui ne doit pas être modifié à la main). Il faut éditer ce fichier avec les droits root, et le plus sûr est de le sauvegarder au préalable. On peut par exemple utiliser gedit (éditeur de texte en mode graphique) :
$ sudo cp etc/default/grub etc/default/grub.bak
$ sudo gedit etc/default/grub
Les lignes qui nous intéressent sont les suivantes :
GRUB_HIDDEN_TIMEOUT=0
(...)
GRUB_HIDDEN_TIMEOUT_QUIET=true
(...)
#GRUB_TERMINAL=console
qu’on modifie de la façon suivante :
GRUB_HIDDEN_TIMEOUT=10
(...)
GRUB_HIDDEN_TIMEOUT_QUIET=false
(...)
GRUB_TERMINAL=console
On peut alors sauvegarder le fichier et, avant de mettre à jour grub, passer à la partie la plus délicate, en tout cas si on n’a jamais eu l’occasion d’en faire, il s’agit du chroot. Alors le chroot, késako ? Et bien avant tout une abréviation de « change root ». Mais c’est surtout une commande permettant de changer le répertoire racine du système (root) pour un processus donné (ici le terminal). La racine d’origine du système devient alors invisible au processus chrooté. Dans notre cas, on utilise cette commande pour créer, en quelque sorte, un nouvel environnement d’exécution, isolé de celui du live USB, et qui utilise notre système Ubuntu fraichement installé comme racine. On exécute dans un terminal les commandes suivantes qui nous permettent de mettre en place le chroot.
$ sudo mount --bind /dev dev
$ sudo mount --bind /sys sys
$ sudo mount --bind /proc proc
$ sudo chroot .
Attention : en cas d’utilisation d’une partition « /boot » à part, se référer à l’aide de grub (ce n’est pas foncièrement plus compliqué, mais je n’ai pas le temps de détailler tous les cas ici).
On se retrouve alors root dans un nouvel environnement qui utilise la partition d’Ubuntu comme racine. Ceci nous permet de mettre à jour la configuration du Grub de notre Ubuntu, sans risque de confusion avec le Grub du live USB, en utilisant la commande « update_grub » :
# update-grub
Grub est maintenant à jour. On enlève la clé, on reboot le système et il est maintenant possible de passer en mode édition dans Grub… enfin ! On peut donc éditer la ligne (ajout du « Nomodeset ») pour permettre enfin à Ubuntu de démarrer convenablement.
Un fois le système démarré, on remarque dors et déjà que tout n’est pas parfaitement opérationnel. La première chose qui saute aux yeux est l’utilisation de la mauvaise résolution d’écran (comme avec le Live USB), mais ce n’est pas tout, beaucoup d’autres choses doivent être configurées. Cette étape de configuration fera l’objet d’un troisième billet.
A bientôt donc !