On this page... (Cacher)
[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