David Demelier

J'écris du code, de la musique et je contribue à mes projets opensource préférés.

FreeBSD dans une VirtualBox

Nombreux d’entre vous veulent tester FreeBSD sur une machine virtuelle avant de l’installer en tant que vrai OS ? Mais vous voulez d’abord tester pour voir si cela vous convient, pas de soucis. En revanche afin de profiter de VirtualBox au maximum il y a quelques étapes à faire pour avoir notamment l’intégration de la souris.

1. Installez FreeBSD

Je ne vais pas détailler cette étape, installez FreeBSD comme bon vous semble, ZFS / UFS, GPT ou MBR.

2. Installez X.Org

Installez Xorg par les ports ou les packages, à vous de voir. Ensuite tapez Xorg -configure afin de générer un fichier de configuration tout C’est celui ci que nous allons éditer. prêt, en général ce dernier est placé sous /root/xorg.conf.new.

3. Installez les guest additions

C’est le paquet essentiel, sans lui vous pouvez dire adieu à :

# pkg install virtualbox-ose-additions
# echo 'vboxguest_enable="YES"' >> /etc/rc.conf
# echo 'vboxservice_enable="YES"' >> /etc/rc.conf
# pw groupmod wheel -m votre_nom_utilisateur

Pensez bien à modifier votre_nom_utilisateur en votre utilisateur, c’est nécessaire pour avoir le partage du presse papier ainsi que le redimensionnement de la fenêtre.

4. Éditez le fichier xorg.conf

Ici nous allons configurer Xorg afin d’utiliser le bon driver vidéo et souris. Note importante : je préfère configurer X.Org pour ne pas utiliser HAL, donc il est important d’ajouter dans le xorg.conf :

Section "ServerFlags"
    Option "AutoAddDevices" "False"
EndSection

Sinon la suite de la configuration sera inutile, en effet en utilisant HAL X.Org ne configure plus les périphérique avec xorg.conf mais avec des fichiers .fdi en XML. Ensuite éditez la section InputDevice correspondant à la souris et changez le driver mouse en vboxmouse comme ceci :

Section "InputDevice"
    Identifier "Mouse0"
    Driver     "vboxmouse"
EndSection

Et pareil mais pour la section Device correspondant au driver vidéo :

Section "Device"
    Identifier "Card0"
    Driver     "vboxvideo"
EndSection

Et voilà, c’est tout. Redémarrez votre machine afin de tout prendre en compte ou lancez les services à la main. Par contre ne pensez pas au support du dossier partagé malheureusement ce n’est pas encore supporté. utilisable à placer dans /etc/X11 ou /usr/local/etc/X11.

Section "ServerFlags"
    Option          "AutoAddDevices" "False"
EndSection

Section "ServerLayout"
    Identifier     "X.org Configured"
    Screen     0   "Screen0" 0 0
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
    ModulePath   "/usr/local/lib/xorg/modules"
    FontPath     "/usr/local/share/fonts/X11/misc/"
    FontPath     "/usr/local/share/fonts/X11/TTF/"
    FontPath     "/usr/local/share/fonts/X11/OTF/"
    FontPath     "/usr/local/share/fonts/X11/Type1/"
    FontPath     "/usr/local/share/fonts/X11/100dpi/"
    FontPath     "/usr/local/share/fonts/X11/75dpi/"
EndSection

Section "Module"
    Load  "extmod"
    Load  "dri2"
    Load  "record"
    Load  "glx"
    Load  "dbe"
    Load  "dri"
EndSection

Section "InputDevice"
    Identifier  "Keyboard0"
    Driver      "kbd"
    Option      "XkbLayout" "gb"
    Option      "XkbVariant" "extd"
    Option      "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

Section "InputDevice"
    Identifier  "Mouse0"
    Driver     "vboxmouse"
EndSection

Section "Monitor"
    Identifier   "Monitor0"
    VendorName   "Monitor Vendor"
    ModelName    "Monitor Model"
EndSection

Section "Device"
    Identifier  "Card0"
    Driver      "vboxvideo"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device    "Card0"
    Monitor    "Monitor0"
    SubSection "Display"
        Viewport   0 0
        Depth    1
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth    4
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth    8
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth    15
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth    16
    EndSubSection
    SubSection "Display"
        Viewport   0 0
        Depth    24
    EndSubSection
EndSection