Ceci est une ancienne révision du document !
Edgy Eft (6.10)
Installation d'Ubuntu sur un MacBook en dual boot avec Mac OS X
Ce tutoriel vous relate l'entière installation d'Ubuntu Edgy Eft sur un MacBook, en dual-boot avec Mac OS X. Pour un MacBook pro, il y a sûrement quelques modification à apporter, vous êtes libre de les effectuer.
Il est principalement issu de la traduction et de la récupération de bouts de tutoriel disponibles sur internet. Il vous mènera depuis Mac OS X pour créer vos partitions à la configuration du moindre détails.
ATTENTION : il est bien précisé qu'il ne fonctionne que pour un dual boot !
Pré-requis
- Un MacIntel avec Mac OS X installé, pensez mettre à jour le firmware.
- Boot Camp
- rEFIT
- Un Cd Ubuntu i386
- Une connexion à Internet
Installation du système
Téléchargement et installation de Boot Camp
Boot Camp est un utilitaire d'Apple permettant:
- Le redimensionnement d'une partition.
- La création d'un CD avec les drivers du Mac pour Windows.
- Boot Camp permet aussi de "simuler" un BIOS au démarrage de la machine et donc le boot d'OS tel que Ubuntu ou Windows.
Sous Mac, téléchargez et installez Boot Camp. Lors de l'installation, vous allez redimensionner la partition Mac OS X et créer une seconde partition.
Boot Camp vous propose de graver un CD de drivers pour Windows. Vous pouvez sauter cette étape.
Installation de rEFIt
rEFIT est un menu de démarrage graphique pour les MacIntel, il nous sera utile pour pouvoir choisir entre le gestionnaire de démarrage de Mas OS X et GRUB. Avant d’effectuer ces opérations pensez à bien mettre à jour votre version de Mac OS X.
Téléchargez rEFIt l’image (rEFIt-0.8.dmg) et montez la.
Une fois ouverte, double-cliquez sur rEFIt.mpkg. Suivez les instructions et tout se passera bien.
Installation d'Ubuntu
Redémarrez votre MacBook, au démarrage, vous aurez le choix entre démarrer sur Mac OS X ou bien sur le CD Ubuntu. Choisissez bien entendu le deuxième. Vous booterez alors sur le Live cd, choisissez la langue française grâce à la touche F2.
Si vous avez un core duo simple (pas la dernière version de Core 2 duo) avec Ubuntu Edgy, vous aurez sûrement un “kernel panic” au lancement du système. Ne vous affolez pas tout est prévu. Au démarrage du Live CD, faîtes F6 et vous pourrez modifier les commandes de démarrage du live CD. Selon votre processeur ajoutez ce bout de commande :
- 1,83 Ghz :
lpj=7330000
- 2 GHz :
lpj=8000000
C’est rébarbatif, mais vous ne l’aurez à taper que cette fois là. Faîtes “Entrer” et le live CD démarre alors normalement sans erreur.
Vous êtes maintenant sur le bureau d’Ubuntu. Double-cliquez sur l’icône “Installer” du bureau. Je vous laisse remplir les quatre premières étapes, mais attention à la cinquième.
A l’étape 5/6, “Préparation des disques durs” choisissez l’option “Editer manuellement la table de partitions” puis “Suivant”. Supprimer la dernière partition /dev/sda3 qui correspond à la partition Windows que BootCamp a crée pour vous. Cliquer sur “suivant” puis “Appliquer” et enfin fermer la fenêtre en cliquant sur “Fermer”. Une fois de retour à l’étape 5/6 “Préparation des points de montage”, cliquer sur “Précédent” deux fois. Vous êtes maintenant de retour sur les trois choix du départ. Cette fois nous allons choisir “Utiliser le plus grand espace disponible” et cliquer sur suivant.
A l’étape 6/6, NE CLIQUEZ PAS ENCORE SUR "install" !!! (Très très important).
A la différence d'autres tutoriels qu'on peut trouver un peu partout, cette version utilise GRUB au lieu de LILO. GRUB étant le choix par défaut d'Ubuntu il vaut en effet mieux le privilégier. En revanche, il faut synchroniser un peu tout ça avec rEFIt. L'explication en anglais est trouvable sur cette page. Autrement dit il faut :
- Télécharger le paquet rEFIt crée à la base pour Debian mais qui va nous être bien utile,
- L'installer : en double cliquant dessus ou via la commande sudo dpkg -i refit*.deb
Rappelez-vous que vous n'avez pas encore cliqué sur "install" à l'étape 6/6. Nous allons faire de même maintenant : Ouvrez un terminal et copiez/collez cette ligne mais ne TAPEZ PAS SUR ENTREE !!!
sudo gptsync /dev/sda && sudo sfdisk -c /dev/sda 3 83
Le 3 signifie la partition 3 (où GRUB sera installé), adapter si nécessaire si vous avez un schéma de partition exotique.
Maintenant revenez à l'interface d'installation et lancez l'installation (enfin).
Pendant l'installation, quand ça en sera à "Installation du système - Copie des fichiers", retourner au terminal et valider. Répondez à la question May I update the MBR as printed above? [y/N] par y avant que le processus d'installation n'essaye d'installer GRUB c'est-à-dire à 94%.
Normalement, l'installation se finira sans erreur. Choisissez "Redémarrer" pour booter sur votre tout nouvelle installation.
Au redémarrage, rEFIt vous propose de choisir entre Boot Mac OS X from Macintosh HD and Boot Linux from HD. Choisissez la deuxième option, vous tomberez ensuite sur GRUB qui vous lancera Ubuntu. Une fois Ubuntu lancé…
Identifiez-vous et : edgy dance.
Configuration du matériel
Dans cette deuxième partie, nous allons aborder la configuration de notre toute fraîche Ubuntu. Nous allons entre autre configurer : le trackpad, le wifi, le rétro-éclairage, le clavier "à la mac", et plein d'autres choses.
Toutes les commandes que je vais vous donner seront des commandes à copier/coller dans un terminal (Applications → Accessoires → Terminal). C'est plus facile et plus rapide que de passer par une application graphique comme Synaptic. De plus ça évitera les erreurs de frappes si vous utilisez la méthode du copier/coller.
Le wifi
Le wifi est reconnu de base avec Edgy Eft pour les core duo simple, nous n'avons donc besoin que d'installer un bon gestionnaire, à savoir network-manager.
sudo apt-get -y install network-manager-gnome
En ce qui concerne les macbook core 2 duo ainsi que les macbook pro, il faut maintenant installer des pilotes supplémentaires en passant par un logiciel nommé ndiswrapper (Plus de précisions sur ce programme). Il sont en effet désormais équipé d'un (chipset atheros ar5008).
Télécharger le drivers windows xp Dlink DWA 645 disponibles sur le site officiel. Décompressez l'archive et placez vous dans le dossier qui vient d'être créé.
Installation de ndiswrapper et du pilote :
sudo apt-get install ndiswrapper-utils ndiswrapper-utils-1.8 sudo ndiswrapper -i Driver/net5416.inf sudo depmod -a sudo modprobe ndiswrapper sudo ndiswrapper -m
Avec iwconfig vous devriez désormais avoir :
wlan0 IEEE 802.11g ESSID:off/any Mode:Managed Frequency:5.18 GHz Access Point: Not-Associated Bit Rate:54 Mb/s Power Management:off Link Quality:0 Signal level:0 Noise level:0 Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Il ne vous reste qu'a cliquer sur l'icone de network-manager-gnome pour configurer votre connection wifi.
La résolution d'écran
Nous sommes en 1024x768, c'est bien dommage pour un si bel écran. Pour passer à une résolution supérieure, il nous faut installer le pilote de la puce graphique.
sudo software-properties -e universe sudo apt-get update sudo apt-get install 915resolution
Relancer le serveur X en appuyant simultanément sur les touches ctrl+alt+backspace. Il se configure tout seul en 1280x800.
Le rétro-éclairage
Sous mac os x, on peut changer la luminosité de l'écran avec les touches F1 et F2. C'est aussi possible sous Ubuntu (le dépôt n'est pas officiel mais considéré comme sûr) :
wget http://ubuntu.desrt.ca/macbook-backlight_0.0-1_i386.deb gdebi-gtk macbook-backlight_0.0-1_i386.deb sudo chmod u+s /usr/bin/macbook-backlight gconftool-2 --type string --set /apps/metacity/global_keybindings/run_command_1 "0x65" gconftool-2 --type string --set /apps/metacity/global_keybindings/run_command_2 "0xd4" gconftool-2 --type string --set /apps/metacity/keybinding_commands/command_1 "/usr/bin/macbook-backlight -10" gconftool-2 --type string --set /apps/metacity/keybinding_commands/command_2 "/usr/bin/macbook-backlight +10"
Si vous mettez l'ordinateur en veille, à son retour à la normale, l'écran restera noir. Pour corriger ça :
sudo ln -bs /bin/true /usr/sbin/laptop-detect
Redémarrez pour que ça prenne effet.
Attention, avec les macbook core 2 duo, le logiciel ne marche pas et retourne l'erreur "unexpected maximum brightness value" lorsque vous le lancez en ligne de commande. La procédure suivante permet de récupérer le logiciel, le modifier pour prendre en compte la particularité du macbook2 :
wget http://ubuntu.desrt.ca/macbook-backlight_0.0-1.tar.gz tar -xzf macbook-backlight_0.0-1.tar.gz cd macbook-backlight-0.0 sed -i s/0x90380000/0x50380000/ macbook-backlight.c gcc -Wall -DGENERATION_2 macbook-backlight.c -o macbook-backlight sudo cp macbook-backlight /usr/bin sudo chmod u+s /usr/bin/macbook-backlight
Maintenant vous pouvez tester avec :
macbook-backlight -10 macbook-backlight +10
Le trackpad
Il va falloir passer par une recompilation du noyau. Attention, ne prenez pas ça à la légère car ce n'est pas une opération comme une autre. En effet on va complètement modifier ce qui fait tourner votre machine. J'ai fait le test plusieurs fois : vous ne devriez pas avoir de problème si vous suivez à la lettre mes instructions.
En fait, le trackpad nécessite un driver différend de celui inclut de base dans le noyau. Il nous faut un module nommé "appletouch" qui n'est inclut par défaut dans le noyau que depuis la version 2.6.18 du noyau. Nous allons donc utiliser cette version. J'essayerais plus tard avec la toute dernière version 2.6.19, je me contente de vous proposer quelque chose qui marche.
Pour cela, il vous faudra d'abord quelques paquets à installer au préalable.
sudo apt-get build-dep linux-source-2.6.17
Nous allons récupérer le noyau 2.6.18 sur le site officiel des kernel linux. L'extraire, le compiler et fabriquer un package .deb.
ATTENTION : pour cette étape, se connecter via le réseau filaire et non par le wifi.
cd /usr/local/src/ sudo wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2 sudo tar xjf linux-2.6.18.tar.bz2 cd linux-2.6.18 sudo wget https://svn.sourceforge.net/svnroot/mactel-linux/trunk/kernel/mactel-patches-2.6.18/config-2.6.18 sudo mv config-2.6.18 .config sudo make-kpkg --revision 1 --append-to-version -custom --initrd kernel_image
Au bout d'une vingtaine de minutes de compilation, vous obtenez un fichier debian dans le répertoire situé au-dessus de celui dans lequel vous êtes. Remontons et installons le paquet.
cd .. sudo dpkg -i linux-image-2.6.18-custom_1_i386.deb
GRUB sera automatiquement mis-à-jour. Mais avant de redémarrer et de booter dessus, nous avons encore beaucoup de chose à faire. Premier problème, dans cette version du noyau nous venons de perdre le support de la carte wifi. En effet MadWifi n'est pas intégré de base dans les kernels officiels. Pas de soucis, juste quelques lignes à copier coller en plus.
cd wget http://heanet.dl.sourceforge.net/sourceforge/madwifi/madwifi-0.9.2.tar.gz tar xvzf mad*.tar.gz cd madwifi-0.9.2/ make && sudo make install sudo modprobe ath_pci
Ca c'était pour la correction du changement de noyau.
Si nous avons fait tout cela, ce n'est (certainement) pas pour le plaisir de compiler mais bien pour pouvoir avoir le driver synaptics. Répercutons cela dans le serveur x :
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf_save gksudo gedit /etc/X11/xorg.conf
Après le EndSection du configured Mouse, c'est à dire vers les ligne 62/63, coller ce paragraphe :
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "CorePointer" Option "Device" "/dev/input/mouse1" Option "Protocol" "auto-dev" Option "LeftEdge" "100" Option "RightEdge" "1100" Option "TopEdge" "50" Option "BottomEdge" "300" Option "FingerLow" "20" Option "FingerHigh" "30" Option "MaxTapTime" "150" Option "MaxTapMove" "90" Option "MaxDoubleTapTime" "180" Option "VertScrollDelta" "25" Option "HorizScrollDelta" "30" Option "VertTwoFingerScroll" "true" # Option "HorizTwoFingerScroll" "true" # Option "FastTaps" "true" Option "TapButton2" "2" # Option "TapButton3" "2" Option "MinSpeed" "0.5" Option "MaxSpeed" "1.5" Option "AccelFactor" "0.35" EndSection
Il faut aussi s'arranger pour que le driver synaptics soit chargé avant le Configured Mouse. Vers la ligne 168, vous devez voir :
InputDevice "Configured Mouse"
AVANT cette ligne, coller :
InputDevice "Synaptics Touchpad"
Ce sera tout pour ce fichier.
Nous venons de voir qu'il y a une opération à faire dans le xorg.conf pour que le driver "synaptics" soit chargé avant le "Configured Mouse". De même, il faut qu'on définisse à la main l'ordre de chargement de certains modules : AppleTouch doit chargé avant usbhid.
Pour cela, nous devons créer un fichier nommé /etc/modprobe.d/appletouch.
gksudo gedit /etc/modprobe.d/appletouch
Et y coller :
blacklist appletouch blacklist usbhid blacklist tsdev
On doit ensuite modifier le fichier /etc/modules. Ouvrir le fichier en
gksudo gedit /etc/modules
Puis ajouter à la fin :
# appletouch should load before usbhid so it claims the trackpad appletouch usbhid
Le clavier
Nous allons créer un fichier de configuration du clavier spécifique que mappage de nos MacBooks. Ce fichier sera placé dans /usr/share/xmodmap et se nommera "xmodmap.mb.fr".
Ouvrons le avec les droits d'administration (à taper en console)
sudo gedit /usr/share/xmodmap/xmodmap.mb.fr
Et y coller ça, puis enregistrer et quitter ce fichier.
clear Mod1 clear Mod2 ! keycode 8 = keycode 9 = Escape keycode 10 = ampersand 1 bar brokenbar keycode 11 = eacute 2 twosuperior onehalf keycode 12 = quotedbl 3 threesuperior threequarters keycode 13 = apostrophe 4 braceleft onequarter keycode 14 = parenleft 5 braceleft bracketleft keycode 15 = section 6 asciicircum keycode 16 = egrave 7 keycode 17 = exclam 8 keycode 18 = ccedilla 9 braceleft keycode 19 = agrave 0 braceright keycode 20 = parenright degree braceright bracketright keycode 21 = minus underscore keycode 22 = BackSpace Delete Delete keycode 23 = Tab keycode 24 = a keycode 25 = z keycode 26 = e E EuroSign keycode 27 = r R registered keycode 28 = t keycode 29 = y keycode 30 = u keycode 31 = i keycode 32 = o O at keycode 33 = p keycode 34 = dead_circumflex dead_diaeresis keycode 35 = dollar asterisk EuroSign keycode 36 = Return keycode 37 = Control_L keycode 38 = q keycode 39 = s keycode 40 = d keycode 41 = f keycode 42 = g keycode 43 = h keycode 44 = j keycode 45 = k keycode 46 = l keycode 47 = m keycode 48 = ugrave percent dead_acute keycode 49 = less greater backslash !twosuperior threesuperior keycode 50 = Shift_L keycode 51 = backslash sterling dead_grave mu keycode 52 = w keycode 53 = x keycode 54 = c C copyright keycode 55 = v keycode 56 = b keycode 57 = n N asciitilde keycode 58 = comma question dead_cedilla keycode 59 = semicolon period keycode 60 = colon slash Multi_key keycode 61 = equal plus plusminus keycode 62 = Shift_R keycode 63 = KP_Multiply keycode 64 = Alt_L keycode 65 = space keycode 66 = Caps_Lock keycode 67 = F1 F11 keycode 68 = F2 F12 keycode 69 = F3 F13 keycode 70 = F4 F14 keycode 71 = F5 F15 keycode 72 = F6 F16 keycode 73 = F7 F17 keycode 74 = F8 F18 keycode 75 = F9 F19 keycode 76 = F10 F20 keycode 77 = Num_Lock keycode 78 = Scroll_Lock keycode 79 = KP_7 keycode 80 = KP_8 keycode 81 = KP_9 keycode 82 = KP_Subtract keycode 83 = KP_4 keycode 84 = KP_5 keycode 85 = KP_6 keycode 86 = KP_Add keycode 87 = KP_1 keycode 88 = KP_2 keycode 89 = KP_3 keycode 90 = KP_0 keycode 91 = KP_Decimal keycode 92 = 0x1007ff00 keycode 93 = keycode 94 = at numbersign ! less greater backslash keycode 95 = F11 keycode 96 = F12 keycode 97 = Home keycode 98 = Up Up Prior keycode 99 = Prior keycode 100 = Left Left Home keycode 101 = Begin keycode 102 = Right Right End keycode 103 = End keycode 104 = Down Down Next keycode 105 = Next keycode 106 = Insert keycode 107 = Delete keycode 108 = Delete keycode 109 = Control_R keycode 110 = Pause keycode 111 = Print keycode 112 = KP_Divide keycode 113 = Mode_switch keycode 114 = Break keycode 115 = Mode_switch keycode 116 = Mode_switch keycode 117 = Multi_key add Mod1 = Alt_L add Mod2 = Mode_switch
Pour faire marcher cette nouvelle configuration, faîtes donc :
xmodmap /usr/share/xmodmap/xmodmap.mb.fr
Et plus généralement, pour le lancer à chaque ouverture de session, ajouté cette ligne dans les programmes au démarrage de la session (Système > Préférences > Sessions)
Accéder à la partition Mac os x
Attention, ce ne sera qu'en lecture seule et accessible par /media/mac
sudo mkdir /media/mac sudo mount -t hfsplus /dev/sda2 /media/mac cd /media/mac
Pour que la partition soit montée directement à chaque démarrage éditez le fichier "/etc/fstab"
gksudo gedit /etc/fstab
Et ajoutez-y la ligne suivante
/dev/sda2 /media/mac hfsplus defaults 0 1
Par contre votre partition hfsplus sera montée en lecture seulement. Pour vous permettre d'écrire dessus, il vous faut redemarrer sous Os X et dans le terminal taper :
diskutil disableJournal /dev/votre_partition
Ce qui désactivera la journalisation du systeme de fichier hfsplus et vous permettra d'écrire dessus depuis linux
La Webcam iSight
Pour les versions core 2 duo
Installation de libusb-dev et des headers de votre kernel
sudo apt-get install libusb-0.1-4 libusb-dev linux-headers-$(uname -r) libgpg-error-dev libgcrypt11-dev
Téléchargement des sources de linux-uvc proposé par Ronald S. Bultje. Elles contiennent un outils d'extraction du firmware de la carte wifi
wget http://people.freedesktop.org/~rbultje/linux-uvc-0.1.0-e.tar.gz
Extraction de l'archive
tar zxvf linux-uvc-0.1.0-e.tar.gz
Création et installation du module uvcvideo
cd linux-uvc-0.1.0-e make sudo make install
Chargement du firmware de l'iSight (votre patition mac osx doit etre accéssible dans /mnt/mac. voir ci-dessus)
sudo ./extract /media/mac/System/Library/Extensions/IOUSBFamily.kext/Contents/PlugIns/AppleUSBVideoSupport.kext/Contents/MacOS/AppleUSBVideoSupport
Chargement du module
sudo modprobe uvcvideo
Pour que le module soit chargé au démarrage
sudo gedit /etc/modules
Et rajouter "uvcvideo" en dernière ligne.
Sources
- Tutoriel français pour MacIntel. Attention il n'est pas à jour et ne correspond pas du tout à ce que je vous ai proposé.
- Tutoriel anglais pour MacBook. Cet article que la traduction de ce tutoriel. Par soucis de simplification j'ai volontairement zappé quelques précisions techniques que je ne jugeais pas utile. De plus je réserve toute la partie "post-installation" pour un billet à venir. Je ne suis pas entièrement d'accord avec la suite du tutoriel donc il y aura pas mal de différences.
Merci à tous ces auteurs d'excellent articles.
Auteur : bastnic qui est tout content d'avoir fait le cobaye avec son MacBook afin de rédiger ce tutoriel