| Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung |
| software:virtualbox:kdev-installation:start [2020-09-23 17:14] – ditaranto | software:virtualbox:kdev-installation:start [2020-09-24 08:54] (aktuell) – ditaranto |
|---|
| |
| Für den Unterricht //Betriebssysteme// und //SWE// wird eine Linux VM benötigt. Unterrichtspezifische VMs des INF-Instituts liegen jeweils unter: | Für den Unterricht //Betriebssysteme// und //SWE// wird eine Linux VM benötigt. Unterrichtspezifische VMs des INF-Instituts liegen jeweils unter: |
| \\ [[\\fs004\inf\001_public-programme\VMs\VirtualBox\]] | \\ [[\\fs03\x\public-programme\VMs\VirtualBox]] |
| |
| \\ Die detaillierten VM-Einstellungen zum erstmaligen Erstellen der VM in VirtualBox sind in folgendem .PDF-File zu finden: | \\ Die detaillierten VM-Einstellungen zum erstmaligen Erstellen der VM in VirtualBox sind in folgendem .PDF-File zu finden: |
| * gdb (Debian package //[[http://packages.debian.org/de/wheezy/gdb|GDB]]//) | * gdb (Debian package //[[http://packages.debian.org/de/wheezy/gdb|GDB]]//) |
| * [[software:linux:buildroot:zoom:dev | Buildroot-Toolchain für Zoom-Board]] | * [[software:linux:buildroot:zoom:dev | Buildroot-Toolchain für Zoom-Board]] |
| * Eclipse C/C++ 4.14 mit Subclipse-Plugin und JavaHL | * Eclipse C/C++ 4.14 |
| * Eclipse Java SDK 4.6 mit Together 12.9.0 Plugin | * Eclipse Java SDK 4.6 mit Together 12.9.0 Plugin |
| * xapt | * xapt |
| * cmake | * cmake |
| * git | * git |
| * subversion | |
| * rabbitvcs-nautilus | * rabbitvcs-nautilus |
| * ros | * ros |
| - //Window// → //Preferences// → //C/C++// → //Editor// | - //Window// → //Preferences// → //C/C++// → //Editor// |
| - Unter "Appearance color options" den Eintrag "Source hover background" markieren, den Haken bei "System Default" entfernen und die Farbe für auf gelb ändern | - Unter "Appearance color options" den Eintrag "Source hover background" markieren, den Haken bei "System Default" entfernen und die Farbe für auf gelb ändern |
| - Mit "Apply and close" das Einstellungsfenster verlassen. | - Mit "Apply and close" das Einstellungsfenster verlassen. |
| | |
| Subclipse gemäss dieser Anleitung installieren: \\ [[https://github.com/subclipse/subclipse/wiki|Subclipse Installation]] | |
| \\ Danach: \\ //Help// → //Install New Software...// → Im //Work with://-Dropdownmenü //The Eclipse Project Updates - <nowiki>http://download.eclipse.org/eclipse/updates/<meineEclipseVersion></nowiki> // auswählen → //Eclipse Java Development Tools// anklicken → //Finish// | |
| | |
| Subclipse benötigt eine aktuelle [[http://subclipse.tigris.org/wiki/JavaHL|JavaHL-Bibliothek]], um korrekt funktionieren zu können. Folgend die Installationsanleitung: | |
| \\ Installation von JavaHL: | |
| <code="bash"> | |
| sudo apt-get install libsvn-java | |
| </code> | |
| Pfad der Installation muss Eclipse nun mitgeteilt werden. Hierfür als Erstes den Pfad herausfinden, in dem sich die Datei "libsvnjavahl-1.so" befindet: | |
| <code ="bash"> | |
| sudo find / -name libsvnjavahl-1.so | |
| </code> | |
| Das sollte diesen oder ähnlichen Output generieren: | |
| <code="bash"> | |
| /usr/lib/x86_64-linux-gnu/jni/libsvnjavahl-1.so | |
| </code> | |
| Der benötigte Pfad ist in diesem Fall also folgender: | |
| <code="bash"> | |
| /usr/lib/x86_64-linux-gnu/jni/ | |
| </code> | |
| Dieser Pfad muss nun in die "eclipse.ini"-Datei (im Eclipse-Installationsverzeichnis) mittels folgender Zeile am Ende der Datei eingefügt werden, damit Eclipse diesen Pfad für Subclipse verwenden kann: | |
| <code="bash"> | |
| -Djava.library.path=/usr/lib/x86_64-linux-gnu/jni/ | |
| </code> | |
| Datei speichern und Editor verlassen. | |
| | |
| Beispiel-Screenshot: \\ | |
| {{:software:virtualbox:kdev-installation:eclipse.ini.png?200 | Eclipse.ini}} | |
| <WRAP clear></WRAP> | |
| \\ | |
| \\ Jetzt sollte das Subclipse-Plugin korrekt funktionieren (Das zeigt sich erst beim Erstellen von Projekten oder dem Navigieren durch ein ausgechecktes SVN-Repository beim Import). | |
| \\ | |
| \\ Sollte es Probleme mit der Authentifizierung gegen das Active Directory geben, kann in Eclipse anstatt //JavaHL// das //SVNKit// ausgewählt werden, welches jedoch weniger performant ist, und zwar in der Option //SVN interface// unter: | |
| \\ //Window// → //Preferences// → //Team// → //SVN// | |
| |
| == Eclipse Java == | == Eclipse Java == |
| Categories=Utility;Application;Development; | Categories=Utility;Application;Development; |
| </code> | </code> |
| \\ | |
| === Shared Folder(s) === | === Shared Folder(s) === |
| VirtualBox erlaubt es, beliebige lokale Verzeichnisse mit einer VM zu "sharen". Dabei nutzen wir in unserem Fall folgende zwei Varianten: | VirtualBox erlaubt es, beliebige lokale Host-Verzeichnisse und/oder auf dem Host lokal eingebundene Netzlaufwerke mit einer VM zu "sharen". Dabei nutzen wir in unserem Fall folgende zwei Varianten: |
| * Einbindung direkt via SMB (UNC-Pfad) | * Einbindung von Netzlaufwerken direkt aus der VM via SMB (UNC-Pfad) → OST-User Passworteingabe nötig |
| * Einbindung via VirtualBox ''Gemeinsame Ordner''-Funktion | * Einbindung eines lokalen Verzeichnis via VirtualBox' ''Gemeinsame Ordner''-Funktion → Keine Passworteingabe nötig |
| In unserem Fall werden wir drei Shared Folder konfigurieren: Das persönliche OST-Netzlaufwerk ''M:\'', das OST-Netzlaufwerk ''X:\'', sowie ein beliebiges gewünschtes lokales Verzeichnis, in unserem Fall ''share'', bzw. ''meinVerzeichnis'' genannt. | In unserem Fall werden wir drei Shared Folder konfigurieren: Das persönliche OST-Netzlaufwerk ''M:\'', das OST-Netzlaufwerk ''X:\'', sowie ein beliebiges gewünschtes lokales Verzeichnis, in unserem Fall ''share'', bzw. ''meinVerzeichnis'' genannt. |
| Diese Shared Folder(s) werden in unserem Fall nicht automatisch beim Systemstart der Ubuntu VM, sondern via Script bei Bedarf manuell eingebunden. | Diese Shared Folder(s) werden in unserem Fall nicht automatisch beim Systemstart der Ubuntu VM, sondern via Script bei Bedarf manuell eingebunden. |
| \\ Rechtsklick auf die VM → //Ändern// → //Gemeinsame Ordner// \\ \\ als Verzeichnis(se) der virtuellen Maschine einzutragen, in unserem Fall sinnvollerweise zum Beispiel mit den Namen ''m'', ''x'' und ''share''. | \\ Rechtsklick auf die VM → //Ändern// → //Gemeinsame Ordner// \\ \\ als Verzeichnis(se) der virtuellen Maschine einzutragen, in unserem Fall sinnvollerweise zum Beispiel mit den Namen ''m'', ''x'' und ''share''. |
| |
| <box 97% red | Achtung><color #ed1c24>Die gewählte Bezeichnung im Eingabefeld ''Order-Name:'' muss pro Shared Folder identisch sein mit der Bezeichnung im Mapping-Script! | [{{:software:virtualbox:kdev-installation:sharedfolder01.jpg?200|Gemeinsame Ordner}}] |
| | \\ [{{:software:virtualbox:kdev-installation:sharedfolder04.jpg?200|Beliebiges Verzeichnis}}] |
| | \\ |
| | |
| | <box 97% red | Wichtiger Hinweis><color #ed1c24>Die gewählte Bezeichnung im Eingabefeld ''Order-Name:'' muss pro Shared Folder identisch sein mit der Bezeichnung im Mapping-Script! |
| Beispiel: Wenn wie in unserem Fall im Eingabefeld ''Ordner-Name:'' der Wert ''share'' eingetragen wird, muss im Mapping-Script (in unserem Fall das bereits vorhin erstellte Script ''mount-share.sh'') ebenfalls die Bezeichnung ''share'' verwendet werden (in den folgenden beiden Screenshots rot eingerahmt):</color> | Beispiel: Wenn wie in unserem Fall im Eingabefeld ''Ordner-Name:'' der Wert ''share'' eingetragen wird, muss im Mapping-Script (in unserem Fall das bereits vorhin erstellte Script ''mount-share.sh'') ebenfalls die Bezeichnung ''share'' verwendet werden (in den folgenden beiden Screenshots rot eingerahmt):</color> |
| |
| [{{:software:virtualbox:kdev-installation:sharedfolder07.jpg?200|share}}] [{{:software:virtualbox:kdev-installation:sharedfolder05.jpg?200|share}}] | [{{:software:virtualbox:kdev-installation:sharedfolder07.jpg?200|share}}] [{{:software:virtualbox:kdev-installation:sharedfolder05.jpg?200|share}}] |
| |
| </box> | </box> |
| |
| [{{:software:virtualbox:kdev-installation:sharedfolder01.jpg?200|Gemeinsame Ordner}}] | |
| \\ [{{:software:virtualbox:kdev-installation:sharedfolder04.jpg?200|Beliebiges Verzeichnis}}] | |
| \\ | \\ |
| Mit ''OK'' bestätigen, danach VM starten. | Mit ''OK'' bestätigen, danach VM starten. |
| \\ Nun kann durch Ausführen der Scripte der jeweilige Shared Folder eingebunden werden. | \\ \\ Nun kann durch Ausführen der entsprechenden Scripte der jeweilige gewünschte Shared Folder in die Ubuntu VM gemountet werden. |
| \\ | \\ |
| \\ | \\ |
| |
| ==== Troubleshooting ==== | ==== Quelle(n): ==== |
| === Kann Paket-Repository nicht hinzufügen === | [[https://forums.virtualbox.org/viewtopic.php?t=15868| Shared Folders: forums.virtualbox.org]] |
| Sollte das Hinzufügen eines Repositorys fehlschlagen, kann das daran liegen, dass am NTB die meisten Ports geblockt werden. Lösung: <code="bash"> | |
| sudo gedit /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py | |
| </code> | |
| Das Vorkommnis von //keyserver.ubuntu.com// sollte dann durch //%%hkp://keyserver.ubuntu.com:80%%// ersetzt werden. Damit wird das Hinzufügen klappen. | |
| | |
| === Freeze nach dem Starten von Eclipse mit SVN-/Java HL-Plugin === | |
| Sollte nach dem Starten von Eclipse mit installiertem SVN-Plugin scheinbar ein Freeze auftreten, so sollte man eine Weile warten (kann bis zu ein paar Minuten dauern), ob folgende Meldung auftritt: \\ | |
| {{:software:virtualbox:kdev-installation:eclipsesvnwarning.jpg?200|}} \\ | |
| Wenn ja, mit ''OK'' bestätigen, dann sollte der Fehler automatisch behoben werden. | |
| \\ | |
| \\ | |
| **Quelle(n):** \\ | |
| [[https://forums.virtualbox.org/viewtopic.php?t=15868| Shared Folders: forums.virtualbox.org]] \\ | |