Debian sur un MacMini Intel


Tentatives et enseignements


Voici la petite histoire de l'installation de Debian sur un Mac Mini à processeur intel (acheté en aout 2006). Ceci n'est pas un howto. Si vous voulez néanmoins vous en inspirer, lisez bien l'ensemble des étapes (qui recellent les enseignements de mes fourvouements). La quatrième tentative s'est avérée payante. C'est toujours cette installation que j'utilise aujourd hui .

Attempt 0


Ma première tentative d'installation (dual boot) de Debian sur mon MacMini a commencé directement après avoir sorti le mac de sa boite. Comme il est d'usage, MacOS X occupe alors tout le disque. Heureusement, la ligne de commande permet désormais de redimensionner les partitions. Dans le Terminal, j'ai saisi :

sudo diskutil resizeVolume disk0s2 20000M "Linux" Debian 25000M "MS-DOS FAT32" Echange 45000M

Je me suis très vite rendu compte de mon erreur. J'avais réduit la partition de Mac OS X à 20 Go alors que le système en occupait déjà 17. Malheureusement, la même commande n'a dès lors plus fonctionné. Même supprimer les partitions suivantes (alors vides) n'a pas résolu le problème.

Attempt 1


Je me suis alors résolu à réinstaller Mac OS X, en "fresh install", à partir les DVD fourni... et ce quelques heures seulement après que le livreur de chez TNT l'ai déposé chez moi. J'ai profité de cette réinstallation pour alléger le système (boutons options, dans les écrans d'installation). J'ai ensuite opéré la même manoeuvre de redimensionnement dans le terminal (en prenant soin de choisir cette fois 30 G pour le système de Cupertino).

J'ai utilisé un CD d'install de Debian (etch) pour installer Linux sur la partition 3 de mon disque. Cela fut l'occasion pour moi d'utiliser pour la première fois l'installation en mode graphique (installgui). Waw! L'installation s'est bien déroulée... jusqu'à l'installation du gestionnaire de démarrage. J'avais lu quelques discussions expliquant que les nouveaux mac Intel étaient dépourvu de MBR. J'ai donc essayé d'installer un gestionnaire au début de la partition dédiée à Linux (la 3ème). Bien que le CD Debian propose trois solutions alternatives (y compris elilo). Aucun ne s'est installé.

J'ai rebooté en Mac OS X, perplexe. Je suis alors (enfin) passé sur le site de refit.soourceforge.org pour tester ce gestionnaire d'EFI (version 0.7). J'ai copié le contenu de l'archive à la racine du disque de Tiger et l'ai "activé" (./enable.sh). Au redémarrage, j'avais bien alors un écran me permettant de choisir entre différents disques à booter, mais mon Debian fraichement installé ne fonctionnait tout simplement pas.

Attempt 2


J'ai envisagé une autre option. Je suis passé par le paquet Multiboot de Panayotis Katsaloulis (v0.1.1). Celui ci me permit d'aller plus loin. En suivant le README FIRST joint, j'ai en effet pu installer Debian, rebooter et passer de Mac OS X à Debian à l'envi, grâce à ./enable-always de efi, version 0.4 (à chaque boot, on peut choisir que booter, si on choisit Linux, elilo prend le relais). Ca a fonctionné "out of the box", sauf que j'ai du modifier le /efi/linux/elilo.conf pour lui stipuler que le "root=" était sur la troisème partition et non la quatrième (conformément à l'emplacement auquel l'auteur du paquet conseillait de l'installer). Bravo donc pour ce paquet qui me rapproche de mon but.

