Linux PPC sur un Powerbook Lombard
powerbook


[back]

Voilà, j'ai fini d'installer linux sur mon powerbook. Les spécificités de cette machine, ajoutées aux spécificités d'une configuration française, font que l'installation et la configuration sont quand même achtement moins rapides et faciles que pour un i386 de bureau :)

Je vais donc en résumer les étapes, histoire d'essayer de centraliser tout ce qui m'a aidé sur Internet.

Commençons par le commencement : le téléchargement d'une distribution. J'ai utilisé LinuxPPC, disponible ici: http://www.linuxiso.org/download/lppc-2k-q4.iso. Son checksum MD5 est (introuvable sur linuxiso.org) :
b0955a19a0e7bc016d252871d9d784df

Graver la distrib est relativement facile, sauf sous Windows : Il s'agit d'une image au format HFS, et la plupart des softs sous Windows disent que l'image est non valide. Soit réussir à forcer, soit graver sous Linux, soit graver sous MacOS.

Ensuite il s'agit de configurer les partitions. Toutes les indications sont ici : http://penguinppc.org/projects/yaboot/doc/yaboot-howto.shtml
http://penguinppc.org/projects/yaboot/doc/mac-fdisk-basics.shtml
Ainsi que sur pas mal d'autres pages, le CD d'install, ...
Elles sont aussi traduites en français ici : http://www.linux-france.org/macintosh/.
Cette phase est relativement chiante et j'ai cassé ma partition existante que je ne voulais pas, au départ, détruire. Tant pis. Faites attention, donc ! Et surtout (c'est ce qui m'est arrivé), si vous avez l'habitude des installations de Linux sur plate-formes normales, x86 par exemple, oubliez tout ce que vous savez. Et n'utilisez pas fdisk au lieu de pdisk !

et SAUVEGARDEZ vos données avant !

Il faut pour pouvoir démarrer du disque dur une partition Apple_Bootstrap, 800ko suffisent. Pour la créer, il faut utiliser la commande "C" de pdisk.

Les partitions Linux sont, elles, de type Apple_UNIX_SVR2.

Voici ma table de partition à la fin de l'opération :
Partition map (with 512 byte blocks) on '/dev/hda'
#: type name length base ( size ) 1: Apple_partition_map Apple 63 @ 1 2: Apple_Driver43 Macintosh 54 @ 64 3: Apple_Driver43*Macintosh 74 @ 118 4: Apple_Driver_ATA*Macintosh 54 @ 192 5: Apple_Driver_ATA*Macintosh 74 @ 246 6: Apple_FWDriver Macintosh 200 @ 320 7: Apple_Driver_IOKit Macintosh 512 @ 520 8: Apple_Patches Patch Partition 512 @ 1032 9: Apple_HFS "Untitled" 102400 @ 1544 ( 50.0M) 10: Apple_UNIX_SVR2 swap 200000 @ 103944 ( 97.7M) 11: Apple_Bootstrap bootstrap 62144 @ 303944 ( 30.3M) 12: Apple_UNIX_SVR2 / 16777216 @ 366088 ( 8.0G) 13: Apple_UNIX_SVR2 /home 21926753 @ 17143304 ( 10.5G)
Les partitions Driver, Patch, etc, ne sont nécessaires que pour un double-boot Linux/MacOS. Elles ne sont pas nécessaires si vous n'installez que linux.
Notez le numéro de la partition root, celle qui sera montée sur /, il sera utile pour configurer yaboot, l'utilitaire de mise à jour du boot.

Vous pouvez maintenant terminer l'installation, en choisissant les packages etc. Pensez à régler les "trucs supplémentaires" à la fin, ça marche bien et vous évitera quelques configurations manuelles. Attention, au moment de choisir un mot de passe, vous êtes en clavier américain.

Redémarrez sur le CD, et choisissez de démarrer l'installation que vous venez de terminer, en appuyant sur tab pendant l'invite graphique yaboot, avant la fin du décompte "booting in X seconds". Choisissez, avec les flèches gauche et droite, "LinuxPPC accelerated video", puis, avec les flèches haut, et bas, allez jusqu'à "root: autodetect", et enfin tapez (attention, clavier américain, le / est sur le =, et le a sur le q) votre partition root (/dev/hda12 dans mon cas).

Si tout se passe bien votre Linux tout neuf démarre :)

Créez un fichier /etc/yaboot.conf sur ce modèle.

En pensant bien à remplacer - "boot=/dev/hda9" par la partition Apple_Bootstrap que vous avez créée, - "partition=12" par le numéro de la partition root - "root=/dev/hda12" dans la section "image" par la partition root.

Exécutez ensuite /usr/local/sbin/ybin -v, puis redémarrez, cette fois sans appuyer sur C. Vous devriez démarrer du disque dur.

*DISCLAIMER : J'ai écrit cette partie principalement de mémoire, je n'ai pas le courage de recommencer mon installation maintenant qu'elle est faite :) Si vous notez des oublis ou des erreurs, merci de me les signaler !

Voilà, vous êtes maintenant sous un Linux "normal", c'est-à-dire relativement inadapté au Lombard.

Maintenant, vous aurez des problèmes de clavier : -Des packages très bien, qui contiennent tout ce qu'il faut, se trouvent ici : http://www.linux-france.org/macintosh/#clavier

Les deux fichiers de définition de touches seront installés ici :
Pour la console : /usr/lib/kbd/keymaps/mac/azerty/mac-fr-ext_new.kmap.gz
Pour XFree : /usr/X11R6/lib/X11/xkb/symbols/macintosh/fr_new

