Table des matières
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
). Lancerybin -v
après chaque modification de/etc/yaboot.conf
.
udev
- Vérifier/Éditer /etc/udev/rules.d/70-persistent-net.rules pour fixer les noms d'interfaces réseaux physiques.
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 commandelsmod
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
- Pour qu'un user puisse lancer xconsole, il faut
# add user_name adm
(Le groupe adm peut lire les fichiers du journal. Voir Guide de référence pour Debian.)
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 driverevdev
(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 à avoirXKBMODEL="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 commandesysctl
, 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
etb43
).- Noms des interfaces : Il y a deux notions différentes.
- 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. - 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
- Voir sauvegarde.
Services (et sécurité)
- Voir services_et_securite.
Firewall
- Voir firewall.
FireWire (IEEE 1394)
- Je ne l'utilise pas. Pour ne pas charger les modules concernés au boot, les mettre dans un fichier /etc/modprobe.d/blacklist-local.conf.
Synchronisation du temps
- ntpdate
Locales
- Voir locales.
True Type Fonts
- Voir true_type_fonts.
Imprimantes réseaux
- Voir imprimantes_reseaux.
Divers
- Voir divers.