[Dernier test effectué en Novembre 2006]

FreeBSD est un système d'exploitation UNIX libre, développé à l'Université Berkeley de Californie. Il s'agit en quelque sorte d'une alternative à Linux. Plus d'informations sur http://fr.wikipedia.org/wiki/FreeBSD

Attention : expérimental ! Bien que Linux fonctionne presque parfaitement sur le Macbook Pro, on ne peut malheureusement pas en dire autant de FreeBSD. Les versions actuelles (même la 6.1) ne démarrent même pas. Il faut donc se rabattre sur le snapshot le plus récent possible de la version 7-CURRENT.

Ce qu'il manque pour devenir utilisable :

  • un driver libre pour le radeon x1600 (R530)
  • un kernel SMP
  • une meilleure gestion ACPI

Support matériel Voici une liste (non exhaustive) du matériel supporté par FreeBSD 7-CURRENT

Matériel supporté

  • Wifi (Atheros) (fonctionne directement, même en WPA)

Matériel NON supporté

  • Ethernet (Yukon2)
  • Trackpad Apple
  • ATI X1600 en 1440x900 (fonctionne uniquement en vesa dans une résolution standard)
  • Gestion de l'ACPI incomplète
  • Gestion APIC / SMP

1.  Pré-requis

  • un Macbook Pro (ou peut être pas justement ^^)
  • Bootcamp
  • Refit (un bootloader EFI) http://refit.sourceforge.net/
  • le CD1 d'installation
  • Télécharger l'image ISO de la dernière version -CURRENT

disponible à l'adresse ftp://ftp.fr.freebsd.org/pub/FreeBSD/snapshots/

ou bien dans le répertoire /pub/FreeBSD/snapshots de n'importe quel mirroir. La liste des mirroirs : http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mirrors-ftp.html


2.  Installation

2.1  Démarrer le CD

Les problèmes

Le CD d'installation propose un menu, permettant de choisir plusieurs modes (Single User, safe etc...). Démarrer le CD normalement abouti assez rapidement à un panic (plantage du noyau) à cause du contrôleur APIC du macbookPro qui pose problème.

 AP #1 (PHY# 1) failed!
 panic y/n? [y]

Le démarrer sans ACPI évite ce problème, mais un autre problème arrive peu après :

 Panic : mtx_lock() of spin mutex(null)@/usr/src/sys/vm/vm_fault.c:293

La (seule ?) solution

Pour démarrer le CD d'install, une seule solution (du moins pour l'instant, et qui ne fontionne pas à tous les coups) est d'appuyer un coup bref sur le bouton POWER (oui, le bouton qui est isolé sur la droite, c'est bien lui ^^) au moment précis où vous verrez le message suivant :

 ACPI APIC Table: <APPLE  Apple00>

2.2  Dans le cas où cela ne fonctionne pas :

  • démarrer MacOS
  • redémarrer aussitôt (ne PAS éteindre)
  • réessayer

J'ai remarqué à plusieurs reprises que MacOS laissait le contrôleur APIC dans un état particulier, ce qui est utile dans ce cas, et moins dans d'autres (il arrive que Linux n'arrive plus à booter tant que la machine n'a pas été éteinte).

3.  Post-installation

Documentation officielle

La documentation officielle de FreeBSD est très bien faire : complète et claire. http://www.freebsd.org/fr/docs.html Commencer par le handbook est une bonne approche.

Premier démarrage

Lors du premier démarrage se posent les mêmes problèmes, toujours liés à l'APIC, qu'il faut résoudre avec la même solution. :)

Installer des programmes

Voir http://www.freebsd.org/doc/fr_FR.ISO8859-1/books/handbook/ports.html

Si vous disposez d'une connexion à internet, vous pourrez sans problème installer X, Gnome etc... avec la commande pkg_add.

 pkg_add -r gnome2

Pour rechercher des programmes via le gestionnaire de packets :

 cd /usr/ports
 make search name=nom_packet
 ou
 make search key=mot_clé (plus profond)

Configurer Xorg

 X -configure 

crée un fichier /root/xorg.conf/new, qu'il suffit d'utilise comme configuration par défaut :

 cp /root/xorg.conf.new /etc/X11/xorg.conf