Je n'étais cependant toujours pas pleinement satisfait du résultat. En cause, la carte graphique. Pour fonctionner, j'avais configuré xorg avec fbdev comme pilote. Mais la résolution maximale était alors de 1024... Résultat: des bords noirs autour de mon gestionnaire de fenêtre. Vu que je ne me suis pas acheté un écran 17 pouces pour ne bénéficer que de 13, je me suis résolu à réinstaller une fois encore toute la machine. La raison est la suivante, pour tirer parti de la carte graphique, il fait installer le paquet 915resolution et emprunter i810 comme pilote. Cependant, une telle configuration nécessite un MBR que seul Boot Camp semble pouvoir procurer ( http://www.mactel-linux.org/wiki/Dual_Booting ) . malheureusement, ce programme refusait de se lancer sur mon disque déjà modifié. Ce têtu réclamait un dique monolithique.

Attempt 3 :: Success


On est donc reparti pour réinstaller. Tiger occupe tout le disque (de sorte que Boot Camp n'aie aucune raison de se plaindre). Cette stratégie diffère donc de ce que j'avais suivi jusque là
http://wiki.onmac.net/index.php/Triple_Boot_via_BootCamp


Pour cet essai, je suis donc désomais http://www.mactel-linux.org/wiki/Dual_Booting
Après installation et lancement ( Applications::Utilitaires ) de l'assistant de Boot Camp sous Mac OS X afin de couper en deux mon dique fraichement installé (30 G pour Tiger, le reste pour Linux), j'ai booté sur le Live CD d'Ubuntu qui trainait sur mon bureau (merci Tintamarre), et ai réalisé une table de partition correcte avec parted ( en ligne de commande).


J'ai ensuite installé Debian Etch avec le CD d'installation. Lilo est installé indépendemment (après avoir "sauté" cette étape dans le processus d'installation). J'avais installé dans un premier temps le paquet 915resolution (j'avais souvenir d'avoir lu quelque part que cela pouvait aider). C'était une mauvaise idée; le système s'est avéré très lent après cet installation. Enlever ce paquet a tout arrangé. Ça marche!!! Et parfaitement. Pour que le CD ne soit pas vu comme un hd alors que le disque dur est sd (Serial ATA), j'ai inséré cette ligne dans un Terminal (en root) :
echo options libata atapi_enabled=1>/etc/modprobe.d/atapienable && 
update-initramfs -u

(ligne pechée sur http://www.thinkwiki.org/wiki/Problems_with_SATA_and_Linux )

J'ai ensuite ajouté un fichier swap (vu que je n'ai prévu aucune partition à cet effet, tenant compte, sur ce point, de la limitation à 4 partitions -primaire seulement- disponibles lorsque l'on combine et synchronise EFI avec MBR).

Son et nouveau noyau
Tout (ce que j'ai testé) fonctionne directement... sauf le son. D'autres tentatives ( http://www.fbunet.de/mac_mini.shtml ) semblent confirmer que c'est normal avec un noyau 2.6.16...
J'ai donc envisagé de compiler un nouveau noyau... Les sources se récupèrent avec git (attention, ce n'est pas apt-get install git mais apt-get install cogito qui convient d'entrer en root pour récupérer ce programme).
apt-get install cogito 
cd /usr/src/
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git linux-2.6

C'est l'occasion de s'intéresser aux patchs disponibles pour adapter au mieux les sources à ce type de plateforme.

...mais je n'ai pas eu le temps de compiler le noyau car, quelques semaines après, un apt-get dist-upgrade me fournit un noyau 2.6.17 et le son apparu !
[ au besoin, passer par alsaconf ]

Réseau

Le Mac Mini intel comporte un chipset Wifi Atheros

Petite entorce au libre absolu :
su
apt-get install module-assistant
apt-get install madwifi-source # non-free
apt-get install madwifi-tools # contrib
m-a prepare
m-a a-i madwifi


Pour être sûr que le module fraichement compilé se charge au démarrage de la machine, j'ai ajouté "ath_pci" à /etc/modules

J'ai ensuite modifié /etc/network/interfaces
NB ath0 et non pas eth1

auto ath0
iface ath0 inet dhcp


En outre, il faudra veiller à reconstruire le module (m-a prepare && m-a a-i madwifi) à chaque mise à jour du noyau.

Et voilà !
      | FPLSE | HEC | FaSS |