Outils pour utilisateurs

Outils du site


debian:unstable_sur_apple_ibook_g4_1.2ghz

Debian GNU/Linux Unstable sur Apple iBook G4 1.2Ghz 12"

  • Je viens de réparer mon iBook en panne (soudure sur la carte «DC-In Board») en suivant ces images pour l'ouvrir.
  • Le Mac OSX 10.3.9 étant “obsolète”, le supprimer en réinstallant Debian unstable, cette fois sur tout le disque dur.

Installation

  • Avec le mode “expert” et presque toutes les options par défaut proposées, l'installation de la dernière Debian testing (Wheezy) avec l'image “debian-testing-powerpc-businesscard.iso” du 2011-08-28 s'est déroulée sans problème. Ensuite passer à unstable.
    • :!: On a la possibilité d'installer directement unstable, mais pour éviter des dépendances non satisfaites de gnome, il vaut mieux installer d'abord testing.
  • Les partitions : la méthode proposée par l'installateur (avec /home séparé) me convient parfaitement.
    # 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 untitled               1954 @ 64       (977.0k)  NewWorld bootblock
    /dev/hda3         Apple_UNIX_SVR2 untitled           13671876 @ 2018     (  6.5G)  Linux native
    /dev/hda4         Apple_UNIX_SVR2 swap                1992188 @ 13673894 (972.7M)  Linux swap
    /dev/hda5         Apple_UNIX_SVR2 untitled           42938973 @ 15666082 ( 20.5G)  Linux native
    /dev/hda6              Apple_Free Extra                    65 @ 58605055 ( 32.5k)  Free space
    
    Block size=512, Number of Blocks=58605120
    DeviceType=0x0, DeviceId=0x0

Configuration

Gestionnaire de paquets graphique

  • Installer synaptic. Configurer le dans ses preferences pour ne pas considérer les paquets recommandés comme dépendants, mais le faire manuellement quand les paquets recommandés sont intéressants.

