Apple PB G4 12 Installer Linux sur un Powerbook 12" d'Apple .


Dernière mise à jour : Dim 31 Oct 10:55:22 CET 2004 par Matthias Schmidt My Email address as png - (GnuPG key)
Traduction : Lun 01 Nov 12:01:04 CEST 2004 par Djoumé Salvetti

Matériel


0. Général

0.1 Retours d'expériences

0.1.1 Batterie

La batterie n'est pas aussi puissante qu'Apple le prétend (~ 5 heures). Sous OS X le portable se suspend après 2 heures et demie. Sous Linux et sous forte charge (j'ai compilé le noyau 4 fois, redémarré quatre fois et aussi compilé beaucoup de code source) le portable fonctionne pendant 3 heures et demie. Dans des conditions d'utilisations normales, la batterie se vide en 4 heures.

0.1.2 Chaleur

Vous n'aurez pas froid aux mains, même si vous bidouiller sous la neige! :) Le PB possède un ventilateur, mais le chassis en aluminium sert aussi de refroidisseur passif. Pendant la compilation de Xfree 4.3.0 le chassis du PB était _vraiment_ chaud.

Températures du chassis

  • Utilisation Normale: environ 25° Celsius
  • make bzImage: environ 27-30° Celsius
  • 0.2 Touches Importantes

    Touches Importantes

    • Redémarrer le PB: [apple] + [ctrl] + [power-switch]
    • "Command-key": [apple]
    • "Option-key": [alt]

    0.3 Terminologie


    1. Mac OS X

    1.1 Installer Mac OS X

    Mon PB (et le PB 12" des autres aussi) n'est pas capable de démarrer depuis le DVD d'installation d'OS X. Vous verrez la pomme grise d'apple mais rien ne se passe. J'ai essayé avec les CD d'OS X d'un vieil iBook, mais ils ne marchent pas non plus. J'ai trouvé une solution à ce problème dans les forums d'entraide d'Apple:

    Solution

    • inserrer le DVD de restoration logicielle
    • redémarrer
    • appuyer sur [c] après le son de démarrage
    • appuyer directement sur [apple] + [v] et maintenez la touche enfoncée après que la pomme grise d'apple soit apparue
    • relachez la touche après que le mode debug (texte sur l'écran) ait démarré
    • attendez le démarrage de l'installeur

    Pendant l'installation j'ai partitionné le disque dur en deux partitions. Une pour OS X et une autre pour Linux.

    2. Installer Debian GNU Linux

    2.1 First steps

    Download the following files and copy them into the OS X root directory:

    Needed files

    1. images/root.bin
    2. yaboot
    3. yaboot.conf
    4. linux.bin

    The first three file are from http://http.us.debian.org/debian/dists/woody/main/disks-powerpc/current/new-powermac/, the fourth is the kernel from Orion Buckminster Montoya, which I renamed to linux.bin. You have to take his kernel, because the debian default kernel doesn't support ATA 100. The ATA chipset is the "intrepid chipset, which is UniNorth bridge and KeyLargo IS ASIC merged in one chip. It's CONFIG_BLK_DEV_IDE_PMAC in kernel config".

    If copying failes, activate the OS X root account with sudo passwd root.

    Reboot and press immediately [apple] + [alt] + [o] + [f] to enter the Open Firmware BIOS. Boot the Debian installer with

    Boot debian installion (This is the Open Firmware Prompt)

    > boot hd:X,yaboot

    Replace the X with the location of your OS X partition. I filled 9 in. If 9 isn't your OS X partition, look at the mount output in the OS X Terminal. I won't write anything about the Debian install process, have a look at the tutorials in the appendix.

    2.2 Boot your system

    Anyone who installed Debian testing or unstable can skip this section. The boot-floppies here have to correct yaboot version installed. You only need to run yabootconfig.

    You won't be able to boot your system with the Debian yaboot (1.3.6). You'll receive an error-message during the installation, but don't panic. Reboot, enter the Open Firmware and boot, as described above, yaboot again. Now at the yaboot prompt type in the following

    Boot the installed system (This is the yaboot prompt)

    boot: hd:X,/linux.bin root=/dev/hdYY ro

    and boot your installed system (the Y char) with the kernel on the OS X (the X char) partition. Now linux should start and you can finish the Debian installation. (Thanks to Jonathan Love who pointed me at a mistake in my description).

    After this, download the newest yaboot (1.3.10) from http://penguinppc.org/projects/yaboot/ and install it. Note: If the old yaboot version from debian is still installed, be sure to use the new version. ybin -V or apt-get remove yaboot will help you in any way :-P. If you step into problems email me and have a look into the yaboot HOWTO. Here is my yaboot.conf.

    3. Configuration

    3.1 Le noyau

    Est-ce que cat /proc/cpuinfo affiche une vitesse de 53MHz pour le processeur ? Comme ça:

    cpu             : 7455, altivec supported
    clock           : 53MHz
    revision        : 3.3 (pvr 8001 0303)
    bogomips        : 51.90
    machine         : PowerBook6,1
    motherboard     : PowerBook6,1 MacRISC3 Power Macintosh
    detected as     : 271 (Unknown Pangea-based)
    pmac flags      : 00000008
    L2 cache        : 256K unified
    memory          : 384MB
    pmac-generation : NewWorld
    

    Si c'est la cas, installez la dernière version du noyau de benh (voir plus bas). Si vous souhaitez avoir plus d'informations vous pouvez chercher dans les archives de debian-powerpc.

    Vous n'avez qu'un seul choix: le noyau de Benjamin Herrenschmidt. Vous pouvez le télécharger par rsync :

    Le noyau de benh avec rsync

    # mkdir /usr/src/benh_kernel
    # rsync -avz rsync.penguinppc.org::linux-2.4-benh /usr/src/benh_kernel

    Voici mon .config ( NDT: et voici le mien )

    3.1.1 Réseau

    La carte Ethernet de Sun marche parfaitement:
    sungem.c:v0.97 3/20/02 David S. Miller (davem@redhat.com)
    eth0: Sun GEM (PCI) 10/100/1000BaseT Ethernet 00:03:93:cc:b2:a2
    eth0: Found BCM5221 PHY
    
    Activez CONFIG_SUNGEM=y dans la configuration de votre noyau.

    3.1.2 Son

    Il marche bien. Activez les options suivantes pendant la configuration de votre noyau:

    Sound settings

    CONFIG_SOUND=m
    CONFIG_DMASOUND_PMAC=m
    CONFIG_DMASOUND=m

    and create a file named sound in /etc/modutils/ with the following content:

    /etc/modutils/sound

    alias char-major-14	soundcore
    alias sound-slot-0	dmasound_pmac
    alias char-major-14-3	dmasound_pmac
    alias /dev/dsp		dmasound_pmac
    alias sound-service-0-0	i2c-keywest
    alias char-major-14-0	i2c-keywest
    alias /dev/mixer	i2c-keywest

    3.1.3 Bluetooth

    J'ai testé le support bluetooth avec le téléphonne portable T68i de Sony Ericsson et cela a bien marché.
    3.1.3.1 Options du noyau
    Vous aurez besoin d'avoir activé les options suivantes pour communiquer avec le téléphonne portable :

    Bluetooth kernel options

    CONFIG_BLUEZ=m
    CONFIG_BLUEZ_L2CAP=m
    CONFIG_BLUEZ_RFCOMM=m
    CONFIG_BLUEZ_RFCOMM_TTY=y
    CONFIG_BLUEZ_HCIUSB=m
    CONFIG_BLUEZ_HCIUART=m
    CONFIG_BLUEZ_HCIUART_H4=y
    CONFIG_BLUEZ_HCIVHCI=m

    Vous avez besoin de charger les modules suivants pour que la connexion fonctionne :

    hci_usb                 7680   1
    rfcomm                 34696   1
    l2cap                  18612   2
    bluez                  36008   3 [hci_usb rfcomm l2cap]
    

    3.1.3.2 Installation
    Je n'utilise pas les programmes utilisateurs bluez de Debian, à la place je les ai compilé moi même. téléchargez les tarballs suivants depuis bluez.sf.net.

    Logiciels requis

  • bluez-libs-2.4.tar.gz
  • bluez-sdp-1.1.tar.gz
  • bluez-utils-2.3.tar.gz
  • Après l'installation j'ai recherché mon portable avec hcitool:

    littlejohn!ms:~ $ hcitool scan
    Scanning ...
            00:0A:D9:37:49:9F       Superphone
    
    Si hcitool parvient à détecter votre téléphonne, utilisez rfcomm et un utilitaire PPP (pppd, wvdial) pour le relier à internet via bluetooth :)

    3.1.4 Modem Interne

    J'ai été capable d'installer et d'utiliser le driver du modem. Je l'ai téléchargé depuis Linux drivers for Conexant modems puis installé. Pendant la configuration le hcfusbconfig-script veux absolument une version d'awk > 3.1.0. I J'ai téléchargé gawk version 3.1.2 depuis gnu.org et je l'ai installé.

    J'ai ensuite pu finir la configuration du modem. J'ai eu à modifier la chaine d'initialisation pour faire fonctionner le modem :

    Nouvelle chaine d'initialisation du modem

    ATX3

    Vous pouvez jetez un oeil à mon wvdial.conf

    3.1.5 USB 1.1

    Ma souris USB Logitech fonctionne et ma clé USB (avec usb-storage) également.

    3.1.6 Firewire 400

    Les Camescope Firewire ne semblent pas fonctionner.Un disque dur Firewire fonctionne sans difficulté.

    3.1.7 Gestion d'énergie

    Nouveau:Suspend to disk fonctionne correctement avec un noyau 2.6.9. Vous pouvez téléchargez le patch noyau ici. Pensez à déchargez les modules firewire et usb avant de suspendre la powerbook et n'oubliez pas de passer le paramètre resume=votre_partition_de_swap au démarrage du noyau.

    Le controle du rétro-éclairage de l'écran fonctionne aussi correctement. La patch noyau nécessaire se trouve au même endroit que le patch Suspend to disk.


    Négatif. APM dit: Sleep mode not supported on this machine et Benjamin Herrenschmidt a écrit sur debian-powerpc:

    >     sleep support
    No, may take a while before it's supported
    

    Qu'importe, vous pouvez toujours faire un cat /proc/apm pour avoir la bonne information concernant l'état de votre batterie.

    3.1.8 Processeur

    Le processeur est pleinement supporté. Pour avoir la vitesse maximale (867 MHz) jetez un oeil à :

    Changer la fréquence du processeur

    littlejohn!ms:~ $ cat /proc/cpuinfo | grep clock
    clock           : 533MHz
    littlejohn!ms:~ $ echo -n "0%100%100%performance" > /proc/cpufreq
    littlejohn!ms:~ $ cat /proc/cpuinfo | grep clock
    clock           : 867MHz

    Et n'oubliez pas d'activer le support pour cpufreq pendant la configuration de votre noyau. Une version 2.6.7-bk16 (ou supérieure) du noyau est requise pour cpufreq sur les modèles à 1,33Ghz.

    Les paquets suivants existent pour controller la fréquence de votre processeur :

    3.2 Lecteur de DVD et graveur de CD-RW

    La lecture des SVCD et des DVD fonctionne. Avec mplayer je n'ai pas été capable de faire fonctionner tous les DVD (par exemple Le seigneur des anneaux n'a pas marché). Quelqu'un a dit que la lecture des DVD fonctionnait bien avec xine. Le graveur de CD fonctionne sans problème. Activez l'émulation SCSI pendant la configuration du noyau et ajoutez une entrez à votre yaboot.conf. Avec le noyau 2.6 vous pouvez gravez des CDs sans l'émulation SCSI. La sortie de cdrecord -scanbus:

    Cdrecord 1.10 (powerpc-unknown-linux-gnu) Copyright (C) 1995-2001 Jörg Schilling
    Using libscg version 'schily-0.5'
    scsibus0:
    	0,0,0	  0) 'MATSHITA' 'CD-RW  CW-8122  ' 'BA1D' Removable CD-ROM
    	0,1,0	  1) *
    	0,2,0	  2) *
    	0,3,0	  3) *
    	0,4,0	  4) *
    	0,5,0	  5) *
    	0,6,0	  6) *
    	0,7,0	  7) *
    

    3.3 Clavier

    J'ai choisi mac-usb-de-latin1 (allemand) comme ma disposition de clavier. De plus j'ai installé pbbuttonsd. Vous serez maintenant capable d'utiliser les touches spéciales du PB (eject, mute, volume, ...) avec ce daemon. J'ai écrit un petit script d'initialisation pour activer pbbuttonsd au démarrage. Si vous voulez ejecter des CDs depuis le lecteur de CD-ROM vous devez également installer eject.

    3.4 Trackpad

    Avec ce /etc/gpm.conf le trackpad fonctionne bien en mode console.

    /etc/gpm.conf

    device=/dev/input/mice
    responsiveness=
    repeat_type=
    type=ps2
    append=""
    sample_rate=

    J'ai fait correspondre le second et le troisième boutton de la souris avec F11 et F12. Si vous lancez showkey et appuyez sur n'importe quelle touche , vous verrez les keycode. Mon /etc/sysctl.conf:

    /etc/sysctl.conf

    dev/mac_hid/mouse_button_emulation = 1
    dev/mac_hid/mouse_button2_keycode = 87
    dev/mac_hid/mouse_button3_keycode = 88

    3.5 Adaptateur TV

    Je n'ai pas encore réussi à faire fonctionner l'adaptateur TV.

    3.6 Sortie VGA Analogique

    Même chose pour la sortie VGA. Elle marche bien sous OS X (surprise).

    3.7 Airport Extreme

    Il semble que la puce sur la carte Airport Extreme soit une Broadcom. Broadcom n'a pas l'intention de sortir de version Linux de ses drivers ni de donner aucune information pour qu'on puisse les écrire. Une pétition est en cours, signez la :)

    Mmh, non :) J'ai pu charger le module hermes, mais c'est tout. on peut alors voir dans le kern.log :

    Mar 26 21:45:50 kernel: hermes.c: 5 Apr 2002 David Gibson 
    Mar 26 21:47:52 kernel: orinoco.c 0.11b (David Gibson  and others)
    Mar 26 21:47:52 kernel: airport.c 0.11b (Benjamin Herrenschmidt )
    Mar 26 21:47:52 kernel: orinoco.c 0.11b (David Gibson  and others)
    Mar 26 21:47:52 kernel: airport.c 0.11b (Benjamin Herrenschmidt )
    

    Le module aiport échoue avec le message suivant :

    /lib/modules/2.4.20-ben9/kernel/drivers/net/wireless/airport.o: init_module: No such device
    Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ parameters
    

    J'ai créé un alias (eth1) pour la carte et ifconfig eth1 affiche la chose suivante (surprise ;):

    eth1: error fetching interface information: Device not found
    

    4.0 Xfree 4.3.0 avec une Nvidia GeForce4 420 Go

    Mise a jour: Xfree de Testing/Unstable fonctionne bien avec la GeForce FX Go5200 (GeForce4 420 Go), il n'est pas nécessaire de compiler sa propre version.

    Julian Scheel a commencé une pétition en ligne pour demander des drivers linux nvidia pour ppc. Vous pouvez la signer ici.

    4.1 Installation

    Il marche! Pour avoir un X fonctionnel, procédez aux étapes suivantes. Si vous utilisez unstable/sid vous pouvez sauter les trois premières.

    Note: Beaucoup de lecteurs mon signalé des problèmes avec la version CVS d'xfree86. Si vous rencontrez des problèmes en compilant depuis unstable, essayez la version stable d'xfree 4.3.x. Cela marchera :)

    Instruction pas à pas pour X11

    • téléchargez Xfree 4.3.0 depuis ftp://ftp.xfree86.org
    • lisez le Install-HOWTO et compilez les sources
    • vérifiez que le driver nv se compile correctement
    • installez les binaires
    • configurez X ou utilisez mon XF86Config
    • loguez vous depuis une autre machine via ssh
    • lancez startx et regardez dans /var/log/XFree86.0.log
    • Si X démarre, c'est ok. Sinon regardez les messages d'erreurs
    • Si vous avez une erreur similaire à Could not load default font fixed, installez xfonts-base via apt.

    Si vous utilisez sid, vous n'avez pas besoin de compiler X depuis les sources. Vous pouvez utilisez les packages debian de Daniel Stone. Pour avoir ces paquets tapez apt-get install x-window-system. Mise à jour: Avec un noyau recent (ben10) de benh vous pourrez quitter et redémarrer votre session X sans problème. Inconvénient : votre console sera limité à 80x30 caractères après le boot. Orion Buckminster a été le premier à signaler ce problème sur debian-powerpc. Je travaillerai sur une solution et vous la transmettrai aussi vite que possible.

    Mon XF86Config et le contenu de XFree86.0.log.Note: Ma profondeur de couleur est de 16Bit par default, mais vous pouvez utiliser 24Bit (d'après Pander) sans problème.

    4.2 Configuration

    4.2.1 Clavier

    Note: Christophe Cattlegrid a écrit des informations très utiles à propos du mappage clavier sous X dans son HOWTO, donc vous pourrez sauter cette partie. Jetez plutôt un oeil à son HOWTO (voir Annexes). J'ai modifié mon .Xmodmap pour avoir un clavier allemand utilisable. J'ai mappé par example [AltGr] sur la touche [apple]. ( NDT : Pour avoir le même clavier français sous MacOSX et sous Linux vous pouvez utiliser mon xmodmap ).

    Annexes

    A. Remerciements

    Remerciements

    • Merci à Jonathan Love qui m'a fait remarquer des erreurs et m'a donné des astuces très utiles à propos de testing/unstable.
    • Pander pour avoir testé avec X11 avec une profondeur de couleur de 24Bit et 'avoir donné la liste des programmes de controle de la fréquence du processeur.
    • Johannes Becker m'a signalé un lien cassé et m'a donné des trucs à propos de l'invite de démarrage.
    • Sven Herzing m'a donné le lien pour les patchs de suspension logicielle.
    • Djoumé Salvetti, maintient la version française et m'a donné plusieurs informations sur divers sujets.
    • Javier Carranza, maintient la version espagnole.

    B. Information

    Informations Système

    C. Liens

    Message/fils de discussions intéressants sur debian-powerpc:

    debian-powerpc

    Sites web intéressants :

    Sites web

    D. Avertissement

    Ce document est publié sous la license GNU GPL. Je ne suis pas responsable pour le contenu des liens. Si vous suivez un lien, c'est votre responsabilité, pas la mienne.

    Note: Je ne suis pas responsable des éventuels dégats (logiciels ou matériels) que ce document aurait pu engendrer. Utilisez le à vos risques et périls!



    © 2004 par Matthias Schmidt, traduction Djoumé SALVETTI