Verder Terug Inhoud

6. Uitvoeren van externe binaire bestanden

6.1 Uitvoeren van FreeBSD binaire bestanden onder Linux

Het iBCS package geeft ondersteuning voor het uitvoeren van FreeBSD's uitvoerbare bestanden onder Linux; maar het is oud en onbeheerd. Ik krijg het niet werkend Laat me alsjeblieft weten als je hiermee meer geluk hebt.

6.2 Uitvoeren van Linux binaire bestanden onder FreeBSD

FreeBSD biedt de mogelijkheid de uitvoerbare bestanden van Linux, zowel in a.out als in het ELF formaat, uit te voeren. Hiervoor moet je de volgende drie stappen volgen:

  1. Je moet Linux compatibiliteit aanzetten. Om dit te kunnen doen (in FreeBSD 2.2.2 --- details kunnen in andere versies variëren) moet je je /etc/rc.conf bestand wijzigen en
    linux_enable="NO"
    
    veranderen in
    linux_enable="YES"
    
    en opnieuw opstarten. Een andere manier om Linux binaire ondersteuning te verkrijgen is door het commando /usr/bin/linux uit te voeren. Op deze manier hoef je niet te rebooten, en je hebt de ondersteuning voor Linux binary's niet altijd geladen (i.e. je bespaart geheugen.) Denk er aan de volgende regel toe te voegen
    options         COMPAT_LINUX
    
    aan het FreeBSD kernel configuratiebestand als je een nieuwe FreeBSD kernel aanmaakt.
  2. Je moet de Linux shared library's installeren als je Linux binary's dynamisch zijn gelinkt. De library's worden bij FreeBSD 2.2.{2,5,6} meegeleverd, als het package linux_lib-2.4.tgz (wellicht zijn er nieuwere versies beschikbaar). Geef de volgende opdracht om het package te installeren:
    pkg_add <path_naar_package>/linux_lib-2.4.tgz
    
    <path_naar_package> is de directory waar het package is opgeslagen. Je kunt het ook van het net afhalen:
    pkg_add ftp://ftp.freebsd.org/pub/FreeBSD/packages-stable/All/linux_lib-2.4.tgz
    
    of door het nog eens opstarten van /stand/sysinstall. Enter ``Configure'', ``Packages'' en de menu's te gebruiken. Je zal het volgende commando uit moeten voeren als je statisch gelinkte Linux binary's gebruikt:
    brandelf -t Linux <name_of_statically_linked_linux_binary>
    
  3. Installeer de Linux programma('s) die je wilt gebruiken. De programma('s) kunnen op zowel de UFS als de ext2fs bestandssystemen worden geïnstalleerd. Zie sectie Mounten van ext2fs bestandssystemen onder FreeBSD voor meer informatie over het gebruik van ext2fs bestandssystemen onder FreeBSD.

Ik heb de Linux versies Applixware 4.3 en Netscape 3.01 (beide ELF formaat) onder FreeBSD 2.2.2 met gebruik van deze methode met succes gedraaid (ja, ik weet dat er een gedegen FreeBSD versie van Netscape 4 is). De Linux versies acroread en StarOffice 3 en 4 werken ook goed onder FreeBSD. StarOffice 5 rekent op de native Linux treads en werkt thans niet onder FreeBSD. Lees de FreeBSD documentatie voor meer informatie over dit onderwerp.


Verder Terug Inhoud