Page suivantePage précédenteTable des matières

6. Exécuter des binaires ``étrangers''

6.1 Exécuter des binaires FreeBSD sous Linux

Le paquetage iBCS permet d'exécuter des binaires FreeBSD sous Linux, mais il est vieux et non maintenu. Je n'arrive pas à le faire marcher. Si vous avez eu plus de réussite que moi, merci de m'en informer.

6.2 Exécuter des binaires Linux sous FreeBSD

FreeBSD a la capacité d'exécuter des binaires Linux, dans les deux formats a.out et ELF. Il faut procéder en trois étapes :

  1. Il faut valider la compatibilité Linux. Pour ce faire, (pour FreeBSD 2.2.2 --- les détails peuvent changer avec d'autres versions) il faut éditer votre fichier /etc/rc.conf et changer
     linux_enable="NO"
    
    en
    linux_enable="YES"
    
    et redémarrer. Une autre façon de charger le support des binaires Linux est d'exécuter la commande /usr/bin/linux. Vous n'aurez pas à redémarrer, et le support ne sera pas systématiquement chargé (gain de mémoire). N'oubliez pas d'ajouter la ligne
    options         COMPAT_LINUX
    
    au fichier de configuration du noyau FreeBSD si vous compilez un nouveau noyau.
  2. Il faut installer les bibliothèques partagées de Linux si vos binaires Linux utilisent l'édition de lien dynamique. Ces bibliothèques sont incluses pour FreeBSD 2.2.{2,5,6} dans le paquetage linux_lib-2.4.tgz (il y a peut être des versions plus récentes). Lancez la commande
     pkg_add <rep_paquetage>/linux_lib-2.4.tgz
    
    pour installer le paquetage. <rep_paquetage> est le répertoire où se trouve le paquetage. Vous pouvez aussi le charger depuis le réseau par :
    pkg_add ftp://ftp.freebsd.org/pub/FreeBSD/packages-stable/All/linux_lib-2.4.tgz
    
    ou en relançant /stand/sysinstall. Entrez ``Configure'', ``Packages'' et utilisez les menus. Si vous exécutez des binaires Linux statiquement liés, exécutez la commande suivante :
    brandelf -t Linux <nom_du_binaire_linux_statiquement_lié>
  3. Installez les programmes Linux que vous voulez exécuter. Les programmes peuvent être installés aussi bien sur un système de fichiers UFS que ext2fs. Voir la section Monter des systèmes de fichiers ext2fs sous FreeBSD pour plus d'informations sur la façon d'utiliser des systèmes de fichiers ext2fs sous FreeBSD.

J'ai exécuté avec succès les versions Linux d'Applixware 4.3 et de Netscape 3.01 (toutes deux en format ELF) sous FreeBSD 2.2.2 en utilisant cette méthode (oui, je sais qu'il existe une version FreeBSD de Netscape 4). Les versions Linux d'acroread et StarOffice 3 et 4 marchent bien sous FreeBSD. StarOffice 5 dépend des threads natives Linux et ne marche pas sous FreeBSD. Lisez la documentation de FreeBSD pour plus d'informations à ce sujet.


Page suivantePage précédenteTable des matières