====== 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]]