i386 Jail unter amd64

Kamikaze

Warrior of Sunlight
Staff member
Ich versuche schon seit längerem eine i386 Jail für Wine unter amd64 anzulegen. Aber was ich auch mache, es läuft nur statisch gelinktes in der Jail. Das heißt nicht mal /bin/sh läuft. Ich muss /libexec in die Jail mounten damit überhaupt etwas läuft, aber obwohl ich auch /usr/lib32 nach /lib und /usr/lib innerhalb der Jail mounte werden keine Libraries gefunden.

Irgendetwas mache ich total falsch.
 
Code:
# mkdir -p /compat/ia32
# cd /usr/src
# make TARGET=i385 DESTDIR=/compat/ia32 buildworld installworld
# mergemaster -D/compat/ia32

Das war's.
 
Wenn Du die i386-Jail manuell, mit der "i386-base" unter amd64 anlegst, müssten die libs doch schon dabei sein? Oder sehe ich das falsch?
 
Ja das stimmt schon, aber libexec ist irgendwie blind in Bezug auf sie. Ich bastel das Morgen mal neu (habe inzwischen alles gelöscht), dann poste ich nochmal genau was ich alles versucht habe und wie die Fehlermeldungen lauten.
 
Das mit der Bilndheit der libexec verstehe ich nicht ganz. Wenn man eine jail, manuell mit der base einrichtet, sind doch alle libexec-Verzeichnisse + Inhalt, in der jail schon dabei. Da muss nichts mehr gemountet werden.
 
Das libexec das dabei ist kann mit einem 64-Bit Kernel aber nichts anfangen. Deshalb muss da das ld-elf32.so.1 aus dem Basissystem reingemountet werden.
 
Jetzt ist alles klar. Danke.

Edit: Vielleicht müsste man für den amd64-Rechner, den Kernel, zusätzlich mit der CPU-Option "I686_CPU" bauen.
 
Last edited:
OK, ich hab's endlich hinbekommen, wie's scheint. Wenn ich tatsächlich ein laufendes Wine bekomme mache ich ein HowTo ins Wiki.
 
Danke, das wäre sehr nett. Auch ein Tutorial wie man ein funktionierendes 32Bit-Jail erstellt wäre schon eine große Hilfe, denn wirklich brauchbar funktionierend habe ich es noch nicht geschafft. Allerdings seit 6.1 auch nicht mehr wirklich versucht...
 
Bisher scheint es wirklich zu funktionieren, jedenfalls ist er ohne Unterbrechung am kompilieren und lauf elfdump kommen tatsächlich 32-Bit Binaries heraus. Eigentlich habe ich keine Ahung von Jails, es wäre nett, wenn du den Artikel dann um alles was so fehlt ergänzt. Vor allem Netzwerkkram.
 
Hallo

auch ich bin neu was Jails angeht, möchte mich jetzt aber damit beschäftigen. Ich möchte damit meinen Server updaten. Also geplant wäre einige Jails auf einem Testsystem zu erstellen und wenn alles läuft einfach auf den Server kopieren, das Hostsystem entsprechend anpassen und gut.
Nun hab ich aber ein Problem und zwar habe ich auf dem Server ein amd64 System, wo auch ne amd64 Version von FreeBSD drauf ist, nicht aber auf dem Testserver. Der arbeitet unter i386. Und genau da hab ich das Problem. Also amd64 Jails unter i386 Systemen zu erstellen soll ja gehen, aber geht das auch umgekehrt? Also unter i386 eine amd64 Jail erstellen???
Leider finde ich im Wiki nichts darüber und komme nicht so recht weiter. Bin für jeden Tip dankbar!

gruß
 
genau das steht in dem artikel auf grunix.de, wie man seine amd64-jails in eine i386-jail "umwandelt"
 
hmmm ich steh auf dem Schlauch... ich möchte meine amd64 Jails ja nicht in i386 umwandeln, sondern neue amd64 Jails erstellen, aber mit einem i386 host. :confused:
Sorry für die für euch sicher dumme Frage, aber ich hab wie gesagt noch nichts mit Jails gemacht.
 
grunix.de said:
Running a Jail which was created on a AMD64 FreeBSD on a 32Bit FreeBSD is not working.

es scheint also nicht zu gehen. 32 bit ist nicht zu 64 kompatibel bei den prozessoren, die 64 bit prozessoren sind aber zu den bisherigen 32ern kompatibel, daher kann man auch i386 auf nem amd64/emt64 laufen lassen
 
Back
Top