Kernel

  • Les noyaux binaires debian supportent très bien cet iBook. La recompilation du noyau n'est pas nécessaire pour un usage normal (initramfs-tools et linux-image-powerpc).
    • Note : Le package linux-headers-powerpc est nécessaire seulement si l'on veut compiler des modules externes pour ce noyau debian.
  • Après chaque installation de noyau, vérifier/éditer /etc/yaboot.conf (l'équivalent de lilo.conf). Lancer ybin -v après chaque modification de /etc/yaboot.conf.

udev

Modules

  • Le chargement de modules au démarrage :
    • udev détecte le matériel et charge automatiquement certains modules.
    • Utiliser le fichier /etc/modules.
    • Ajouter ou éditer des fichiers dans /etc/modprobe.d/ (c'est aussi ici qu'on peut “blacklist” des modules).
  • Pour gérer les modules après le démarrage :
    • modprobe options nom_du_module (la commande lsmod liste les modules chargés)
    • le paquet modconf
    • Changer les paramètres d'un module chargé : éditer les fichiers /sys/module/nom_module/parameters/*

Températures et contrôle du ventilateur

  • Le déclenchement du ventilateur à une température donnée est contrôlé par le module therm_adt746x.
    • Pour connaître les températures du CPU et du GPU, il suffit de lire des fichiers dans /sys/devices/temperatures/. Pour modifier les paramètres par défaut du déclenchement et de la vitesse du ventilateur, voir # modinfo therm_adt746x.
    • Par défaut le ventilateur se déclenche quand la température du CPU atteint 50°C. Sous OS X, il me semble que le ventilateur se déclenche quand la température du cpu atteint plus de 60°C. Je n'ai pas pu trouver un document officiel d'Apple pour confirmer ceci, mais on m'a rassuré dans ce message. J'augmente cette limite à 58°C sous linux. Pour cela, il suffit de remplacer la ligne
      therm_adt746x

      par

      therm_adt746x limit_adjust=8

      dans /etc/modules.

  • Pour connaître la température du disque dur, installer hddtemp. Par exemple
    # hddtemp /dev/hda
    /dev/hda: TOSHIBA MK3025GAS: 47°C

    hddtemp peut aussi être utilisé par gkrellm.

Xorg

  • Le driver radeon pilote la carte graphique. Il faut installer le paquet xserver-xorg-video-radeon. Le fichier de config /etc/X11/xorg.conf.
  • Manipuler l'écran (resolution/taille, orientation, reflexion, écran externe, … ) : utiliser la commande xrandr. Lire “man xrandr”. On peut maintenant brancher/utiliser un écran externe sans avoir besoin de redémarrer le serveur X.
    $ xrandr -q
    Screen 0: minimum 320 x 200, current 1024 x 768, maximum 1280 x 1200
    LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 245mm x 184mm
       1024x768       60.0*+
       800x600        60.3  
       640x480        59.9  
    VGA-0 connected 1024x768+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
       1280x1024      60.0 +   75.0     59.9  
       1152x864       75.0     74.8  
       1024x768       75.1     70.1     60.0* 
       832x624        74.6  
       800x600        72.2     75.0     60.3     56.2  
       640x480        75.0     72.8     66.7     60.0  
       720x400        70.1  
    S-video disconnected (normal left inverted right x axis y axis)
    
    $ xrandr -s 640x480
    $ xrandr -s 1024x768
    
    $ xrandr --output VGA-0 --auto
    $ xrandr --output VGA-0 --off
    $ xrandr --output VGA-0 --mode 800x600
    $ xrandr --output VGA-0 --mode 1280x1024

    (LVDS = écran interne, VGA-0 = écran externe)

    • :!: Si problème pour activer l'écran externe, essayer la commande
      $ xrandr --output S-video --off

      pour désactiver la sortie S-video.

  • Vérifier l'accélération 3D :
    $ glxinfo | grep render
    direct rendering: Yes
    OpenGL renderer string: Mesa DRI R200 20060602 AGP 4x TCL

Gestion de la fréquence CPU

  • Installer powernowd pour une gestion automatique de la fréquence CPU. Voir /usr/share/doc/powernowd/README.Debian.
    • :!: Ne pas installer un autre du même genre.

==== Touches spéciales ==== * Compiler et installer pbbuttonsd + gtkpbbuttons + powerprefs (optionnel). * pbbuttonsd : * Utiliser <code>./configure LAPTOP=POWERBOOK –without-oss –with-alsa</code> pour la compile de pbbuttonsd. * Dans /usr/local/etc/pbbuttonsd.cnf : * La ligne <file>KBDMode = fkeysfirst</file> indique comment obtenir les touches Fx et fn+Fx : * Fx = touches Fx comme sur un PC. * fn + Fx = régler la luminosité et le son, et éjecter le CD. * Ne pas configurer l'action du bouton “Power” par les deux lignes <file>onAC_KeyAction = none onBattery_KeyAction = none</file> Je vais la configurer avec FVWM pour lancer hibernation (suspend to disk). * “fermer l'écran” = “suspend to RAM”. * Récupérer le fichier /etc/init.d/pbbuttonsd du paquet debian et l'adapter, ensuite faire un <code># update-rc.d pbbuttonsd defaults</code> pour installer le service pbbuttonsd. * powerprefs (lancé par root) : c'est un client graphique pour pbbuttonsd pour faciliter la configuration de /usr/local/etc/pbbuttonsd.cnf. Il n'est pas nécessaire. * gtkpbbuttons (lancé par user avec l'option -d) : c'est un client pour pbbuttonsd utile pour visualiser les réglages sur l'écran. Je le lance dans ~/.fvwm/config. Voir aussi Bug #326222, il est corrigé dans la version 0.6.10. Installer le package oss-compat.

