FreeBSD 9.0 – laptop

Pense bête pour l’install de FreeBSD sur mon laptop.

Installation

  • Si aucun disque n’est détecté lors de l’installation, penser à activer le  SATA en mode actif dans le BIOS.
  • Install de tous les packages, src et ports compris.
  • Activer powerd.
  • À la fin de l’install, affecter les groupes wheel (pour le su -) et operator (pour les shutdown) pour les nouveaux users.
  • Installation du bootloader : démarrer en mode repair puis : # boot0cfg ada0

Gestion des mots de passe

Par principe, passage du hash des password de MD5 à Blowfish [1]:

  • # echo “crypt_default=blf” >> /etc/auth.conf
  • # vi /etc/login.conf
    -- :passwd_format=md5:\
    ++ :passwd_format=blf:\
  • # cap_mkdb /etc/login.conf
  • # passwd
  • # passwd <user>

Activation du mot de passe pour le mode single user :

  • # vi /etc/ttys :
    -- console none                            unknown off secure
    ++ console none                            unknown off insecure

Recompilation du système.

Reccuperation du make.conf, configuration de GCC pour s’adapter à l’architecture et compiler en parrallèle selon le nombre de processeurs disponbiles :

  • # cp /usr/share/examples/etc/make.conf /etc/make.conf
  • # vi make.conf : CPUTYPE?=native et MAKEOPTS=”-j4″

Buildworld [2]:

  • # cd /usr/src && make buildworld
  • Reboot en single user
  • # mount -u -a
  • # mergemaster -p
  • # cd /usr/src && make installworld
  • # mergemaster (delete si ok)
  • # reboot

Buildkernel :

  • # cd /usr/src && make buildkernel
  • # make installkernel
  • # reboot

Mise en place des ports

Réccupération de l’arbre des ports :

  • # portsnap fetch extract
  • # cd /usr/ports/ports-mgmt/portmaster && make install clean

Installation de Xorg / XFCE / SLIM

Installation des ports nécessaires :

  • # portmaster x11/xorg
  • # portmaster x11-wm/xfce4
  • # portmaster x11/slim
  • # portmaster x11-themes/slim-themes

Configuration de Xorg et passage du clavier en fr :

  • # Xorg -configure
  • # cp xorg.conf.new /etc/X11/xorg.conf
  • # vi /etc/xorg.conf
    Option                 "XkbModel" "pc105"
    Option                 "XkbLayout" "fr"

Parametrage de HAL pour prise en compte de la configuration du clavier [3]:

  • # vi /usr/local/etc/hal/fdi/policy/10-x11-input.fdi
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
      <merge key="input.xkb.layout" type="string">fr</merge>
    </match>
  </device>
</deviceinfo>

Configuration de XFCE et SLIM :

  • # vi /etc/rc.conf
++ dbus_enable="YES"
++ hald_enable="YES"
++ slim_enable="YES"
  • $ vi ~/.xinitrc
exec startxfce4
  • # vi /usr/local/etc/slim.conf
-- current_theme       default
++ current_theme       fbsd

Installation du driver Nvidia

Pas indispensable, binary blob, mais peut servir…

  • # kldload linux
  • # echo ‘linux_enable=”YES”‘ >> /etc/rc.conf
  • # portmaster x11/nvidia-driver
  • # echo ‘nvidia_load=”YES”‘ >> /boot/loader.conf

Reste à vérifier dans /etc/X11/xorg.conf que le driver nvidia est bien pris en compte.

Dans mon cas, la taille de toutes les polices ont du être diminuées de 3 points avec le driver Nvidia.

Installation des applications

L’inévitable Firefox :

  • # portmaster www/firefox (Avec option de configuraton des extensions ASM)

