====== iBook G4 ======
//Installer et configurer Debian pour un Apple iBook G4.//
===== Introduction =====
Ci-dessous gisent les restes d'un howto que j'avais commencé à écrire en décembre 2003 à propos de l'installation de Debian GNU/Linux sur ma première (et dernière?) machine Apple. À l'époque installer une debian était un véritable parcours du combattant, mais beaucoup de choses ont évolué depuis.
Grâce à la [[http://www.debian.org/News/2005/20050606|sortie]] de //Sarge// le 6 juin 2005
[[http://www.debian.org/News/2007/20070408|sortie]] de //Etch// le 8 avril 2007,
procéder à une installation de base du système d'exploitation ne requière plus moulte //hack// plus ou moins foireux, vous pouvez simplement lire le [[http://www.fr.debian.org/releases/stable/powerpc/|Manuel d'installation]] officiel.
:!: Après avoir effectué l'installation grâce à la branche stabe de Debian, je vous recommande d'utiliser //SID//, la version de développement de Debian, pour une utilisation 'desktop' plus agréable.
==== Contact et Feedback ====
Les commentaires et critiques concernant ce document peuvent m'être directement envoyés par mail à
==== Remerciements ====
Je voudrais remercier les développeurs du noyau qui font un boulot fantastique, et plus paticulièrement les mainteneurs du port de l'architecture PowerPC : Benjamin Herrenschmidt et Paul Mackerras.
On ne remerciera jamais assez [[http://www.debian.org/devel/people|tous les développeurs du projet Debian]] pour cette formidable (et trollesque) distribution.
Merci également à David [[http://sveetch.net/|sveetchfr]] Thenon ainsi qu'à Victor [[http://www.xloling.org/|zoph]] Grenu pour avoir béta-testé ce document et m'avoir apporté plein de corrections.
===== Installation =====
==== MacOS X ====
Si vous voulez conserver MacOS X, vous allez devoir le réinstaller parce que nous devons re-partitionner le disque dur afin d'installer Debian et malheureusement l'installateur de cette dernière ne peut pas (encore?) toucher aux partitions HFS+ sans y effacer les données.
:!: il semblerait qu'il y ai moyen de réduire la partition MacOSX sans perdre les données, voir [[http://lists.debian.org/debian-powerpc/2005/08/msg00196.html|ce mail de Sven Luther]] sur debian-powerpc
Bien évidement cette section est entièrement optionnelle, vous avez parfaitement le droit de n'installer que Debian :-)
* Sous MacOS X : insérez le 1er cédé et lancez l'installateur (qui n'est en fait qu'une simple fenêtre vous avertissant que l'ibook va redémarrer)
* Une fois véritablement dans l'installateur, cherchez le DriveSetup dans le menu et utilisez-le afin de couper votre disque dur en 2. Pour cela, créez une partition au début du disque qui contiendra toute les données de la Debian (swap compris) de type //MacOS Etendue//. Et en fin de disque, la partition pour MacOS X.
* Vous n'avez plus qu'à suivre les instructions de l'assistant afin d'installer le système.
==== Debian GNU/Linux ====
Choisissez entre la [[http://www.debian.org/CD/netinst/|netinstall]] ou l'[[http://www.debian.org/distrib/cd|iso complète]].
Mettez la galette dans le lecteur, démarrez la machine et pressez la touche ''[c]''
L'installateur Debian est très bien réalisé, la plupart du temps cela se résume à appuyer sur ''[enter]''. Ainsi vais-je me contenter de décrire l'étape du partitionnement.
=== Partitionnement du disque dur ===
D'origine, votre disque ressemblait à ça :
# type name length bas ( size ) system
/dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/hda2 Apple_HFS MacOSX xxxxx @ xxxxxxx ( 39.8G) HFS
Après la réinstallation de MacOSX, il ressemble à :
# type name length base ( size ) system
/dev/hda1 Apple_partition_map Apple 63 @ 1 ( 31.5k) Partition map
/dev/hda2 Apple_HFS Debian xxxxx @ xxxxxxx ( xxxxx) HFS
/dev/hda3 Apple_HFS MacOSX xxxxx @ xxxxxxx ( xxxxx) HFS
Et nous devons arriver à un résultat qui approche de :
# 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 xxxxx @ xxxxxx (512.0M) Linux swap
/dev/hda4 Apple_UNIX_SVR2 root xxxxx @ xxxxxx (xxxxxx) Linux native
/dev/hda5 Apple_HFS MacOSX xxxxx @ xxxxxx (xxxxxx) HFS
Pour ce faire, supprimez la première partition de type ''MacOS Etendue'' créée lors de l'installation de MacOS X et qui devait contenir les partitions de notre debian. Vous aurez maintenant la table de partition en n°1, de l'espace libre en n°2 et enfin la partition contenant MacOS X.
Il vous faut ensuite créer :
* une partition de type //Apple_Bootstrap// juste après la table des partitions afin d'y placer le bootloader : yaboot
* une partition de type //swap//
* une ou plusieurs partitions qui contiendront le système proprement dit
===== Le noyau Linux =====
Le noyau Linux disponible dans //Etch// nous viens en version 2.6.18, ce qui est parfait.
Plus besoin de recompiler ou d'utiliser les images noyau disponibles dans la branche de développement de Debian.
==== Recompiler le noyau ====
Si pour une raison X ou Y vous ne voulez pas utiliser les images fournies par Debian, utilisez simplement les sources les plus récentes disponibles sur http://www.kernel.org
À titre informatif, voici le [[http://twolife.org/static/ibook/kernel/config|.config]] que j'utilise pour [[http://twolife.org/static/ibook/kernel/|mes propres compilations]].
===== Configuration avancée =====
==== CPU-Freq ====
CPU-Freq, le sous système noyau permettant de changer la fréquence du processeur en cours de route, fonctionne maintenant correctement, plus aucun problème à signaler. Installez simplement un démon qui changera pour vous la fréquence suivant la charge système.
apt-get install powernowd
==== Clavier ====
Pour une configuration correcte du clavier :
dpkg-reconfigure console-data
et choisissez ''Ne pas modifier le codage clavier''.
Téléchargez le [[http://twolife.org/static/ibook/mac-fr-ext_new.kmap.gz|mappage clavier]] qui provient de chez [[ftp://ftp.linux-france.org/pub/macintosh/|linux-france.org]] et installez-le grâce à un habile
install-keymap mac-fr-ext_new.kmap.gz
Pour activer les touches de fonctions (F1, F2, ...) responsables par exemple du changement de la luminosité de l'écran :
apt-get install pbbuttonsd
==== Souris ====
Le bon vieux gpm pour avoir la souris en mode console :
apt-get install gpm
À rajouter dans votre ///etc/sysctl.conf//, afin que ''[Fn]+[Alt]'' = Click droit et ''[Fn]+[Ctr]'' = Click milieu :
dev/mac_hid/mouse_button_emulation = 1
dev/mac_hid/mouse_button2_keycode = 97
dev/mac_hid/mouse_button3_keycode = 100
==== XOrg - X11R7 ====
Première chose à faire, être sûr que tout est bien installé :
apt-get install xorg
Copiez ensuite mon [[http://twolife.org/static/ibook/xorg.conf|xorg.conf]] dans // /etc/X11/ // et tout devrait fonctionner //out-of-the-box//
Vérifiez que vous avez les modules suivants en mémoire (via ''lsmod'') :
radeon
uninorth-agp
agpgart
Et pour finir, vérifiez le fonctionnement de la 3D depuis un xterm :
$ glxinfo | grep direct
direct rendering: Yes
==== Son - Alsa ====
apt-get install alsa-base alsa-utils
modprobe snd-powermac && echo snd-powermac >> /etc/modules
Remontez enfin un peu le volume grâce à ''alsamixer'' (n'oubliez pas de mettre //DRC Rang// à + ou - 50)
==== Mise en veille ====
=== Suspend to RAM ===
Ça fonctionne parfaitement bien grâce aux travaux de Benjamin Herrenschmidt et Paul Mackerras. Merci messieurs.
Si vous avez déjà installé //pbbuttonsd// vous avez déjà tout pour suspendre votre ibook; rabattez simplement l'écran sur le clavier et admirez le travail.
Veillez juste à ne pas brancher/débrancher des périphériques USB pendant que l'ibook dort, il a tendance à paniquer au réveil.
=== Suspend to disk ===
FIXME
==== CPU/GPU FAN ====
L'unique ventilateur de la machine est controllé via le module //therm_adt746x// qui est normalement chargé au démarrage de la machine par hotplug/udev/discover.
Vous pouvez configurer les températures à atteindre avant déclenchement du ventilateur en passant certains paramètres au module. Plus d'info :
modinfo therm_adt746x
==== Airport Extreme ====
FIXME
apt-get install bcm43xx-fwcutter
Apple et Broadcom n'ont jamais fourni la moindre information permettant de faire fonctionner ce matériel avec un OS libre. Si un drivers existe aujourd'hui dans les noyaux linux >= 2.6.17 ce n'est sûrement pas grâce à ces deux entreprises.
Le pilote a été créé en trois étapes :
* Rétro-ingénierie des pilotes binaires écrits pour Linux disponibles dans un access point Wireless de Linksys.
* A partir de là, écriture d'une [[http://bcm-specs.sipsolutions.net/|documentation]] détaillant point par point comment fonctionne la carte WIFI.
* Développement du [[http://bcm43xx.berlios.de/|drivers libre]] par une autre équipe, en se basant uniquement sur la documentation.
Ceci permet de garantir qu'aucun bout de code présent dans les pilotes libres n'est issu du pilote propriétaire original.
==== Modem interne ====
Pas grand chose à dire à part que ce //soft-modem// ne fonctionne pas, faute de drivers.
===== Trucs et astuces =====
==== udev/hotplug ====
udev remplace hotplug depuis la version 0.070-3, n'hésitez pas à faire un habile
apt-get remove --purge hotplug udev+
==== Java ====
Grâce aux paquets [[http://packages.debian.org/gcj|GCJ]] et [[http://packages.debian.org/gij|GIJ]], nous disposons en utilisant exclusivement des logiciels libres d'un environnement qui approche d'une compatibilité Java1.4 complète.
Par ailleurs, [[http://www.ibm.com/|IBM]] propose un [[http://www-128.ibm.com/developerworks/java/jdk/linux/download.html|JDK]] pour ses iSeries/pSeries qui fonctionne très bien sur iBook et nous permet de profiter d'un environement Java1.5
==== MacOnLinux ====
MacOnLinux est un émulateur permettant de faire tourner MacOS depuis Linux en utilisant directement le processeur de la machine hôte, donc sans ralentissement notable - ce n'est donc pas à strictement parler un émulateur, plutôt une machine virtuelle avec ses drivers personnalisés.
Attention :
* Vous devez déjà avoir une installation de MacOS fonctionnelle
* La version disponible dans Debian est obselète et ne permet pas de faire fonctionner MacOS 10.4. La version incluse dans //Etch// devrait faire l'affaire.
* MOL requière un module noyau qu'il vous faudra compiler.
* Pour des raisons de performances, privilégiez le mode //console plein écran// au mode X11.
==== OpenFirmware ====
L'OpenFirmware est une espèce d'équivalent au BIOS du monde x86 mais beaucoup plus puissant. Pour entrer dans l'OF, pressez les touches ''[Alt]+[Pomme]+[O]+[F]'' au démarrage de la machine.
Quelques commandes utiles :
* '' mac-boot '' : continue le boot normal de la machine
* '' shut-down '' : éteint la machine
* '' boot hd:6,\\:tbxi '' : démarre MacOSX si il est installé sur la 6eme partition
* '' boot hd:2,yaboot '' : démarre le yaboot de la partition bootstrap
* '' boot cd:,\install\yaboot '' : démarre le yaboot du cd d'installation de Debian
Plus d'info sur OpenFirmware (et accessoirement sur le boot de MacOSX) chez [[http://www.kernelthread.com/mac/osx/arch_boot.html|kernelthread]]