Linux 32 bit auf ARMv7 Prozessor
Verfasst: Sonntag 12. Januar 2020, 22:47
Hallo zusammen,
da ich zu diesem Thema keinerlei Informationen im Forum gefunden habe, trage ich hier meine Erfahrungen zusammen, vielleicht hilft es ja jemanden bei dem gleichen oder einem ähnlichen Problem.
Mein Ziel war es auf einem Samsung Chromebook XE303C12 JVerein zu nutzen. Dieses Chromebook wird von Samsung nicht mehr supported aber man kann ein 32 bit Arch Linux installieren (siehe: https://archlinuxarm.org/platforms/armv ... chromebook ). Die Herausforderung ist, dass das Chromebook auf einem ARMv7 Prozessor läuft und nicht wie zumeist auf einem Intel Prozessor. Ich vermute, dass man analog JVerein auch auf einem Raspberry in Betrieb nehmen kann.
Nachdem nun das 32 bit Arch Linux auf dem Chromebook läuft muss man die 2 folgenden 32 bit armv7 Pakete für Arch Linux herunterladen:
jre-openjdk (von mir genutzt v13.01.u9-1) sowie swt. Die 32 bit armv7 Pakete für Arch Linux findet man hier: https://archlinuxarm.org/packages (nach Architektur armv7h suchen).
jre-openjdk ist die JAVA run time, welche von Jameica/JVerein genutzt wird. Jameica selbst nutzt Eclipse, welches wiederum das Grafikpaket swt nutzt (das war in Arch Linux defaultmässig nicht installiert!!).
Installiert man nun jameica 32 bit Linux dann erhält man eine SWT-Fehlermeldung.
Es ist so, dass Jameica (welches Eclipse nutzt) für swt ein eigenes Modul mit Namen swt.jar nutzt. Dieses basiert aber auf einer Intel Architektur bzw. führt zu einer Fehlermeldung, dass diese Funktion nicht auf einem armv7-Prozessor genutzt werden kann. Die Lösung ist, das von Jameica/Eclipse zur Verfügung gestellte Modul swt.jar gegen ein 32 bit armv7 Modul gleichen Namens zu tauschen. Leider findet man im Arch Linux ARM Repository (siehe oben) kein solches (Eclipse)Modul. Mit einigem Suchen findet man aber für andere Linux Distributionen z.B. Fedora eine geeignete Datei z.B. hier: https://koji.stg.fedoraproject.org/koji ... ID=1083728 (bei Bedarf kann ich die Datei aber zusenden).
Nach dem Austausch von swt.jar startet JVerein wie erwartet.
Da wir eine remote MySQL Datenbank nutzen habe ich noch das Paket java-sqlite-jdbc installiert. Jetzt funktioniert auch der Zugriff auf die remote MySQL DB. Allerdings zur Zeit nur unverschlüsselt während wir normalerweise SSL-Verschlüsselung nutzen. Warum das nicht funktioniert muss ich noch untersuchen (Wireshark), die Meldung im JVerein log ist einfach lapidar: communication link failure.
Good luck!
Wolfgang
da ich zu diesem Thema keinerlei Informationen im Forum gefunden habe, trage ich hier meine Erfahrungen zusammen, vielleicht hilft es ja jemanden bei dem gleichen oder einem ähnlichen Problem.
Mein Ziel war es auf einem Samsung Chromebook XE303C12 JVerein zu nutzen. Dieses Chromebook wird von Samsung nicht mehr supported aber man kann ein 32 bit Arch Linux installieren (siehe: https://archlinuxarm.org/platforms/armv ... chromebook ). Die Herausforderung ist, dass das Chromebook auf einem ARMv7 Prozessor läuft und nicht wie zumeist auf einem Intel Prozessor. Ich vermute, dass man analog JVerein auch auf einem Raspberry in Betrieb nehmen kann.
Nachdem nun das 32 bit Arch Linux auf dem Chromebook läuft muss man die 2 folgenden 32 bit armv7 Pakete für Arch Linux herunterladen:
jre-openjdk (von mir genutzt v13.01.u9-1) sowie swt. Die 32 bit armv7 Pakete für Arch Linux findet man hier: https://archlinuxarm.org/packages (nach Architektur armv7h suchen).
jre-openjdk ist die JAVA run time, welche von Jameica/JVerein genutzt wird. Jameica selbst nutzt Eclipse, welches wiederum das Grafikpaket swt nutzt (das war in Arch Linux defaultmässig nicht installiert!!).
Installiert man nun jameica 32 bit Linux dann erhält man eine SWT-Fehlermeldung.
Es ist so, dass Jameica (welches Eclipse nutzt) für swt ein eigenes Modul mit Namen swt.jar nutzt. Dieses basiert aber auf einer Intel Architektur bzw. führt zu einer Fehlermeldung, dass diese Funktion nicht auf einem armv7-Prozessor genutzt werden kann. Die Lösung ist, das von Jameica/Eclipse zur Verfügung gestellte Modul swt.jar gegen ein 32 bit armv7 Modul gleichen Namens zu tauschen. Leider findet man im Arch Linux ARM Repository (siehe oben) kein solches (Eclipse)Modul. Mit einigem Suchen findet man aber für andere Linux Distributionen z.B. Fedora eine geeignete Datei z.B. hier: https://koji.stg.fedoraproject.org/koji ... ID=1083728 (bei Bedarf kann ich die Datei aber zusenden).
Nach dem Austausch von swt.jar startet JVerein wie erwartet.
Da wir eine remote MySQL Datenbank nutzen habe ich noch das Paket java-sqlite-jdbc installiert. Jetzt funktioniert auch der Zugriff auf die remote MySQL DB. Allerdings zur Zeit nur unverschlüsselt während wir normalerweise SSL-Verschlüsselung nutzen. Warum das nicht funktioniert muss ich noch untersuchen (Wireshark), die Meldung im JVerein log ist einfach lapidar: communication link failure.
Good luck!
Wolfgang