Mémo rapide pour installer de Debian Etch (4.0) sur un Apple iBook G4, avec une carte ATI Radeon 9200.
Installation du système
Recuperer une iso "business card" PowerPC sur http://www.debian.org
Graver, mettre la galette dans le lecteur CD-Rom.
Appuyer sur C (longtemps, maintenir appuyé) pendant le boot pour booter sur le CD-Rom (ça ne s'invente pas...)
Tout par défaut, écraser Mac OS/X. Sur mon G4 avec 768 Mo de RAM, le SWAP est inutile, faire un /hda3 qui utilise toute la place. Il est nécessaire d'avoir, en plus des 32Ko "Apple" d'amorce, une partition d'au moins 1 Mo (j'en mets 10) pour que Yaboot fonctionne.
Clavier sous X
Historiquement, ça marchait bien, récemment j'ai eu des soucis, et par ailleurs certaines touches n'apparaissent pas sur un clavier Mac, en particulier le tilde ~ le pipe | et pas mal de caractères bien utiles quand on programme.
Placer donc dans /etc/X11/Xsession.d/99local-xmodmap (fichier à créer) :
#!/bin/sh # usefull xmodmap syntax: # keycode N = <no_modifier> <shift> <Mode_switch> <Mode_switch+Shift> if test -x /usr/bin/xmodmap ; then # usefull to handle extra keys xmodmap -e "keycode 108 = Mode_switch" # ^ # alt & meta xmodmap -e "keycode 64 = Alt_L" # alt #xmodmap -e "keycode 64 = Alt_R" # alt xmodmap -e "keycode 115 = Meta_L" # pomme #xmodmap -e "keycode 115 = Meta_R" # pomme # usefull chars for a french programmer xmodmap -e "keycode 11 = eacute 2" # ' 2 ` xmodmap -e "keycode 13 = apostrophe 4 grave dead_grave" # ' 4 ` xmodmap -e "keycode 14 = parenleft 5 braceleft bracketleft" # ( 5 [ { xmodmap -e "keycode 16 = egrave 7" # ' 7 ` xmodmap -e "keycode 18 = ccedilla 9" # ç 9 xmodmap -e "keycode 19 = agrave 0" # xmodmap -e "keycode 20 = parenright degree braceright bracketright" # ) ° ] } xmodmap -e "keycode 46 = l L notsign bar" # ) ° ] } xmodmap -e "keycode 54 = c C ccedilla Ccedilla" # xmodmap -e "keycode 49 = at numbersign asciitilde" # @ # ~ xmodmap -e "keycode 60 = colon slash division backslash" # : / ÷ \ fi
Modifier dans /etc/X11/xorg.conf:
Option "XkbModel" "macintosh"
Une variante:
Option "XkbModel" "ibook" Option "XkbLayout" "fr_new"
Kernel
Le kernel par défaut marche bien, j'ai mis dans /etc/modules :
apm_emu ide-cd ide-disk ide-generic sbp2 snd-powermac sr_mod therm_adt746x
WiFi
Le point d'entrée, c'est:
http://linuxwireless.org/en/users/Drivers/b43
Le driver est inclus dans les kernel 2.6.17 et +, il s'appelle bcm43xx et une recherche sur bcm43xx-fwcutter renvoie des résultats intéressants.
Télécharger donc le firmware, malheureusement on doit en passer par là, saleté de firmwares proprios qui polluent nos ordis et que nous ne pouvons pas modifier en cas de bug. De ce point de vue le Wifi est une calamité. Grrrr... Si vous connaissez un modèle d'ordinateur portable vendu en France avec un driver Wifi (et vidéo accéléré OpenGL/DRI bien sûr) sans firmware binaire propriétaire, contactez-moi. Or donc, le firmware et le programme pour le gérer:
- http://downloads.openwrt.org/sources/wl_apsta-3.130.20.0.o
- http://prdownload.berlios.de/bcm43xx/bcm43xx-fwcutter-006.tar.bz2
Extraire le firmware, par exemple:
/opt/wifi/bin/bcm43xx-fwcutter -w /lib/firmware /opt/wifi/firmware/wl_apsta-3.130.20.0.o
Rebooter, vérifier que le driver est correctement chargé:
dmesg | grep bcm
Créer un fichier /etc/init.d/wifi :
! /bin/sh IFACE=wifi DRIVER_LINUX=bcm43xx DRIVER=wext CONF=/etc/wpa_supplicant.conf LOG=/var/log/wifi GW=192.168.0.254
case "$1" in start) if -f $CONF; then modprobe $DRIVER_LINUX sleep 1 ifconfig $IFACE up sleep 1 wpa_supplicant -i $IFACE -D $DRIVER -c $CONF > $LOG 2>&1 & sleep 1 route add default gw $GW dev $IFACE fi ;; stop) if -f $CONF ; then killall wpa_supplicant ifconfig $IFACE down # useless after the previous kill route add default gw $GW dev eth0 fi ;; restart) $0 stop $0 start ;; *) echo "Usage: /etc/init.d/wifi {start|stop|save}" exit 1 ;; esac exit 0
Le lancer au boot :
ln -s ../init.d/wifi /etc/rc0.d/S35wifi ln -s ../init.d/wifi /etc/rc6.d/S35wifi ln -s ../init.d/wifi /etc/rcS.d/S40wifi
Créer un ficher /etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant eapol_version=1 ap_scan=2 fast_reauth=1 network={ ssid="mydomain" scan_ssid=1 proto=WPA key_mgmt=WPA-PSK pairwise=TKIP group=TKIP psk=0123456678901234566789012345667890123456678901234566789012345667 priority=5 }
Editer le fichier /etc/udev/rules.d/z25_persistent-net.rules et chercher la ligne qui correspond au device "bcm43xx", remplacer, par exemple, "eth2" par "wifi".