Dernière mise à jour : 22/09/2004
Ayant troqué mon Sony Vaio pour un Powerbook de chez Apple, je savais qu'il allait être fun de mettre Linux dessus. Je vous délivre ici donc le fruit de ma maigre expérience en la matière. Vous pourrez consulter à la fin de cet article les liens en Anglais des pages qui m'ont aidées à réaliser cet article et à paramétrer mon Powerbook correctement. La dernière révision de cet article contient les infos et mes paramètres pour faire tourner un noyau 2.6 (testé avec le 2.6.2-ben1).
Vu que j'ai créé cette page il y a quelques mois, j'ai trouvé important de signaler que je l'ai testé avec plusieurs versions de Linux, j'ai réussit une installation sans encombres d'une Debian sarge et sid, une Gentoo 2004.0, et dernière en date, une sourcemage Linux 0.9.1
Tout comme ma page sur le Sony Vaio, voici la liste du matériel afin de bien connaître son ennemi :
- Powerbook G4 800Mhz
- Host bridge: Apple Computer Inc. UniNorth 1.5 AGP
- VGA compatible controller: ATI Technologies Inc Radeon R250 Lf [Radeon Mobility 9000 M9] (rev 01)
- Host bridge: Apple Computer Inc. UniNorth 1.5 PCI
- Class ff00: Apple Computer Inc. KeyLargo Mac I/O (rev 03)
- USB Controller: Apple Computer Inc. KeyLargo USB
- USB Controller: Apple Computer Inc. KeyLargo USB
- CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 02)
- Host bridge: Apple Computer Inc. UniNorth 1.5 Internal PCI
- Class ffff: Lucent Microelectronics FW323 (rev ff)
- Ethernet controller: Apple Computer Inc. UniNorth GMAC (Sun GEM) (rev 01)
J'ai choisi d'installer Linux Debian dessus car j'aime beaucoup cette distribution et l'essentiel des documentations que j'ai trouvé pointaient dessus. Sachez que Gentoo propose également un guide complet pour PPC mais ne voulant pas violenter le processeur, j'ai préféré prendre une solution en paquets. Il vous faudra donc télécharger le CD d'installation pour PPC. La page des miroirs est disponible ici. Vous pouvez par exemple récupérer cette image. Je ne télécharge qu'un seul CD car je fais une installation simple avant de passer par le réseau. Il vous faudra repartitionner votre disque afin de laisser de la place pour Debian et MacOS.
Démarrez donc sur le CD de Debian en premier et commencez le programme d'installation jusqu'au partitionnement. Lorsque vous lancerez mac-fdisk, il vous faudra alors créer des partitions précises pour que vous puissiez installer un boot record (par l'intermédiaire de yaboot). Voici le détail de mes partitions :
-
titanux:~# mac-fdisk -l
/dev/hda
# type name length base ( size ) system
/dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/hda2 Apple_Bootstrap bootstrap 1600 @ 64 (800.0k) NewWorld bootblock
/dev/hda3 Apple_UNIX_SVR2 swap 1048576 @ 1664 (512.0M) Linux swap
/dev/hda4 Apple_UNIX_SVR2 root 52428800 @ 1050240 ( 25.0G) Linux native
/dev/hda5 Apple_HFS MacOSX 52428800 @ 53479040 ( 25.0G) HFS
/dev/hda6 Apple_Free 11302400 @ 105907840 ( 5.4G) Free space
Lorsque vous avez partitionné et sauvé ces informations, redémarrez le portable et installez MacOS X dessus. Il va en effet recouvrir le secteur de démarrage de yaboot, je vous conseille donc d'installer MacOS X en premier puis de finir par Debian. Lancez ensuite le CD d'installation de Debian sans refaire le partitionnement et formatez les partitions comme d'habitude. Yaboot va s'installer comme un grand, ce gestionnaire de démarrage est l'équivalent de lilo/grub sous PC. Il s'installe sur une petite partition dédiée et démarre votre kernel préféré. A la fin de la première partie d'installation, redémarrez le portable et bootez sur Debian (c'est l'option par défaut). Terminez la seconde partie d'installation puis passez en sarge/sid. Vous pouvez alors mettre à jour votre système par un simple apt-get update && apt-get dist-upgrade.
Pensez bien à utiliser un miroir près de chez vous. Mettez alors à jour votre base apt par un update. XFree 4.3.0 est désormais installé par défaut, assurez vous tout de même de taper apt-get install x-window-system. Copiez ensuite mon fichier XFree86 dans votre /etc/X11. Il ne vous reste alors qu'à installer votre gestionnaire de bureau préféré. Alternativement, téléchargez mon fichier pour xorg.conf qui marche pour Gentoo et Sourcemage.
Vous remarquerez alors que l'accélération 3D n'est pas vraiment très bonne ... Il vous faut donc recompiler un kernel adapté au PowerBook. En consultant quelques sites, tout le monde semble recommander le noyau benh. J'ai donc installé ce noyau. Pour cela, rendez vous sur la page : http://www.ppckernel.org/kernel.php?id=23.
Prenez le dernier kernel à la mode, j'ai fait ce dernier test de mise à jour avec le kernel 2.4.24-ben1. Voici la version de mon fichier de configuration. J'ai bien sûr compilé mon noyau en suivant la méthode Debian (c-a-d en utilisant le paquet kernel-package. Voici d'ailleurs mon script pour générer un noyau :
-
REV=$(date "+%y%m%d%H%M")
HOST=$(hostname)
make-kpkg --revision $HOST.$REV debian
make-kpkg kernel_image modules_image
Configurez ensuite yaboot. Pour cela éditez /etc/yaboot.conf et vérifiez que vous avez quelque chose ressemblant à mon fichier ci-dessous. Les vmlinuz sont bien évidemment des liens symboliques vers les vrais noyaux.
-
boot=/dev/hda2
device=hd:
partition=4
root=/dev/hda4
timeout=60
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
image=/vmlinux
label=Linux
read-only
image=/vmlinux.old
label=Linux.old
read-only
macosx=/dev/hda5
Noyau 2.6 : Le noyau 2.6 sous Debian (format paquets) ne marche pas correctement pour moi, surtout concernant la carte réseau, j'ai donc utilisé la version sources Disponible à l'adresse ci-dessous. J'ai pour cela utilisé le noyau venant de la branche stable 2.5-benh. La version actuelle est la 2.6.5-rc3-ben0. La dernière version de ce noyau est récupérable à l'adresse suivante : http://www.ppckernel.org/tree.php?id=3. Concernant Debian, il vous faudra scander un apt-get install module-init-tools bien évidemment. Vous pouvez ensuite utiliser mon fichier de configuration pour ce faire. J'ai ensuite compilé mon kernel façon Debian en créant un paquet installable par dpkg. Vous pouvez pour cela utiliser :
Après un redémarrage, vous devriez être sous votre nouveau noyau. Reste alors à installer l'accélération 3D. Cette démarche n'est nécessaire que pour le noyau 2.4, sous 2.6, activez bien AGPGart, DRI et Radeon comme mentionné dans mon fichier de configuration kernel. Donc pour les 2.4, installez les modules suivants : apt-get install apt-get install xlibmesa-drm-srcxserver-xfree86-dri-trunk xlibmesa3-dri-trunk dh-kpatches puis rendez vous dans /usr/src/modules/xlibmesa-drm . Puis faîte un make. Au moment où je l'ai testé, il n'était pas possible de faire des modules en paquet à cause d'un problème de compilation. Voici donc ma procédure bête et méchante :
-
cp *.o /lib/modules/2.4.23-ben1/kernel/drivers/char/drm/
depmod -a
modprobe agpgart
modprobe drm
modprobe radeon
echo "pre-install radeon modprobe agpgart" > /etc/modutils/drm
update-modules
Pour émuler les boutons de la souris, je modifie le fichier /etc/sysctl.conf et ajoutez :
-
dev/mac_hid/mouse_button_emulation=1
dev/mac_hid/mouse_button2_keycode=68
dev/mac_hid/mouse_button3_keycode=87
Ici encore, applicable seulement au 2.4, pour le 2.6, faire : apt-get install alsaconf && alsaconf. Pour le 2.4, j'ai pour cela utilisé ALSA. Prenez la dernière version des pilotes disponibles, décompactez cela dans un répertoire, et positionnez vous dedans. Faîtes alors :
-
apt-get install alsa-source alsa-utils
cd /usr/src/
tar xvjf alsa-source.tar.bz2
cd modules/alsa-source
./configure --with-cards=powermac
make
make install
ln -s /etc/alsa/modutils/1.0 /etc/alsa/modutils/0.9
update-modules
/usr/share/alsa-base/snddevices
alsaconf
modprobe snd-pcm-oss
modprobe snd-mixer-oss
alsamixer
J'ai noté un soucis lorsque mon Powerbook se connecte sur des switches Cisco, il ne négocie que du Half Duplex ... J'ai donc téléchargé ethtool, que vous pouvez installer en faisant : apt-get install ethtool puis utiliser la première commande pour régler la vitesse et la seconde pour voir le résultat :
-
ethtool -s eth0 duplex full speed 100 autoneg off
ethtool eth0
-
orinoco.c 0.13e (David Gibson
airport.c 0.13e (Benjamin Herrenschmidt
Airport at physical address 80030000
eth1: Station identity 002c:0074:0058:0078
eth1: Looks like a Lucent/Agere firmware version 8.70
eth1: Ad-hoc demo mode supported
eth1: IEEE standard IBSS ad-hoc mode supported
eth1: WEP supported, 104-bit key
eth1: MAC address 00:10:23:0C:D7:D7
eth1: Station name "HERMES I"
eth1: ready
airport: card registered for interface eth1
Pour mettre le portable en pause, je vous conseille l'excellent paquet http://pbbuttons.sourceforge.net/ permettant de controller la mise en pause de votre portable. J'ai soumis deux sorts dans sourcemage pour leur support, il s'agit des bugs #7410 et #7411.
J'aimerais citer deux sources extrêmement utiles pour la réalisation de cette page :
Et voilà ! Cette dernière révision marche à présent correctement avec 3 types de Linux, et je dois dire que plus j'utilise Sourcemage dessus et plus je l'aime. Si vous avez des commentaires, vous connaissez mon email.