BSD-Wiki

Mitschrift einer FreeBSD-Installation

Benutzer-Werkzeuge

Webseiten-Werkzeuge


linux_kompatibilitaet

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

linux_kompatibilitaet [2017/10/02 13:40]
linux_kompatibilitaet [2017/10/02 13:40] (aktuell)
Zeile 1: Zeile 1:
 +====== Allgemein ======
 +Unter **FreeBSD** ist es möglich Software auszuführen die für Linux-Systeme kompiliert wurde. Somit können speziell kommerzielle Produkte, welche nur als Binärpaket angeboten werden unter **FreeBSD** installiert werden, obgleich es keine eingene Version für FreeBSD gibt. Interessant ist dies z.B. für Programme wie Skype, Flash, Quake3 oder auch größere Projekte wie z.B. SAP.
 +
 +Um dies zu ermöglichen muss eine Kompatibilitässchicht eingefügt werden, welche zum Einen aus einem Kernelmodul und zum Anderen aus den notwendigen Bibliotheken besteht.
 +
 +====== Voreinstellungen ======
 +Im Folgenden soll **emulators/​linux_base-f10** verwendet werden. Dieses Paket beinhaltet die notwendigen Bibliotheken um eine Binärkompatibilität zu **Fedora Core 10** herzustellen. Daher beziehen sich alle verwendeten Angaben auf diesen Port. Wird eine andere Kompatibilität gewählt müssen die Werte ggf. angepasst werden.
 +
 +===== Das Kernelmodul laden =====
 +Alle Anpassungen erfolgen als Benutzer root.
 +
 +Zunächst wird das Kernelmodul geladen. dies geschieht über folgenden Aufruf.
 +<​code>​
 +# kldload linux
 +</​code>​
 +Mit dem Befehl //kldstst// können die derzeit geladenen Module angezeigt werden.
 +
 +Damit das Kernelmodul bei jedem Systemstart geladen wird muss die **/​etc/​rc.conf** um folgende Zeile erweitert werden:
 +<​code>​
 +linux_enable="​YES"​
 +</​code>​
 +
 +===== Weitere Vorbereitungen =====
 +Um sicher zu stellen, dass alle Pakete gegen die Bibliotheken von **Fedora Core 10** gebaut werden wird die Datei **/​etc/​make.conf** wie folgt erweitert:
 +<​code>​
 +OVERRIDE_LINUX_BASE_PORT=f10
 +OVERRIDE_LINUX_NONBASE_PORTS=f10
 +</​code>​
 +
 +===== Bibliotheken installieren =====
 +Die Bibliotheken werden wie ein normaler Port installiert.
 +<​code>​
 +# cd /​usr/​ports/​emulators/​linux_base-f10
 +# make install clean
 +</​code>​
 +
 +===== Abschliessende Anpassungen =====
 +Abschliessend wird noch das **procfs** für die Linux-Bibliotheken eingehängt.
 +Hierzu wird die Datei **/​etc/​fstab** wie folgt ergänzt:
 +<​code>​
 +linproc ​  /​usr/​compat/​linux/​proc ​   linprocfs ​   rw   ​0 ​   0
 +</​code>​
 +
 +Nun kann das **procfs** mit folgendem Aufruf, als Benutzer root, eingehängt werden.
 +<​code>​
 +# mount /​usr/​compat/​linux/​proc
 +</​code>​
 +
 +Nun sollte die Linux-Kompartibilität verfügbar sein und es können entsprechende Ports installiert werden. Bei Problemen wird empfohlen das FreeBSD-Handbuch zu konsultieren.
 +
 +Teilweise wird zusätzlich das Starten der Dienste **abi** und **sysctl** in **/​etc/​rc.d** empfohlen. Sollten diese benötigt werden sind diese verständlicherweise zu starten.
  
linux_kompatibilitaet.txt · Zuletzt geändert: 2017/10/02 13:40 (Externe Bearbeitung)

Impressum