note : le trackpad ne fonctionne pas La résolution native du Macbook Pro est un mode WideScreen, qui n'est pas disponible avec le driver vesa. Malheureusement, c'est pour l'instant le seul driver qui supporte le chipset ATI x1600.

Configurer son wifi

La configuration est très simple.

3.1  Avec une clé WPA :

le fichier /etc/wpa_supplicant.conf doit contenir :

 network={
 ssid="nom_du_réseau"
 psk="mot_de_passe"
 }

puis ajoutez dans /etc/rc.conf (ce qui lancera automatiquement la connexion au démarrage).

 ifconfig_ath0="WPA DHCP"

3.2  sans clé

ajoutez dans /etc/rc.conf

 ifconfig_ath0="DHCP"

Voir la documentation officielle pour plus de détails : http://www.fr.freebsd.org/doc/fr_FR.ISO8859-1/books/handbook/network-wireless.html

Econimie d'énergie : cpufreq

Ajouter la ligne suivante au fichier /etc/rc.conf permet d'adapter la vitesse du CPU à la charge du système, sur secteur et sur batterie.

 powerd_flags="-a adaptive -b adaptive"

4.  Fichiers de configuration

Voici quelques fichiers de configuration. Pour un mappage correct du clavier sous X, une configuration du noyau permettant un boot à coup sûr ainsi que mon dmesg : http://kereoz.imaginair.net/page.php?31

-rc.conf

 [christophe@Maccy /usr/home/christophe]$ cat /etc/rc.conf 

 # -- sysinstall generated deltas -- # Sun Nov  5 21:51:20 2006
 # Created: Sun Nov  5 21:51:20 2006
 # Enable network daemons for user convenience.
 # Please make all changes to this file, not to /etc/defaults/rc.conf.
 # This file now contains just the overrides from /etc/defaults/rc.conf.
 hostname="Maccy.K"
 inetd_enable="NO"
 keymap="fr.iso.acc"
 linux_enable="YES"
 sshd_enable="YES"
 powerd_enable="YES"
 powerd_flags="-a adaptive -b adaptive"

 ifconfig_ath0="WPA DHCP"
 gdm_enable="YES"

-xorg.conf

 [christophe@Maccy /usr/home/christophe]$ cat /etc/X11/xorg.conf 
 Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
 EndSection

 Section "Files"
        RgbPath      "/usr/X11R6/lib/X11/rgb"
        ModulePath   "/usr/X11R6/lib/modules"
        FontPath     "/usr/X11R6/lib/X11/fonts/misc/"
        FontPath     "/usr/X11R6/lib/X11/fonts/TTF/"
        FontPath     "/usr/X11R6/lib/X11/fonts/Type1/"
        FontPath     "/usr/X11R6/lib/X11/fonts/CID/"
        FontPath     "/usr/X11R6/lib/X11/fonts/75dpi/"
        FontPath     "/usr/X11R6/lib/X11/fonts/100dpi/"
 EndSection

 Section "Module"
        Load  "dbe"
        Load  "dri"
        Load  "extmod"
        Load  "glx"
        Load  "record"
        Load  "xtrap"
        Load  "freetype"
        Load  "type1"
 EndSection

 Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        Option      "XKBLayout" "fr"
 EndSection

 Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/sysmouse"
        Option      "ZAxisMapping" "4 5 6 7"
 EndSection

 Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync    31.5 - 100.0
        VertRefresh  59.0 - 75.0
        Modeline     "1440x900" 108.84 1440 1472 1800 1912 900 918 927 946
        Option       "DPMS"
 EndSection

 Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
        ### [arg]: arg optional
        #Option     "ShadowFB"                  # [<bool>]
        #Option     "DefaultRefresh"            # [<bool>]
        #Option     "ModeSetClearScreen"        # [<bool>]
        Identifier  "Card0"
        Driver      "vesa"
        VendorName  "ATI Technologies Inc"
        BoardName   "Unknown Board"
 EndSection

 Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 16
        SubSection "Display"
                Viewport   0 0
                Depth     24
                Modes     "1440x900"
        EndSubSection

        SubSection "Display"
                Viewport   0 0
                Depth     16
                Modes     "1440x900"
        EndSubSection


 EndSection

© 2006-14 Association Actux - Documentation sous licence GFDL - Conception & design: Imaginair.net - Logo: Zazo0o - Propulsé par PmWiki