sonnenblen.de - Das unabhängige Sun User Forum
Betriebssysteme => Solaris/x86 und OpenSolaris => Thema gestartet von: d31m0 am 12. August 2008, 14:54:16
-
Erst einmal ein HALLO an euch!!
Ich war die letzten Jahre mehr in der BSD-Welt zu gange und hab meinen Weg zu Solaris im Moment (x86) gerfunden.
Bis jetzt bin ich absolut begeistert von der Performance und Bedienung. Allerdings hab ich auch ein kleines Problem bei
dem ihr mir hoffentlich helfen könnt. Ich habe lxrun kompilliert und möchte damit Teamspeak2 für linux benutzen.
Als linux_root benutze ich die standard linux_base von FreeBSD und das lxrun Binary scheint auch zu laufen.
Wenn ich jedoch ein Linux-Programm starte, bekomme ich folgende Meldung:
delmo@amok # ./lxrun /usr/local/linux/bin/sh
/home/delmo/opt/lxrun/./lxrun: warning: *** UNIMPLEMENTED syscall modify_ldt called ***
cannot set up thread-local storage: cannot set up LDT for thread-local storage
delmo@amok #
Das ist ein Problem wie ich es auch schon bei früheren BSD-Versionen hatte. Dort konnte man dann die Option
USER_LDT in die Kernel kompillieren bzw. das Modul laden.
Meine Frage an euch ist: Wie bekomme ich das mit Solaris hin? Ich habe recht lange im System und im Internet gesucht
aber leider absolut nichts gefunden. :-\
Bin aber auch anderen Möglichkeiten offen Teamspeak zum laufen zu bekommen.
Kann mir jemand helfen?
Gruss d31m0
Edit: Sorry war wohl nicht ganz das richtige Brett. X) Ich gelobe Besserung! ;D ;D
-
/home/delmo/opt/lxrun/./lxrun: warning: *** UNIMPLEMENTED syscall modify_ldt called ***
cannot set up thread-local storage: cannot set up LDT for thread-local storage
Hallo.
Die obige Meldung bedeutet, dass das Programm die LDT modifiziert (warum auch immer), lxrun dies jedoch nicht unterstützt.
Ggf. handelt es sich um ein Windows-Programm, das lediglich für Linux neu gelinkt (aber nicht compiliert) wurde...
Martin
-
Linux realisiert TLS indem das FS Segment auf den Thread lokalen Speicherbereich zeigt.
Ich weiss das unter SPARC schon lange ein Register dafür reserviert ist. Unter Intel Solaris müsste das eigentlich auch ein FS Segementregister sein. Warum die Anwendung versucht selbst zu setzen, hat wohl mit der Krankheit der Linux Derivate zu tun. Gegen welche pthread ist das compiliert/gelinkt?
-
Gegen welche pthread ist das compiliert/gelinkt?
Wahrscheinlich hat d31m0 nur das Binary und nicht selbst compiliert; ansonsten würde er wohl nicht "lxrun" einsetzen.
-
Hallo
Im Augenblick ist lxrun mit dem gcc kompilliert weil ich den Sun cc noch nicht habe.
Der Test mit /usr/local/linux/bin/sh ist quasi erstmal eine Vorstufe. Letztendlich
geht es mir um Teamspeak2 welches leider closed src ist. Im lxrun Paket war auch
ein pre-kompilliertes lxrun. Ich glaube auf SunOS 5.7 kompilliert. Also so richtig aktuell
scheint lxrun wohl nicht zu sein. Welche threads genutzt bzw. umgeleitet werden
entzieht sich leider noch meiner Kenntnis. Aber soweit ich weiss hat sich der linuxlator
unter anderen OS auch seit fast 10 Jahren nicht geändert. Es scheint für Unix-sprösslinge
nicht besonders schwierig zu sein den Linux Kern zu emulieren. Leider übersteigt lxrun
meine c Kenntnisse bei weitem.
Irgendwo hab ich gelesen das Project Janus wohl auch einen Linuxlator in der mache hat
aber ich habe absolut nichts gefunden. Wenn ich lxrun mit debugging compile ist die Meldung
leider genau die gleiche.
Edit:
@mdjr : Stimmt es ist wohl wirklich lxrun das Probleme hat. Die kernel jedenfalls unterstützt LDT modding.
aber wenn man mit linux/bin/sh schon solche Probs hat dann will ich nicht wissen was lxrun zu TS2 sagt. :)
Ich mach heute mal eine testreihe mit verschiedenen Anwendungen. In der Doku bitten die lxrun Maintainer um
infos über nicht supportete system calls. Falls das Projekt überhaupt noch lebt, werde ich mal eine Mail schreiben.
Erstmal vielen Dank soweit :) wenn ich mehr weiss poste ich es.
Gruss d31m0
-
Bin aber auch anderen Möglichkeiten offen Teamspeak zum laufen zu bekommen.
Mein Vorschlag wäre mittels Virtualisierung ein "echtes" Linux zu nutzen. Angeblich laufen z.B. Xen oder VirtualBox auch auf Solaris als Host.
Aber wenn Du schon Solaris 10 einsetzt, wie wäre es mit einer Branded Zone (http://en.wikipedia.org/wiki/Solaris_Containers#Branded_zones)?
"Solaris Containers for Linux Applications" müsste doch für Deine Zwecke genau das richtige sein?
Ich selbst habe mit Containern noch keine praktischen Erfahrungen sammeln können, aber ich denke mal hier im Forum findet sich bestimmt jemand der was dazu sagen kann.
-
Hi ich bin was das angeht auch noch auf völligem Neuland.
IIch habe aber eben festgestellt das Solaris 10 tatsächlich alles mitgeliefert hat was man braucht.
In /kernel und /usr/kernel befinden sich diverse Module allem Anschein nach vom Projekt Janus.
Es scheint wirklich alles da zu sein. Das Problem ist nur wie schmeisst man es an?
In diversern Websites steht das unter Sol 10 nahezu alles läuft mit fast nativem Speed.
Dummerweise finde ich nicht eine noch so kleine Howto. Hat das schon mal jemand benutzt?
Ich hab einfach mal alle Module geladen und versucht eine Linux-App zu starten. Er hat nicht gemeckert von wegen
invalid elf type oder so aber laufen tuts auch nicht. :( Die meissten Anwendungen haben gemeckert
das ld-linux nicht da ist. Dazu gibt es auch ein Modul: /kernel/strmod/ldlinux.
Irgendwas fehlt aber noch und es gibt Tonnen an Sites die erzählen wie toll das funzt aber nicht eine die erklärt wies geht. >:(
Bin ich so doof das ich das Offensichtliche nicht sehe?
Edit:
Habs gefunden :)
http://docs.sun.com/app/docs/doc/819-2450/gcwwm?a=view
Es ist zwar nicht mal eben aber so wird es wohl funzen.
Das werde ich aber warscheinlich erst in Angriff nehmen wenn mein Solaris euf einer neuen Platte läuft.
Vielen Dank nochmal
Gruss d31m0
-
Hallo
Wollte noch mal erwähnen das ich jetzt eine lx zone laufen hab. :) :)
Das ist aber eher für Server Geschichten interessant. Es mutet etwas
merkwürdig an einen vnc-server zu starten um TS2 zu machen.
Aber es LÄUFT!!!!.
Gruss d31m0
-
Hallo
Wollte noch mal erwähnen das ich jetzt eine lx zone laufen hab. :) :)
Das ist aber eher für Server Geschichten interessant. Es mutet etwas
merkwürdig an einen vnc-server zu starten um TS2 zu machen.
Aber es LÄUFT!!!!.
Gruss d31m0
Hättest du Lust das zu Erklären? Ich bekomme derzeit mit Solaris 10 nur Solariszonen ans Rennen jedoch keine mit CentOS was ich z.B. gerne für OpenXchange und anderen Kram hätte.
-
Hi
Das alte Solaris 10 hatte zwar alles dabei. Es war allerdings nicht offiziell supportet
und ein Kampf auf Leben und Tod. :) Wenn das auf easy gehen soll, empfehle ich
das ganz neue Solaris10. Da ist jetzt das Zone-System von Opensolaris drin.
Mal abgesehen davon das jetzt Solaris von ZFS-Root läuft. :) :)
Ich nehme an das du die Doku schon auf Sun.com gefunden hast. Nur das die bis
jetzt nicht funktioniert hat. Mit dem neuen 10'er gehts! Ich hab den Link
im Augenblick nicht am Start aber wenn du den nicht findest, such ich
den raus.
Such am besten nach "Solaris 10 lx brandet zone" dann findest du das meine ich.
gruss d31m0
-
Das ist mein Problem ich bekomme eine lx Zone nicht verifiziert noch gespeichert. Irgend etwas fehlt im System
Die DVD heisst sol-10-u6-ga1-x86-dvd direkt von SUN gezogen
Edit: es läuft jetzt mir haben noch zwei Pakete gefehlt.