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 heeft de mogelijkheid om de uitvoerbare bestanden van Linux te draaien, zowel in a.out als in het ELF formaat. Om dit te kunnen doen moet je de volgende drie stappen volgen:

  1. You 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 binaries niet altijd geladen (i.e. je bespaart geheugen.) Denk er aan om de volgende regel toe te voegen
    options         COMPAT_LINUX
    
    aan het FreeBSD kernel configuratie bestand als je een nieuwe FreeBSD kernel aanmaakt.
  2. Je moet de Linux shared libraries installeren als je Linux binaries dynamisch zijn gelinkt. De libraries worden bij FreeBSD 2.2.{2,5,6} meegeleverd, als het package linux_lib-2.4.tgz (wellicht zijn er nieuwere versies beschikbaar). Geef het volgende commando om het package te installeren:
    pkg_add <path_to_package>/linux_lib-2.4.tgz
    
    <path_to_package> is de directory waar het package is opgeslagen. Je kunt het ook van het net afhalen door:
    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 binaries 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 gebruiken 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