Power Management

  • gnome-power-manager : Le gestionnaire d'énergie GNOME peut afficher et/ou gèrer la luminosité de l'affichage, les économies d'énergie pour le processeur, la carte graphique et le disque dur. Il peut effectuer un suspend-to-RAM, une hibernation ou une extinction.
    • :!: Normalement, avec le kernel module pmu_battery chargé, il peut afficher et gérer l'état des batteries et les événements de branchement sur le secteur dans la zone de notification (Pareil pour le batterie-monitor fourni par gnome-applet). Mais ça ne marche pas bien sur certaines machines. Voir #589231. En attendant que ce bug soit corrigé dans upower, on peut recompiler upower en appliquant ce patch (paquets upower et libupower-glib1).(La détection de la situation se fait toutes les 30 secondes.)
      • PMU : Power Management Unit. C'est PMU au lieu de ACPI ou APM sur cet iBook.
      • Trois solutions alternatives pour surveiller la batterie :
        • Sol-1) Utiliser gpmudmon-applet (GNOME battery applet for PMU). Il faut le patcher et recompiler, voir #597129.
        • Sol-2) Utiliser Gkrellm-PMU.
        • Sol-3) Recompiler le noyau pour mettre CONFIG_PMAC_APM_EMU=m, charger le module apm_emu et installer apmd. Cela permet d'utiliser des applications basées sur APM, par exemple gkrellm, xapm, …

