Java VM unter Linux (kein Standard-Linux/unbestimmte Version)

Spamkiller

Grünschnabel
Hallo Gemeinde,
ich bin dieser Tage auf ein Problem gestoßen. Als Vorgeschichte möchte ich eigentlich nur kurz erwähnen, dass es um eine Art E-Book-Reader geht, auf dem offensichtlich ein Linux läuft. Ich habe mittlerweile (durch ein paar Tricks) über Telnet eine Shell mit root-Rechten erhalten. Von daher ist ein Zugriff auf das Dateisystem etc. kein Problem mehr.

Zur Version der Linux-Variante: uname -a liefert
Code:
Linux Linux 2.6.21 #5 PREEMPT Wed Aug 3 16:59:11 CST 2011 armv5tel unknown

Meine Schlussfolgerung war: Wenn dort ein Linux läuft, stehen die Chancen doch gut, dass auch eine Java VM lauffähig wäre.

Jetzt zum Problem:
Wenn ich die Binaries von Oracle ausführe, gibt mir das System einen Fehler aus "Syntax error, '(' expected". Daraus habe ich geschlossen, dass das OS auf dem Gerät mit diesen kompilierten Binaries nichts anfangen kann.

Prinzipiell vermute ich, dass ich Binaries bräuchte, die speziell für diese Linux-Variante kompiliert wurden. Wie kann ich jedoch etwas auf einem System für ein anderes System kompilieren?

Die eigentliche Frage ist, wie könnte ich an Binaries der JVM kommen, die auf diesem einen Linux laufen?


Wer bis hier hin noch gelesen hat, möchte vielleicht auch wissen um welches Gerät es sich genau handelt: Ich habe hier ein Asus EEE Note - ein abgespeckter Tablet-PC mit netten Funktionen.

Ich bedanke mich schonmal für Antworten auf eine, doch eher unkonkrete Frage ;-)
 
Hardcore-Variante wäre, das OpenJDK (bzw. dessen JRE) auf dieses Gerät zu compilieren. Wenn du ein bisschen mehr Details über das Gerät heraus gibst / findest, geht es aber vielleicht auch einfacher. Kannst du überprüfen, ob yum, dpkg, rpm, apt oder andere Pakaging Tools vorhanden sind?

Der 2.6.21er Kernel ist schon recht alt, also wird die andere Software davon auch etwas älter sein. Wenn das Gerät zufällig dpkg hat, könntest du mal schaun ob das für ein N900 mit Maemo 5.0 kompilierte OpenJDK (genauer: icedtea6) installieren, Paket gibts unter http://maemo.org/packages/view/icedtea6/
Unter http://repository.maemo.org/ findest du noch Repositories für ältere Releases, vllt. ist da auch noch was interessantes dabei. Maemo 5.0 läuft übrigens mit nem 2.6.28er Kernel…

EDIT:
icedtea6 zero wäre eine Möglichkeit, siehe http://icedtea.classpath.org/wiki/Main_Page
außerdem gibt es noch JamVM, was angeblich deutlich schneller sein soll, aber auch nicht ganz aktuell: http://jamvm.sourceforge.net/

EDIT2:
Von der Zeit (der 2.6.21er Kernel ist Anfang 2007 erschienen) her fallen bei Maemo eher die Versionen 3 („OS2006“) und 4 („OS2008“) in den Zeitraum, in dem die Software deines Readers sein sollte.
 
Zuletzt bearbeitet:
Hi.

Also ein Syntax Error hat erstmal überhaupt nichts mit binärer Kompatibilität zu tun.

Ich weiß ja nicht was du runtergeladen hast, aber vermutlich versteht die Shell einfach das Installationsskript nicht.

Anscheinend verwendet dein Gerät einen ARM 5 Prozessor.

Dafür gibt's von Oracle eine Java SE Embedded Version - allerdings nur headless, also ohne Grafik.

Gruß
 
Hi Leute,
schonmal vielen Dank für die Antworten.
Zunächst werde ich mal versuchen an die Java SE Embedded Version zu kommen. Die gibt es tatsächlich passend zu dem Prozessor auf dem EEE Note.

Ich weiß ja nicht was du runtergeladen hast, aber vermutlich versteht die Shell einfach das Installationsskript nicht.

Ich habe prinzipell die normalen Binaries der JRE für Linux heruntergeladen.
  1. Erst habe ich das Installationsskript (*.bin) ausprobiert. Fehler!
  2. Dann habe ich die bin-Datei selbst entpackt und die Binärdatei der javavm gestartet. Fehler!
  3. Da RPM tatsächlich vorhanden ist, habe ich auch noch versucht das RPM Package zu installieren. Fehler: "Cannot read RPM Header"

Die Hardcore-Variante von genodeftest werde ich mal ausarbeiten, wenn die Embedded Version auch nicht funktioniert.

Übrigens finde ich es super, dass Ihr so schnell schon geantwortet habt.
Vielen Dank dafür!
 
Ich habe prinzipell die normalen Binaries der JRE für Linux heruntergeladen.
Welche? Was genau?
Erst habe ich das Installationsskript (*.bin) ausprobiert. Fehler!
Welcher? Der Syntaxfehler?
Dann habe ich die bin-Datei selbst entpackt und die Binärdatei der javavm gestartet. Fehler!
Welcher?
Da RPM tatsächlich vorhanden ist, habe ich auch noch versucht das RPM Package zu installieren. Fehler: "Cannot read RPM Header"
Welche RPM Version? Welches RPM?

Gruß
 
Das Thema ist durch!
Danke deepthroat ist die Sache gelöst. Tatsächlich handelt es sich beim EEE Note um einen ARM 5 Prozessor. Damit ist die Java 7 SE Embedded auf dem EEE Note ohne weiteres lauffähig.

Saubere Sache Leute! Danke für die Hilfe. Jetzt kann ich auf meinem Ebook-Reader selber proggen.

Ich gehe jetzt feiern! ;-)
 
Zurück