Flash (via l’émulation Linux et nspluginwrapper) [4]:

  • # portmaster www/linux-f10-flashplugin11
  • # portmaster www/nspluginwrapper
  • # mount -t linprocfs linproc /compat/linux/proc
  • # echo ‘linproc    /compat/linux/proc  linprocfs   rw  0   0′ >> /etc/fstab
  • # mkdir /usr/local/lib/browser_plugins
  • # ln -s /usr/local/lib/npapi/linux-f10-flashplugin/libflashplayer.so /usr/local/lib/browser_plugins/
  • $ nspluginwrapper -v -a -i

Installation de la JRE Sun :

  • # portmaster java/linux-sun-jre16 (téléchargement manuel du .bin requis)

Installation de Spotify. Ici, deux solutions sont possibles : Despotify avec un compte Premium ou installer Wine pour les autres (la version native Linux de Spotify n’est pas utilisable sous FreeBSD, qui ne propose pas encore de support de Qt4 via l’émulation Linux).

Pour les heureux possesseurs de compte Premium :

    • $ svn co https://despotify.svn.sourceforge.net/svnroot/despotify despotify
    • Installer les dépendances : # pkg_add -r gmake libao libogg libtool libvorbis mpg123
    • Remplacer le Makefile par celui du port de despotify [5] sous OpenBSD : https://github.com/eest/despotify-obsd/blob/master/src/Makefile
    • Adapter le Makefile :
-- ifeq ($(shell uname -s),OpenBSD)
++ ifeq ($(shell uname -s),FreeBSD)

Pour les autres, installation de Wine… Si la machine est installée en x86_64, commencer par recompiler le système en 32 bits [6]:

  • # mkdir /compat/i386
  • # cd /usr/src && make clean
  • # make buildworld installworld distribution TARGET=i386 DESTDIR=/compat/i386
  • # cp /etc/resolv.conf /compat/i386/etc/resolv.conf
  • # chroot /compat/i386
  • # mount -t devfs devfs /dev
  • # /etc/rc.d/ldconfig start
  • # mkdir /usr/ports && portsnap fetch extract
  • # setenv MACHINE i386 && setenv UNAME_p i386 && setenv UNAME_m i386

Pour l’installation de Wine :

  • # cd /usr/ports/emulators/wine && make install clean

On quitte le chroot si nécessaire :

  • # exit

Lancement de l’install de Spotify (les alias sont requis si le système est en 64 bits) :

  • $ alias winecfg=”LD_32_LIBRARY_PATH=/compat/i386/usr/local/lib PATH=/compat/i386/usr/local/bin:$PATH /compat/i386/usr/local/bin/winecfg”
  • $ alias wine=”LD_32_LIBRARY_PATH=/compat/i386/usr/local/lib PATH=/compat/i386/usr/local/bin:$PATH /compat/i386/usr/local/bin/wine”
  • $ fetch http://download.spotify.com/Spotify%20Installer.exe
  • $ wine Spotify%20Installer.exe

Reste à lancer Spotify :

  • $ alias wine=”LD_32_LIBRARY_PATH=/compat/i386/usr/local/lib PATH=/compat/i386/usr/local/bin:$PATH /compat/i386/usr/local/bin/wine”
  • $ wine “/home/<user>/.wine/dosdevices/c:/users/<user>/Application Data/Spotify/Spotify.exe”

Chez moi, Spotify a affiché une jolie fenêtre complètement noire et inutilisable… Pour corriger ça, lancer winecfg, aller dans la section “Graphics”, puis activer l’option “Emulate desktop”. Relancer Spotify, qui devrait fonctionner correctement. L’option “Emulate desktop” peut ensuite être désactivée.

[1] : http://www.bsdguides.org/guides/freebsd/security/harden.php
[2] : http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/makeworld.html
[3] : http://forums.freebsd.org/showthread.php?p=19423#post19423
[4] : http://www.freebsd.org/doc/handbook/desktop-browsers.html
[5] : https://github.com/eest/despotify-obsd
[6] : http://wiki.freebsd.org/Wine