Clavier français

  • Mettre la config dans /etc/X11/xorg.conf n'est plus nécessaire. Tout est détecté automatiquement par Xorg. Par défaut le clavier est géré par le driver evdev (paquet xserver-xorg-input-evdev) et keyboard-configuration.
  • Configurer le clavier français :
    • Si utiliser gnome : On va dans System/Preferences/Keyboard et l'onglet layouts. Utiliser «France». Pour Keyboard Model, choisir «Vendirs:Apple» et «Models:Macintosh». Pour Options, entrer dans Key to choose 3rd level, choisir «Left Win».
    • Sans gnome, avec console-setup et keyboard-configuration : dpkg-reconfigure permet de revoir/reconfigurer les options
      • console-setup configure les fonts dans les consoles par le fichier /etc/default/console-setup. Choisir les options : UTF-8/Latin 1/VGA/Font 16.
      • keyboard-configuration configure le modèle du clavier à la fois pour le console et pour X par le fichier /etc/default/keyboard. Choisir les options : Keyboard model = Macintosh, Keyboard layout = France, Key to function as AltGr = Left Logo key, Compose key = No compose key. Cela conduit à avoir
        XKBMODEL="macintosh"
        XKBLAYOUT="fr"
        XKBVARIANT=""
        XKBOPTIONS="lv3:lwin_switch"

        dans /etc/default/keyboard.

      • :!: Ne plus utiliser le paquet console-data qui est obsolète.
    • Pour comprendre un peu plus :
      • Les fichiers (dans /usr/share/X11/xkb/) utilisés pour ma config du clavier sous X :
        $ setxkbmap -print
        xkb_keymap {
        	xkb_keycodes  { include "evdev+aliases(azerty)"	};
        	xkb_types     { include "complete+numpad(mac)"	};
        	xkb_compat    { include "complete"	};
        	xkb_symbols   { include "pc+macintosh_vndr/fr+inet(evdev)+level3(lwin_switch)"	};
        	xkb_geometry  { include "macintosh(macintosh)"	};
        };
      • On peut voir la description précise des touches de ma config du clavier :
        $ xkbcomp :0

        Cette commande va produire un fichier server-0.xkb. Par exemple, j'ai dans ce fichier

            key <AB06> {
                type= "FOUR_LEVEL_SEMIALPHABETIC",
                symbols[Group1]= [               n,               N,      dead_tilde,      asciitilde ]
            };

        Cela signifie que la touche “N” produit 'n', et Shift+N = N, Apple+N=dead_tilde (c'est-à-dire qu'il faut encore appuyer sur la touche Space pour avoir ~) et Apple+Shift+N = ~.

  • Taper des caractères spéciaux :
    • Comme je l'ai montré dans l'exemple ci-dessus, pour connaître ce qu'on peut obtenir avec les touches, on peut regarder le fichier server-0.xkb généré par la commande “xkbcomp :0”. Voici quelques caractères habituels :
      • ctrl + alt + Fx = passer à VTx.
      • Apple + ( = {, Apple + ) = }, Apple + Shift + N = ~, Apple + Shift + L = |, Apple + Shift + ( = [, Apple + Shift + ) = ], Apple + Shift + : = \ (c'est-à-dire Apple + / = \), fn + BackSpace = Delete, Apple + è = «, Apple + 7 = ».
      • Apple + $ = , Apple + O = œ, Apple + Shift + O = Œ (Sous UTF-8. Avec l'encodage ISO-8859-1, on ne peut pas les obtenir comme ça).
  • Note : On choisit d'utiliser ici la touche Apple au lieu de la touche alt utilisé par OSX. Cela permet de garder les habitudes PC x86 de la touche alt. Par exemple, ctrl + alt + Fx pour passer dans une console, ou alt+flèche pour naviguer entre les pages dans iceweasel.

Simuler les boutons 2 et 3 d'une souris

  • Méthode 1 : Ajouter dans /etc/sysctl.conf les lignes suivantes :
    # Simuler les boutons 2 et 3 d'une souris :
    dev/mac_hid/mouse_button_emulation = 1
    # Par défaut, fn + ctrl = clic milieu, fn + alt = clic droit,
    # c'est-à-dire :
    #dev/mac_hid/mouse_button2_keycode = 97
    #dev/mac_hid/mouse_button3_keycode = 100

    (Cela sera prise en compte au prochain boot, ou bien immédiatement après la commande # sysctl -p /etc/sysctl.conf)

    • Pour comprendre cela, voir l'explication de l'option CONFIG_MAC_EMUMOUSEBTN du kernel. Voir aussi la manpage de la commande sysctl, la config ci-dessus est dans /proc/sys/dev/mac_hid/.
  • Méthode 2 : Installer le paquet mouseemu. Par défaut, F10 = clic milieu, F11 = clic droit.

Réseau

  • Cartes réseaux :
    Ethernet controller: Apple Computer Inc. UniNorth 2 GMAC (Sun GEM) (rev 80)
    Network controller: Broadcom Corporation BCM4306 802.11b/g Wireless LAN Controller (rev 03)
  • Drivers/pilotes : Installer les paquets firmware-b43-installer et wireless-tools pour la carte wifi. Au démarrage, le noyau/udev détecte les deux cartes et charge les drivers (sungem et b43).
    • Noms des interfaces : Il y a deux notions différentes.
      • Interfaces physiques : Le nom de chaque interface réseau physique est donné/défini par udev la première fois le module/driver de l'interface est chargé. On peut les modifier dans les règles de udev.
      • Interfaces logiques : Ces noms sont définis dans /etc/network/interfaces. Voir le manuel “man interfaces”.
  • Connexion à l'internet : gérée par network-manager-gnome, isc-dhcp-client.

Son

  • Géré par ALSA. Le kernel driver est le module snd-powermac.
  • Installer les paquets alsa-base et alsa-utils. Charger snd-powermac par /etc/modules.
  • Ajuster les paramètres du son :
    # alsamixer

    <html>&nbsp;&nbsp;&nbsp;&nbsp;</html>config-alsa

  • Eventuellement il faut ajouter l'utilisateur au groupe audio (# adduser nom_login audio).
  • Microphone : pour le tester
    $ arecord test.wav
    $ aplay test.wav

    (on peut aussi utiliser audacity)

  • dmix est activé par défaut depuis alsa 1.0.10. Il s'agit de permettre à plusieurs applications d'utiliser la carte son en même temps, voir aussi dmix.
  • :!: La commande nvsetvol du paquet powerpc-utils permet de contrôler le volume du son du démarrage. nvsetvol donne le volume actuel, et “nvsetvol 1” garde un tout petit son.

Sauvegarde

Services (et sécurité)

Firewall

FireWire (IEEE 1394)

Synchronisation du temps

  • ntpdate

Locales

True Type Fonts

Imprimantes réseaux

Divers

debian/unstable_sur_apple_ibook_g4_1.2ghz.txt · Dernière modification : 2017/08/21 12:43 de 127.0.0.1