Debian sur un iBook G4

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:

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".

Page générée par UWiKiCMS 1.1.8 le samedi 20 avril 2024.
Copyright © 2009 Christian Mauduit. Document placé sous licence GNU FDL.
Mis à jour le mardi 06 octobre 2009.