Vous pouvez choisir le layout en console avec la commande "kbdconfig". Pour celui de XFree, il s'agit de modifier le fichier /etc/X11/XF86Config : ajoutez (ou modifiez) la ligne XkbLayout pour y mettre :
XkbLayout	"macintosh/fr_new"


Puis, des problèmes de souris : il manque le clic droit et celui du milieu, pourtant tellement utiles sous Linux. Si vous utilisez une souris USB externe, pas de problèmes ; si vous n'avez que le trackpad, vous pourrez utiliser des touches du clavier pour les simuler. J'utilise f11 et f12, et ceci est activé grâce aux lignes
echo "1" >/proc/sys/dev/mac_hid/mouse_button_emulation
echo "87">/proc/sys/dev/mac_hid/mouse_button2_keycode
echo "88">/proc/sys/dev/mac_hid/mouse_button3_keycode

à ajouter dans /etc/rc.local. Pour ceux qui, comme moi, ne supportent pas le tap sur le trackpad, vous pouvez télécharger trackpad (http://rpmfind.net/linux/RPM/yellowdog/1.0/champion-1.2/ppc/YellowDog/RPMS/trackpad-0.1-0.ppc.html) qui permet de le désactiver. Pareil, une ligne trackpad notap dans /etc/rc.local suffit :)
Enfin, j'ai fait un petit patch du noyau 2.4.18 qui permet de faire des ctrl-clics, comme sous MacOS: linux-2.4.18-ctrlclick.patch.
Son défaut est qu'il faut relâcher Contrôle seulement après avoir relâché le clic.

Pour les problèmes de profondeur de couleur : par défaut X sera en 8bits, c'est à dire 256 couleurs. Je n'ai pas réussi à utiliser plus de 15bits avec le XFree 3.3.6 d'origine. Ca se règle dans /etc/X11/XF86Config, la ligne Depth de la Section "Screen". Après avoir upgradé à XFree86 4.1.0, le mode 24 bits fonctionne, mais lentement. Pas le 16bits. XFree 4.1.0 est disponible ici : http://ftp.xfree86.org/pub/XFree86/4.1.0/ Lisez la doc pour l'installer :)
Mise à jour: Le CVS de DRI.sourceforge.net, auquel on ajoute un patch, permet d'obtenir l'extension Xvideo (XV), qui permet d'utiliser l'overlay pour la vidéo, ainsi que le DRI (direct rendering infrastructure), qui accélère grandement l'openGL. Voyez cette deuxième page pour un howto détaillé.

Puis des problèmes de son : esound fonctionne très mal avec le noyau d'origine. Xmms par exemple, lit les mp3s en zappant 2 secondes sur 3. le driver OSS fonctionne bien mais interdit le réglage du volume. Le problème s'est résolu en upgradant le noyau en version 2.4.18 (http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.18.tar.bz2).

Avant d'upgrader le noyau en 2.4.18 pour résoudre les problèmes d'esound, vous pouvez en profiter pour télécharger pbbuttons, utilitaire qui vous permettra d'utiliser les boutons de contrôle de luminosité et de volume, ici : http://www.cymes.de/members/joker/projects/pbbuttons/pbbuttons.html Ainsi que le patch du noyau qui vous permettra de l'utiliser (j'ai ouï dire que ce patch était inutile pour les noyaux postérieurs au 2.4.18) : http://www.cymes.de/members/joker/projects/kernel/pbbuttons.patch

Vous pouvez appliquer le patch facilement grâce à "patch -p1 <chemin_vers/pbbuttons.patch", dans /usr/src/linux. Tant que vous y êtes, installer ext3 et un petit tune2fs -j /dev/hda12 ne peut pas faire de mal et ne demande pas trop d'efforts, si ce n'est que vous devrez vous assurer que votre yaboot est d'une version supérieure ou égale à la 1.3.5 (en dessous, il refuse de charger le noyau).

La compilation du noyau est standard, make xconfig, make dep, make, make modules, make modules_install, cp vmlinux /boot/vmlinux-2.4.18, vi /etc/yaboot.conf pour ajouter le nouveau noyau, /usr/local/sbin/ybin pour mettre à jour yaboot, reboot.

Pour utiliser pbbuttons il faudra bien sûr le compiler et l'installer, puis mettre un script init.d comme celui-ci : /etc/init.d/pbbuttonsd, le lier dans /etc/rc2.d et /etc/rc5.d, et pour avoir les jolies barres de défilement quand les boutons sont appuyés, lancer gtkpbbuttons, que l'on peut appeler dans les fichier ~/.gnome/session-manual : 0,RestartCommand=/usr/local/bin/gtkpbbuttons -d
et ~/.gnome/session-properties: 0=/usr/local/bin/gtkpbbuttons -d

Enfin, pour pouvoir utiliser les fonctions de batterie, pmud vous sera utile (ce démon contrôle le niveau de batterie, met l'ordinateur en veille, etc) : http://sourceforge.net/projects/apmud/ et GKrellM (http://www.lycestra.com/gkrellm-pmu.html) pour avoir un contrôle graphique. Curieusement, le trackpad se remet à intercepter les taps après une mise en veille, rajouter "trackpad notap" dans la section wakeup de /etc/power/pwrctl lui règlera son compte.

Quatre petits liens utiles :
http://homepage.mac.com/pauljlucas/personal/powerbook/
http://linuxppc.org/hardware/lombard/
http://webperso.easyconnect.fr/eherlent/linuxmac.html
http://www.linux-france.org/macintosh/
Ces liens m'ont énormément aidé.

Et voilà !

Merci à Éric Deveaud pour ses corrections et les URLs qu'il m'a conseillées.

[back]
Colin Leroy - this article is under the Free documentation licence.